ks-tools/src/ks-conf

921 lines
35 KiB
Plaintext
Raw Normal View History

2022-01-02 15:30:48 +01:00
#!/bin/bash
#######################################################################
# ks-conf (ks-tools) - Tool for create and modify configuration files #
# Date: 02-11-2023 #
# Author: q3aql #
# Contact: q3aql@duck.com #
#######################################################################
2024-01-04 15:56:11 +01:00
VERSION="8.5"
M_DATE="021123"
2022-01-02 15:30:48 +01:00
# Check cygwin alias (for Windows)
if [ -f "/usr/bin/cygwin-alias.sh" ] ; then
shopt -s expand_aliases
source "/usr/bin/cygwin-alias.sh"
fi
# Check and create configuration file for ks-mp4
function check_create_conf_ks_mp4() {
configFolder=${HOME}/.ks-tools
configFile=${configFolder}/ks-mp4
rel_size="1280x534"
vcodec="libx264"
2023-03-19 12:32:55 +01:00
b_vcodec="2200k"
v_preset="slow"
2022-01-02 15:30:48 +01:00
acodec="aac"
2023-03-19 12:32:55 +01:00
b_acodec="192k"
2022-01-02 15:30:48 +01:00
default_lang_audio="spa"
default_lang_subt="spa"
v_ext="mp4"
mkdir -p ${configFolder}
if [ -f ${configFile} ] ; then
exist_rel_size=$(cat ${configFile} | grep "rel_size=")
exist_vcodec=$(cat ${configFile} | grep "vcodec=" | cut -c2 | cut -d "_" -f 1)
exist_b_vcodec=$(cat ${configFile} | grep "b_vcodec=")
exist_v_preset=$(cat ${configFile} | grep "v_preset=")
exist_acodec=$(cat ${configFile} | grep "acodec" | cut -c2 | cut -d "_" -f 1)
exist_b_acodec=$(cat ${configFile} | grep "b_acodec=")
exist_default_lang_audio=$(cat ${configFile} | grep "default_lang_audio=")
exist_default_lang_subt=$(cat ${configFile} | grep "default_lang_subt=")
exist_v_ext=$(cat ${configFile} | grep "v_ext=")
if [ -z ${exist_rel_size} ] ; then
echo "rel_size=${rel_size}" >> ${configFile}
fi
if [ -z ${exist_vcodec} ] ; then
echo "vcodec=${vcodec}" >> ${configFile}
fi
if [ -z ${exist_b_vcodec} ] ; then
echo "b_vcodec=${b_vcodec}" >> ${configFile}
fi
if [ -z ${exist_v_preset} ] ; then
echo "v_preset=${v_preset}" >> ${configFile}
fi
if [ -z ${exist_acodec} ] ; then
echo "acodec=${acodec}" >> ${configFile}
fi
if [ -z ${exist_b_acodec} ] ; then
echo "b_acodec=${b_acodec}" >> ${configFile}
fi
if [ -z ${exist_default_lang_audio} ] ; then
echo "default_lang_audio=${default_lang_audio}" >> ${configFile}
fi
if [ -z ${exist_default_lang_subt} ] ; then
echo "default_lang_subt=${default_lang_subt}" >> ${configFile}
fi
if [ -z ${exist_v_ext} ] ; then
echo "v_ext=${v_ext}" >> ${configFile}
fi
source ${configFile}
else
echo "#!/bin/bash" > ${configFile}
echo "" >> ${configFile}
echo "rel_size=${rel_size}" >> ${configFile}
echo "vcodec=${vcodec}" >> ${configFile}
echo "b_vcodec=${b_vcodec}" >> ${configFile}
echo "v_preset=${v_preset}" >> ${configFile}
echo "acodec=${acodec}" >> ${configFile}
echo "b_acodec=${b_acodec}" >> ${configFile}
echo "default_lang_audio=${default_lang_audio}" >> ${configFile}
echo "default_lang_subt=${default_lang_subt}" >> ${configFile}
echo "v_ext=${v_ext}" >> ${configFile}
source ${configFile}
fi
}
# Check and create configuration file for ks-mp4s
function check_create_conf_ks_mp4s() {
configFolder=${HOME}/.ks-tools
configFile=${configFolder}/ks-mp4s
rel_size="720x480"
vcodec="libx264"
b_vcodec="950k"
v_preset="slow"
2022-01-02 15:30:48 +01:00
acodec="aac"
b_acodec="128k"
default_lang_audio="spa"
default_lang_subt="spa"
v_ext="mp4"
mkdir -p ${configFolder}
if [ -f ${configFile} ] ; then
exist_rel_size=$(cat ${configFile} | grep "rel_size=")
exist_vcodec=$(cat ${configFile} | grep "vcodec=" | cut -c2 | cut -d "_" -f 1)
exist_b_vcodec=$(cat ${configFile} | grep "b_vcodec=")
exist_v_preset=$(cat ${configFile} | grep "v_preset=")
exist_acodec=$(cat ${configFile} | grep "acodec" | cut -c2 | cut -d "_" -f 1)
exist_b_acodec=$(cat ${configFile} | grep "b_acodec=")
exist_default_lang_audio=$(cat ${configFile} | grep "default_lang_audio=")
exist_default_lang_subt=$(cat ${configFile} | grep "default_lang_subt=")
exist_v_ext=$(cat ${configFile} | grep "v_ext=")
if [ -z ${exist_rel_size} ] ; then
echo "rel_size=${rel_size}" >> ${configFile}
fi
if [ -z ${exist_vcodec} ] ; then
echo "vcodec=${vcodec}" >> ${configFile}
fi
if [ -z ${exist_b_vcodec} ] ; then
echo "b_vcodec=${b_vcodec}" >> ${configFile}
fi
if [ -z ${exist_v_preset} ] ; then
echo "v_preset=${v_preset}" >> ${configFile}
fi
if [ -z ${exist_acodec} ] ; then
echo "acodec=${acodec}" >> ${configFile}
fi
if [ -z ${exist_b_acodec} ] ; then
echo "b_acodec=${b_acodec}" >> ${configFile}
fi
if [ -z ${exist_default_lang_audio} ] ; then
echo "default_lang_audio=${default_lang_audio}" >> ${configFile}
fi
if [ -z ${exist_default_lang_subt} ] ; then
echo "default_lang_subt=${default_lang_subt}" >> ${configFile}
fi
if [ -z ${exist_v_ext} ] ; then
echo "v_ext=${v_ext}" >> ${configFile}
fi
source ${configFile}
else
echo "#!/bin/bash" > ${configFile}
echo "" >> ${configFile}
echo "rel_size=${rel_size}" >> ${configFile}
echo "vcodec=${vcodec}" >> ${configFile}
echo "b_vcodec=${b_vcodec}" >> ${configFile}
echo "v_preset=${v_preset}" >> ${configFile}
echo "acodec=${acodec}" >> ${configFile}
echo "b_acodec=${b_acodec}" >> ${configFile}
echo "default_lang_audio=${default_lang_audio}" >> ${configFile}
echo "default_lang_subt=${default_lang_subt}" >> ${configFile}
echo "v_ext=${v_ext}" >> ${configFile}
source ${configFile}
fi
}
# Check and create configuration file for ks-mp4k
function check_create_conf_ks_mp4k() {
configFolder=${HOME}/.ks-tools
configFile=${configFolder}/ks-mp4k
rel_size="3840x2160"
vcodec="libx264"
b_vcodec="6000k"
v_preset="medium"
acodec="aac"
b_acodec="320k"
default_lang_audio="spa"
default_lang_subt="spa"
v_ext="mp4"
mkdir -p ${configFolder}
if [ -f ${configFile} ] ; then
exist_rel_size=$(cat ${configFile} | grep "rel_size=")
exist_vcodec=$(cat ${configFile} | grep "vcodec=" | cut -c2 | cut -d "_" -f 1)
exist_b_vcodec=$(cat ${configFile} | grep "b_vcodec=")
exist_v_preset=$(cat ${configFile} | grep "v_preset=")
exist_acodec=$(cat ${configFile} | grep "acodec" | cut -c2 | cut -d "_" -f 1)
exist_b_acodec=$(cat ${configFile} | grep "b_acodec=")
exist_default_lang_audio=$(cat ${configFile} | grep "default_lang_audio=")
exist_default_lang_subt=$(cat ${configFile} | grep "default_lang_subt=")
exist_v_ext=$(cat ${configFile} | grep "v_ext=")
if [ -z ${exist_rel_size} ] ; then
echo "rel_size=${rel_size}" >> ${configFile}
fi
if [ -z ${exist_vcodec} ] ; then
echo "vcodec=${vcodec}" >> ${configFile}
fi
if [ -z ${exist_b_vcodec} ] ; then
echo "b_vcodec=${b_vcodec}" >> ${configFile}
fi
if [ -z ${exist_v_preset} ] ; then
echo "v_preset=${v_preset}" >> ${configFile}
fi
if [ -z ${exist_acodec} ] ; then
echo "acodec=${acodec}" >> ${configFile}
fi
if [ -z ${exist_b_acodec} ] ; then
echo "b_acodec=${b_acodec}" >> ${configFile}
fi
if [ -z ${exist_default_lang_audio} ] ; then
echo "default_lang_audio=${default_lang_audio}" >> ${configFile}
fi
if [ -z ${exist_default_lang_subt} ] ; then
echo "default_lang_subt=${default_lang_subt}" >> ${configFile}
fi
if [ -z ${exist_v_ext} ] ; then
echo "v_ext=${v_ext}" >> ${configFile}
fi
source ${configFile}
else
echo "#!/bin/bash" > ${configFile}
echo "" >> ${configFile}
echo "rel_size=${rel_size}" >> ${configFile}
echo "vcodec=${vcodec}" >> ${configFile}
echo "b_vcodec=${b_vcodec}" >> ${configFile}
echo "v_preset=${v_preset}" >> ${configFile}
echo "acodec=${acodec}" >> ${configFile}
echo "b_acodec=${b_acodec}" >> ${configFile}
echo "default_lang_audio=${default_lang_audio}" >> ${configFile}
echo "default_lang_subt=${default_lang_subt}" >> ${configFile}
echo "v_ext=${v_ext}" >> ${configFile}
source ${configFile}
fi
}
# Check and create configuration file for ks-avi
function check_create_conf_ks_avi() {
configFolder=${HOME}/.ks-tools
configFile=${configFolder}/ks-avi
rel_size="720x480"
vcodec="libxvid"
b_vcodec="3000k"
v_preset="slow"
acodec="libmp3lame"
b_acodec="192k"
default_lang_audio="spa"
default_lang_subt="spa"
v_ext="avi"
mkdir -p ${configFolder}
if [ -f ${configFile} ] ; then
exist_rel_size=$(cat ${configFile} | grep "rel_size=")
exist_vcodec=$(cat ${configFile} | grep "vcodec=" | cut -c2 | cut -d "_" -f 1)
exist_b_vcodec=$(cat ${configFile} | grep "b_vcodec=")
exist_v_preset=$(cat ${configFile} | grep "v_preset=")
exist_acodec=$(cat ${configFile} | grep "acodec" | cut -c2 | cut -d "_" -f 1)
exist_b_acodec=$(cat ${configFile} | grep "b_acodec=")
exist_default_lang_audio=$(cat ${configFile} | grep "default_lang_audio=")
exist_default_lang_subt=$(cat ${configFile} | grep "default_lang_subt=")
exist_v_ext=$(cat ${configFile} | grep "v_ext=")
if [ -z ${exist_rel_size} ] ; then
echo "rel_size=${rel_size}" >> ${configFile}
fi
if [ -z ${exist_vcodec} ] ; then
echo "vcodec=${vcodec}" >> ${configFile}
fi
if [ -z ${exist_b_vcodec} ] ; then
echo "b_vcodec=${b_vcodec}" >> ${configFile}
fi
if [ -z ${exist_v_preset} ] ; then
echo "v_preset=${v_preset}" >> ${configFile}
fi
if [ -z ${exist_acodec} ] ; then
echo "acodec=${acodec}" >> ${configFile}
fi
if [ -z ${exist_b_acodec} ] ; then
echo "b_acodec=${b_acodec}" >> ${configFile}
fi
if [ -z ${exist_default_lang_audio} ] ; then
echo "default_lang_audio=${default_lang_audio}" >> ${configFile}
fi
if [ -z ${exist_default_lang_subt} ] ; then
echo "default_lang_subt=${default_lang_subt}" >> ${configFile}
fi
if [ -z ${exist_v_ext} ] ; then
echo "v_ext=${v_ext}" >> ${configFile}
fi
source ${configFile}
else
echo "#!/bin/bash" > ${configFile}
echo "" >> ${configFile}
echo "rel_size=${rel_size}" >> ${configFile}
echo "vcodec=${vcodec}" >> ${configFile}
echo "b_vcodec=${b_vcodec}" >> ${configFile}
echo "v_preset=${v_preset}" >> ${configFile}
echo "acodec=${acodec}" >> ${configFile}
echo "b_acodec=${b_acodec}" >> ${configFile}
echo "default_lang_audio=${default_lang_audio}" >> ${configFile}
echo "default_lang_subt=${default_lang_subt}" >> ${configFile}
echo "v_ext=${v_ext}" >> ${configFile}
source ${configFile}
fi
}
# Check and create configuration file for ks-av1
function check_create_conf_ks_av1() {
configFolder=${HOME}/.ks-tools
configFile=${configFolder}/ks-av1
rel_size="1280x534"
vcodec="libsvtav1"
b_vcodec="2000k"
v_preset="disabled"
acodec="libvorbis"
b_acodec="160k"
default_lang_audio="spa"
default_lang_subt="spa"
v_ext="webm"
mkdir -p ${configFolder}
if [ -f ${configFile} ] ; then
exist_rel_size=$(cat ${configFile} | grep "rel_size=")
exist_vcodec=$(cat ${configFile} | grep "vcodec=" | cut -c2 | cut -d "_" -f 1)
exist_b_vcodec=$(cat ${configFile} | grep "b_vcodec=")
exist_v_preset=$(cat ${configFile} | grep "v_preset=")
exist_acodec=$(cat ${configFile} | grep "acodec" | cut -c2 | cut -d "_" -f 1)
exist_b_acodec=$(cat ${configFile} | grep "b_acodec=")
exist_default_lang_audio=$(cat ${configFile} | grep "default_lang_audio=")
exist_default_lang_subt=$(cat ${configFile} | grep "default_lang_subt=")
exist_v_ext=$(cat ${configFile} | grep "v_ext=")
if [ -z ${exist_rel_size} ] ; then
echo "rel_size=${rel_size}" >> ${configFile}
fi
if [ -z ${exist_vcodec} ] ; then
echo "vcodec=${vcodec}" >> ${configFile}
fi
if [ -z ${exist_b_vcodec} ] ; then
echo "b_vcodec=${b_vcodec}" >> ${configFile}
fi
if [ -z ${exist_v_preset} ] ; then
echo "v_preset=${v_preset}" >> ${configFile}
fi
if [ -z ${exist_acodec} ] ; then
echo "acodec=${acodec}" >> ${configFile}
fi
if [ -z ${exist_b_acodec} ] ; then
echo "b_acodec=${b_acodec}" >> ${configFile}
fi
if [ -z ${exist_default_lang_audio} ] ; then
echo "default_lang_audio=${default_lang_audio}" >> ${configFile}
fi
if [ -z ${exist_default_lang_subt} ] ; then
echo "default_lang_subt=${default_lang_subt}" >> ${configFile}
fi
if [ -z ${exist_v_ext} ] ; then
echo "v_ext=${v_ext}" >> ${configFile}
fi
source ${configFile}
else
echo "#!/bin/bash" > ${configFile}
echo "" >> ${configFile}
echo "rel_size=${rel_size}" >> ${configFile}
echo "vcodec=${vcodec}" >> ${configFile}
echo "b_vcodec=${b_vcodec}" >> ${configFile}
echo "v_preset=${v_preset}" >> ${configFile}
echo "acodec=${acodec}" >> ${configFile}
echo "b_acodec=${b_acodec}" >> ${configFile}
echo "default_lang_audio=${default_lang_audio}" >> ${configFile}
echo "default_lang_subt=${default_lang_subt}" >> ${configFile}
echo "v_ext=${v_ext}" >> ${configFile}
source ${configFile}
fi
}
# Check and create configuration file for ks-av1s
function check_create_conf_ks_av1s() {
configFolder=${HOME}/.ks-tools
configFile=${configFolder}/ks-av1s
rel_size="720x480"
vcodec="libsvtav1"
b_vcodec="850k"
v_preset="disabled"
acodec="libvorbis"
b_acodec="128k"
default_lang_audio="spa"
default_lang_subt="spa"
v_ext="webm"
mkdir -p ${configFolder}
if [ -f ${configFile} ] ; then
exist_rel_size=$(cat ${configFile} | grep "rel_size=")
exist_vcodec=$(cat ${configFile} | grep "vcodec=" | cut -c2 | cut -d "_" -f 1)
exist_b_vcodec=$(cat ${configFile} | grep "b_vcodec=")
exist_v_preset=$(cat ${configFile} | grep "v_preset=")
exist_acodec=$(cat ${configFile} | grep "acodec" | cut -c2 | cut -d "_" -f 1)
exist_b_acodec=$(cat ${configFile} | grep "b_acodec=")
exist_default_lang_audio=$(cat ${configFile} | grep "default_lang_audio=")
exist_default_lang_subt=$(cat ${configFile} | grep "default_lang_subt=")
exist_v_ext=$(cat ${configFile} | grep "v_ext=")
if [ -z ${exist_rel_size} ] ; then
echo "rel_size=${rel_size}" >> ${configFile}
fi
if [ -z ${exist_vcodec} ] ; then
echo "vcodec=${vcodec}" >> ${configFile}
fi
if [ -z ${exist_b_vcodec} ] ; then
echo "b_vcodec=${b_vcodec}" >> ${configFile}
fi
if [ -z ${exist_v_preset} ] ; then
echo "v_preset=${v_preset}" >> ${configFile}
fi
if [ -z ${exist_acodec} ] ; then
echo "acodec=${acodec}" >> ${configFile}
fi
if [ -z ${exist_b_acodec} ] ; then
echo "b_acodec=${b_acodec}" >> ${configFile}
fi
if [ -z ${exist_default_lang_audio} ] ; then
echo "default_lang_audio=${default_lang_audio}" >> ${configFile}
fi
if [ -z ${exist_default_lang_subt} ] ; then
echo "default_lang_subt=${default_lang_subt}" >> ${configFile}
fi
if [ -z ${exist_v_ext} ] ; then
echo "v_ext=${v_ext}" >> ${configFile}
fi
source ${configFile}
else
echo "#!/bin/bash" > ${configFile}
echo "" >> ${configFile}
echo "rel_size=${rel_size}" >> ${configFile}
echo "vcodec=${vcodec}" >> ${configFile}
echo "b_vcodec=${b_vcodec}" >> ${configFile}
echo "v_preset=${v_preset}" >> ${configFile}
echo "acodec=${acodec}" >> ${configFile}
echo "b_acodec=${b_acodec}" >> ${configFile}
echo "default_lang_audio=${default_lang_audio}" >> ${configFile}
echo "default_lang_subt=${default_lang_subt}" >> ${configFile}
echo "v_ext=${v_ext}" >> ${configFile}
source ${configFile}
fi
}
2022-01-02 15:30:48 +01:00
# Check and create configuration file for ks-mp3/ks-mp3-album
function check_create_conf_ks_mp3() {
configFolder=${HOME}/.ks-tools
configFile=${configFolder}/ks-mp3
acodec="libmp3lame"
b_acodec="128k"
v_ext="mp3"
default_lang_audio="spa"
mkdir -p ${configFolder}
if [ -f ${configFile} ] ; then
exist_acodec=$(cat ${configFile} | grep "acodec" | cut -c2 | cut -d "_" -f 1)
exist_b_acodec=$(cat ${configFile} | grep "b_acodec=")
exist_default_lang_audio=$(cat ${configFile} | grep "default_lang_audio=")
exist_v_ext=$(cat ${configFile} | grep "v_ext=")
if [ -z ${exist_acodec} ] ; then
echo "acodec=${acodec}" >> ${configFile}
fi
if [ -z ${exist_b_acodec} ] ; then
echo "b_acodec=${b_acodec}" >> ${configFile}
fi
if [ -z ${exist_default_lang_audio} ] ; then
echo "default_lang_audio=${default_lang_audio}" >> ${configFile}
fi
if [ -z ${exist_v_ext} ] ; then
echo "v_ext=${v_ext}" >> ${configFile}
fi
source ${configFile}
else
echo "#!/bin/bash" > ${configFile}
echo "" >> ${configFile}
echo "acodec=${acodec}" >> ${configFile}
echo "b_acodec=${b_acodec}" >> ${configFile}
echo "default_lang_audio=${default_lang_audio}" >> ${configFile}
echo "v_ext=${v_ext}" >> ${configFile}
source ${configFile}
fi
}
# Check and create configuration file for ks-oga/ks-oga-album
function check_create_conf_ks_oga() {
configFolder=${HOME}/.ks-tools
configFile=${configFolder}/ks-oga
acodec="libvorbis"
b_acodec="130k"
v_ext="oga"
default_lang_audio="spa"
mkdir -p ${configFolder}
if [ -f ${configFile} ] ; then
exist_acodec=$(cat ${configFile} | grep "acodec" | cut -c2 | cut -d "_" -f 1)
exist_b_acodec=$(cat ${configFile} | grep "b_acodec=")
exist_default_lang_audio=$(cat ${configFile} | grep "default_lang_audio=")
exist_v_ext=$(cat ${configFile} | grep "v_ext=")
if [ -z ${exist_acodec} ] ; then
echo "acodec=${acodec}" >> ${configFile}
fi
if [ -z ${exist_b_acodec} ] ; then
echo "b_acodec=${b_acodec}" >> ${configFile}
fi
if [ -z ${exist_default_lang_audio} ] ; then
echo "default_lang_audio=${default_lang_audio}" >> ${configFile}
fi
if [ -z ${exist_v_ext} ] ; then
echo "v_ext=${v_ext}" >> ${configFile}
fi
source ${configFile}
else
echo "#!/bin/bash" > ${configFile}
echo "" >> ${configFile}
echo "acodec=${acodec}" >> ${configFile}
echo "b_acodec=${b_acodec}" >> ${configFile}
echo "default_lang_audio=${default_lang_audio}" >> ${configFile}
echo "v_ext=${v_ext}" >> ${configFile}
source ${configFile}
fi
}
# Function to reset config files
# Sintaxis: remove_video_audio_config <name config file>
remove_video_audio_config() {
name_file=${1}
echo "#!/bin/bash" > ${HOME}/.ks-tools/${name_file}
echo "" >> ${HOME}/.ks-tools/${name_file}
}
# Function to video configuration
# Sintaxis: edit_video_config <name config file>
edit_video_config() {
check_create_conf_ks_mp4
check_create_conf_ks_mp4s
check_create_conf_ks_mp4k
check_create_conf_ks_avi
check_create_conf_ks_av1
check_create_conf_ks_av1s
2022-01-02 15:30:48 +01:00
name_file=${1}
editing=0
while [ ${editing} -eq 0 ] ; do
source ${HOME}/.ks-tools/${name_file}
clear
echo ""
echo "* ks-conf (ks-tools) v${VERSION} (${M_DATE})"
echo ""
echo "* Editing ${HOME}/.ks-tools/${name_file}"
echo ""
echo " r - Edit resolution (${rel_size})"
echo " v - Edit video codec (${vcodec})"
echo " b - Edit video bitrate (${b_vcodec})"
echo " p - Edit video preset (${v_preset})"
echo " a - Edit audio codec (${acodec})"
echo " i - Edit audio bitrate (${b_acodec})"
echo " l - Edit preferred language (${default_lang_audio})"
echo " s - Edit preferred subtitles (${default_lang_subt})"
echo ""
echo " c - Reset configuration file"
echo " q - Exit to main menu"
echo ""
echo -n "* Choose an option (r/v/b/p/a/i/l/s/c/q): " ; read option
2022-01-02 15:30:48 +01:00
if [ "${option}" == "r" ] ; then
# Set resolution
echo ""
echo "* Recommended: 720x480 / 1280x534 / 1280x720 / 1920x1080 / 3840x2160"
echo ""
echo -n "* [Current: ${rel_size}] Type the resolution: " ; read resolution
if [ -z ${resolution} ] ; then
echo > /dev/null
else
remove_video_audio_config ${name_file}
echo "rel_size=${resolution}" >> ${HOME}/.ks-tools/${name_file}
echo "vcodec=${vcodec}" >> ${HOME}/.ks-tools/${name_file}
echo "b_vcodec=${b_vcodec}" >> ${HOME}/.ks-tools/${name_file}
echo "v_preset=${v_preset}" >> ${HOME}/.ks-tools/${name_file}
echo "acodec=${acodec}" >> ${HOME}/.ks-tools/${name_file}
echo "b_acodec=${b_acodec}" >> ${HOME}/.ks-tools/${name_file}
echo "default_lang_audio=${default_lang_audio}" >> ${HOME}/.ks-tools/${name_file}
echo "default_lang_subt=${default_lang_subt}" >> ${HOME}/.ks-tools/${name_file}
echo "v_ext=${v_ext}" >> ${HOME}/.ks-tools/${name_file}
source ${HOME}/.ks-tools/${name_file}
fi
elif [ "${option}" == "v" ] ; then
# Set video codec
if [ "$v_ext" == "mp4" ] ; then
echo ""
echo "* Recommended: mpeg4 / libxvid / libx264 / libx265 / libaom-av1"
fi
if [ "$v_ext" == "avi" ] ; then
echo ""
echo "* Recommended: mpeg4 / libxvid"
fi
if [ "$v_ext" == "webm" ] ; then
echo ""
echo "* Recommended: libvpx-vp9 / libsvtav1 / libaom-av1"
fi
if [ "$v_ext" == "mkv" ] ; then
echo ""
echo "* Recommended: libx264 / libx265 / libsvtav1 / libaom-av1"
fi
2022-01-02 15:30:48 +01:00
echo ""
echo -n "* [Current: ${vcodec}] Type the video codec: " ; read videocodec
if [ -z ${videocodec} ] ; then
echo > /dev/null
else
remove_video_audio_config ${name_file}
echo "rel_size=${rel_size}" >> ${HOME}/.ks-tools/${name_file}
echo "vcodec=${videocodec}" >> ${HOME}/.ks-tools/${name_file}
echo "b_vcodec=${b_vcodec}" >> ${HOME}/.ks-tools/${name_file}
echo "v_preset=${v_preset}" >> ${HOME}/.ks-tools/${name_file}
echo "acodec=${acodec}" >> ${HOME}/.ks-tools/${name_file}
echo "b_acodec=${b_acodec}" >> ${HOME}/.ks-tools/${name_file}
echo "default_lang_audio=${default_lang_audio}" >> ${HOME}/.ks-tools/${name_file}
echo "default_lang_subt=${default_lang_subt}" >> ${HOME}/.ks-tools/${name_file}
echo "v_ext=${v_ext}" >> ${HOME}/.ks-tools/${name_file}
source ${HOME}/.ks-tools/${name_file}
fi
elif [ "${option}" == "b" ] ; then
# Set bitrate for video
echo ""
2023-03-19 12:32:55 +01:00
echo "* Recommended: 850k / 950k / 2000k / 2200k / 3000k / 6000k / 10000k"
echo ""
2022-01-02 15:30:48 +01:00
echo -n "* [Current: ${b_vcodec}] Type bitrate for video: " ; read videobitrate
if [ -z ${videobitrate} ] ; then
echo > /dev/null
else
remove_video_audio_config ${name_file}
echo "rel_size=${rel_size}" >> ${HOME}/.ks-tools/${name_file}
echo "vcodec=${vcodec}" >> ${HOME}/.ks-tools/${name_file}
echo "b_vcodec=${videobitrate}" >> ${HOME}/.ks-tools/${name_file}
echo "v_preset=${v_preset}" >> ${HOME}/.ks-tools/${name_file}
echo "acodec=${acodec}" >> ${HOME}/.ks-tools/${name_file}
echo "b_acodec=${b_acodec}" >> ${HOME}/.ks-tools/${name_file}
echo "default_lang_audio=${default_lang_audio}" >> ${HOME}/.ks-tools/${name_file}
echo "default_lang_subt=${default_lang_subt}" >> ${HOME}/.ks-tools/${name_file}
echo "v_ext=${v_ext}" >> ${HOME}/.ks-tools/${name_file}
source ${HOME}/.ks-tools/${name_file}
fi
elif [ "${option}" == "p" ] ; then
# Set video preset
echo ""
echo "* Presets: ultrafast / superfast / veryfast / faster / fast"
echo " medium / slow / slower / veryslow"
echo ""
echo -n "* [Current: ${v_preset}] Type the preset: " ; read videopreset
if [ -z ${videopreset} ] ; then
echo > /dev/null
else
remove_video_audio_config ${name_file}
echo "rel_size=${rel_size}" >> ${HOME}/.ks-tools/${name_file}
echo "vcodec=${vcodec}" >> ${HOME}/.ks-tools/${name_file}
echo "b_vcodec=${b_vcodec}" >> ${HOME}/.ks-tools/${name_file}
echo "v_preset=${videopreset}" >> ${HOME}/.ks-tools/${name_file}
echo "acodec=${acodec}" >> ${HOME}/.ks-tools/${name_file}
echo "b_acodec=${b_acodec}" >> ${HOME}/.ks-tools/${name_file}
echo "default_lang_audio=${default_lang_audio}" >> ${HOME}/.ks-tools/${name_file}
echo "default_lang_subt=${default_lang_subt}" >> ${HOME}/.ks-tools/${name_file}
echo "v_ext=${v_ext}" >> ${HOME}/.ks-tools/${name_file}
source ${HOME}/.ks-tools/${name_file}
fi
elif [ "${option}" == "a" ] ; then
# Set audio codec
if [ "$v_ext" == "mp4" ] ; then
echo ""
echo "* Recommended: aac / libmp3lame / ac3 / libopus / mp2"
fi
if [ "$v_ext" == "avi" ] ; then
echo ""
echo "* Recommended: ac3 / libmp3lame / mp2"
fi
if [ "$v_ext" == "webm" ] ; then
echo ""
echo "* Recommended: libvorbis / libopus"
fi
if [ "$v_ext" == "mkv" ] ; then
echo ""
echo "* Recommended: aac / libvorbis / libopus / ac3 / libmp3lame"
fi
2022-01-02 15:30:48 +01:00
echo ""
echo -n "* [Current: ${acodec}] Type the audio codec: " ; read audiocodec
if [ -z ${audiocodec} ] ; then
echo > /dev/null
else
remove_video_audio_config ${name_file}
echo "rel_size=${rel_size}" >> ${HOME}/.ks-tools/${name_file}
echo "vcodec=${vcodec}" >> ${HOME}/.ks-tools/${name_file}
echo "b_vcodec=${b_vcodec}" >> ${HOME}/.ks-tools/${name_file}
echo "v_preset=${v_preset}" >> ${HOME}/.ks-tools/${name_file}
echo "acodec=${audiocodec}" >> ${HOME}/.ks-tools/${name_file}
echo "b_acodec=${b_acodec}" >> ${HOME}/.ks-tools/${name_file}
echo "default_lang_audio=${default_lang_audio}" >> ${HOME}/.ks-tools/${name_file}
echo "default_lang_subt=${default_lang_subt}" >> ${HOME}/.ks-tools/${name_file}
echo "v_ext=${v_ext}" >> ${HOME}/.ks-tools/${name_file}
source ${HOME}/.ks-tools/${name_file}
fi
elif [ "${option}" == "i" ] ; then
# Set bitrate for audio
echo ""
echo "* Recommended: 92k / 128k / 160k / 192k / 256k / 320k / 640k"
echo ""
2022-01-02 15:30:48 +01:00
echo -n "* [Current: ${b_acodec}] Type bitrate for audio: " ; read audiobitrate
if [ -z ${audiobitrate} ] ; then
echo > /dev/null
else
remove_video_audio_config ${name_file}
echo "rel_size=${rel_size}" >> ${HOME}/.ks-tools/${name_file}
echo "vcodec=${vcodec}" >> ${HOME}/.ks-tools/${name_file}
echo "b_vcodec=${b_vcodec}" >> ${HOME}/.ks-tools/${name_file}
echo "v_preset=${v_preset}" >> ${HOME}/.ks-tools/${name_file}
echo "acodec=${acodec}" >> ${HOME}/.ks-tools/${name_file}
echo "b_acodec=${audiobitrate}" >> ${HOME}/.ks-tools/${name_file}
echo "default_lang_audio=${default_lang_audio}" >> ${HOME}/.ks-tools/${name_file}
echo "default_lang_subt=${default_lang_subt}" >> ${HOME}/.ks-tools/${name_file}
echo "v_ext=${v_ext}" >> ${HOME}/.ks-tools/${name_file}
source ${HOME}/.ks-tools/${name_file}
fi
elif [ "${option}" == "l" ] ; then
# Set default audio language
echo ""
echo "* Examples: "
echo " English --> eng"
echo " Spanish --> spa"
echo " Italian --> ita"
echo " French --> fra"
echo ""
echo "* Complete 639-2 codes: https://en.wikipedia.org/wiki/List_of_ISO_639-2_codes"
2022-01-02 15:30:48 +01:00
echo ""
echo -n "* [Current: ${default_lang_audio}] Type the preferred audio language: " ; read audiolanguage
if [ -z ${audiolanguage} ] ; then
echo > /dev/null
else
remove_video_audio_config ${name_file}
echo "rel_size=${rel_size}" >> ${HOME}/.ks-tools/${name_file}
echo "vcodec=${vcodec}" >> ${HOME}/.ks-tools/${name_file}
echo "b_vcodec=${b_vcodec}" >> ${HOME}/.ks-tools/${name_file}
echo "v_preset=${v_preset}" >> ${HOME}/.ks-tools/${name_file}
echo "acodec=${acodec}" >> ${HOME}/.ks-tools/${name_file}
echo "b_acodec=${b_acodec}" >> ${HOME}/.ks-tools/${name_file}
echo "default_lang_audio=${audiolanguage}" >> ${HOME}/.ks-tools/${name_file}
echo "default_lang_subt=${default_lang_subt}" >> ${HOME}/.ks-tools/${name_file}
echo "v_ext=${v_ext}" >> ${HOME}/.ks-tools/${name_file}
source ${HOME}/.ks-tools/${name_file}
fi
elif [ "${option}" == "s" ] ; then
# Set default audio language
echo ""
echo "* Examples: "
echo " English --> eng"
echo " Spanish --> spa"
echo " Italian --> ita"
echo " French --> fra"
echo ""
echo "* Complete 639-2 codes: https://en.wikipedia.org/wiki/List_of_ISO_639-2_codes"
2022-01-02 15:30:48 +01:00
echo ""
echo -n "* [Current: ${default_lang_subt}] Type the preferred subtitles language: " ; read subtitlelanguage
if [ -z ${subtitlelanguage} ] ; then
echo > /dev/null
else
remove_video_audio_config ${name_file}
echo "rel_size=${rel_size}" >> ${HOME}/.ks-tools/${name_file}
echo "vcodec=${vcodec}" >> ${HOME}/.ks-tools/${name_file}
echo "b_vcodec=${b_vcodec}" >> ${HOME}/.ks-tools/${name_file}
echo "v_preset=${v_preset}" >> ${HOME}/.ks-tools/${name_file}
echo "acodec=${acodec}" >> ${HOME}/.ks-tools/${name_file}
echo "b_acodec=${b_acodec}" >> ${HOME}/.ks-tools/${name_file}
echo "default_lang_audio=${default_lang_audio}" >> ${HOME}/.ks-tools/${name_file}
echo "default_lang_subt=${subtitlelanguage}" >> ${HOME}/.ks-tools/${name_file}
echo "v_ext=${v_ext}" >> ${HOME}/.ks-tools/${name_file}
source ${HOME}/.ks-tools/${name_file}
fi
elif [ "${option}" == "c" ] ; then
rm -rf ${HOME}/.ks-tools/${name_file}
check_create_conf_ks_mp4
check_create_conf_ks_mp4s
check_create_conf_ks_mp4k
check_create_conf_ks_avi
2023-03-18 22:25:55 +01:00
check_create_conf_ks_av1
check_create_conf_ks_av1s
2022-01-02 15:30:48 +01:00
elif [ "${option}" == "q" ] ; then
editing=1
else
echo ""
echo "+ Invalid option"
echo -n "* Press ENTER to return menu " ; read return
fi
done
}
# Function to audio configuration
# Sintaxis: edit_audio_config <name config file>
edit_audio_config() {
check_create_conf_ks_mp3
check_create_conf_ks_oga
name_file=${1}
editing=0
while [ ${editing} -eq 0 ] ; do
source ${HOME}/.ks-tools/${name_file}
clear
echo ""
echo "* ks-conf (ks-tools) v${VERSION} (${M_DATE})"
echo ""
echo "* Editing ${HOME}/.ks-tools/${name_file}"
echo ""
echo " a - Edit audio bitrate (${b_acodec})"
echo " l - Edit preferred language (${default_lang_audio})"
echo ""
echo " c - Reset configuration file"
echo " q - Exit to main menu"
echo ""
2022-01-02 16:34:44 +01:00
echo -n "* Choose an option (a/l/c/q): " ; read option
2022-01-02 15:30:48 +01:00
if [ "${option}" == "a" ] ; then
# Set bitrate for audio
if [ "$v_ext" == "mp3" ] ; then
echo ""
echo "* Recommended: 92k / 128k / 192k / 256k / 320k / 640k"
fi
if [ "$v_ext" == "oga" ] ; then
echo ""
echo "* Recommended: 96k / 112k / 130k / 160k / 224k / 256k / 320k"
fi
2022-01-02 15:30:48 +01:00
echo ""
echo -n "* [Current: ${b_acodec}] Type bitrate for audio: " ; read audiobitrate
if [ -z ${audiobitrate} ] ; then
echo > /dev/null
else
remove_video_audio_config ${name_file}
echo "acodec=${acodec}" >> ${HOME}/.ks-tools/${name_file}
echo "b_acodec=${audiobitrate}" >> ${HOME}/.ks-tools/${name_file}
echo "default_lang_audio=${default_lang_audio}" >> ${HOME}/.ks-tools/${name_file}
echo "v_ext=${v_ext}" >> ${HOME}/.ks-tools/${name_file}
source ${HOME}/.ks-tools/${name_file}
fi
elif [ "${option}" == "l" ] ; then
# Set default audio language
echo ""
echo "* Examples: "
echo " English --> eng"
echo " Spanish --> spa"
echo " Italian --> ita"
echo " French --> fra"
echo ""
echo "* Complete 639-2 codes: https://en.wikipedia.org/wiki/List_of_ISO_639-2_codes"
2022-01-02 15:30:48 +01:00
echo ""
echo -n "* [Current: ${default_lang_audio}] Type the preferred audio language: " ; read audiolanguage
if [ -z ${audiolanguage} ] ; then
echo > /dev/null
else
remove_video_audio_config ${name_file}
echo "acodec=${acodec}" >> ${HOME}/.ks-tools/${name_file}
echo "b_acodec=${b_acodec}" >> ${HOME}/.ks-tools/${name_file}
echo "default_lang_audio=${audiolanguage}" >> ${HOME}/.ks-tools/${name_file}
echo "v_ext=${v_ext}" >> ${HOME}/.ks-tools/${name_file}
source ${HOME}/.ks-tools/${name_file}
fi
elif [ "${option}" == "c" ] ; then
rm -rf ${HOME}/.ks-tools/${name_file}
check_create_conf_ks_mp3
check_create_conf_ks_oga
elif [ "${option}" == "q" ] ; then
editing=1
else
echo ""
echo "+ Invalid option"
echo -n "* Press ENTER to return menu " ; read return
fi
done
}
# Run all functions for check configuration files
check_create_conf_ks_mp4
check_create_conf_ks_mp4s
check_create_conf_ks_mp4k
check_create_conf_ks_avi
check_create_conf_ks_av1
check_create_conf_ks_av1s
2022-01-02 15:30:48 +01:00
check_create_conf_ks_mp3
check_create_conf_ks_oga
# Load all configurations and show main menu
show_menu=0
while [ ${show_menu} -eq 0 ] ; do
clear
echo ""
echo "* ks-conf (ks-tools) v${VERSION} (${M_DATE})"
echo ""
echo "- Tool for create and modify all configuration files"
echo ""
2022-01-02 15:30:48 +01:00
source ${HOME}/.ks-tools/ks-mp4
echo " m - Edit ks-mp4 config (${rel_size}/${vcodec}/${b_vcodec}/${acodec}/${b_acodec}/${default_lang_audio})"
source ${HOME}/.ks-tools/ks-mp4k
echo " k - Edit ks-mp4k config (${rel_size}/${vcodec}/${b_vcodec}/${acodec}/${b_acodec}/${default_lang_audio})"
source ${HOME}/.ks-tools/ks-mp4s
echo " s - Edit ks-mp4s config (${rel_size}/${vcodec}/${b_vcodec}/${acodec}/${b_acodec}/${default_lang_audio})"
source ${HOME}/.ks-tools/ks-avi
echo " a - Edit ks-avi config (${rel_size}/${vcodec}/${b_vcodec}/${acodec}/${b_acodec}/${default_lang_audio})"
source ${HOME}/.ks-tools/ks-av1
echo " v - Edit ks-av1 config (${rel_size}/${vcodec}/${b_vcodec}/${acodec}/${b_acodec}/${default_lang_audio})"
source ${HOME}/.ks-tools/ks-av1s
echo " c - Edit ks-av1s config (${rel_size}/${vcodec}/${b_vcodec}/${acodec}/${b_acodec}/${default_lang_audio})"
2022-01-02 15:30:48 +01:00
echo ""
source ${HOME}/.ks-tools/ks-mp3
echo " p - Edit ks-mp3/ks-mp3-album config (${acodec}/${b_acodec}/${default_lang_audio})"
source ${HOME}/.ks-tools/ks-oga
echo " o - Edit ks-oga/ks-oga-album config (${acodec}/${b_acodec}/${default_lang_audio})"
echo ""
2022-01-03 19:06:15 +01:00
user_config=$(cat ${HOME}/.ks-tools/ks-upload-user 2> /dev/null)
server_config=$(cat ${HOME}/.ks-tools/ks-upload-server 2> /dev/null)
tool_config=$(cat ${HOME}/.ks-tools/ks-upload-tool 2> /dev/null)
echo " u - Edit ks-upv/ks-upa/ks-upf/ks-upr config (${user_config}/${server_config}/${tool_config})"
2022-01-02 15:30:48 +01:00
echo ""
echo " q - Exit"
echo ""
echo -n "* Choose an option (m/k/s/a/p/o/u/q): " ; read option
2022-01-02 15:30:48 +01:00
if [ "${option}" == "m" ] ; then
edit_video_config ks-mp4
elif [ "${option}" == "k" ] ; then
edit_video_config ks-mp4k
elif [ "${option}" == "s" ] ; then
edit_video_config ks-mp4s
elif [ "${option}" == "a" ] ; then
edit_video_config ks-avi
elif [ "${option}" == "v" ] ; then
edit_video_config ks-av1
elif [ "${option}" == "c" ] ; then
edit_video_config ks-av1s
2022-01-02 15:30:48 +01:00
elif [ "${option}" == "p" ] ; then
edit_audio_config ks-mp3
elif [ "${option}" == "o" ] ; then
edit_audio_config ks-oga
elif [ "${option}" == "u" ] ; then
ks-upv -e
elif [ "${option}" == "q" ] ; then
show_menu=1
exit
else
echo ""
echo "+ Invalid option"
echo -n "* Press ENTER to return menu " ; read return
fi
done