refactor: replace numeric translation keys with named keys
- Extract shared i18n.sh library with tr() function (replaces 5 duplicated text_lang functions) - Replace numeric IDs (001, 002, ...) with human-readable keys (already_started, delete, etc.) - Update all language files (en_US, en_GB, de_DE) to use named key format - Update all scripts (jdautoenc, rename, addrename, removerename, config) to use tr() from i18n.sh
This commit is contained in:
+134
-150
@@ -1,150 +1,134 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
## Farben für das Log
|
## Farben für das Log
|
||||||
|
|
||||||
white='\033[0;37m' # ${white}
|
white='\033[0;37m' # ${white}
|
||||||
yellow='\033[0;33m' # ${yellow}
|
yellow='\033[0;33m' # ${yellow}
|
||||||
purple='\033[0;35m' # ${purple}
|
purple='\033[0;35m' # ${purple}
|
||||||
blue='\033[0;34m' # ${blue}
|
blue='\033[0;34m' # ${blue}
|
||||||
lblue='\033[1;34m' # ${lblue}
|
lblue='\033[1;34m' # ${lblue}
|
||||||
cyan='\033[0;36m' # ${cyan}
|
cyan='\033[0;36m' # ${cyan}
|
||||||
|
|
||||||
## Rename Skript Pfad:
|
## Rename Skript Pfad:
|
||||||
JDAutoConfig=$(find ~ -type f -name "JDAutoConfig" 2>/dev/null)
|
JDAutoConfig=$(find ~ -type f -name "JDAutoConfig" 2>/dev/null)
|
||||||
renamelist=$(grep "renamelist=" "$JDAutoConfig" | sed 's/renamelist=//g')
|
renamelist=$(grep "renamelist=" "$JDAutoConfig" | sed 's/renamelist=//g')
|
||||||
|
|
||||||
language_Folder=$(grep "language_folder=" "$JDAutoConfig" | sed 's/.*=//g')
|
# shellcheck disable=SC1091
|
||||||
if [[ -n $(grep "language=" "$JDAutoConfig" | sed 's/.*=//g') ]]; then
|
source "$(dirname "$0")/i18n.sh"
|
||||||
language=$(grep "language=" "$JDAutoConfig" | sed 's/.*=//g')
|
|
||||||
else
|
get_DB() {
|
||||||
language=$(locale | head -n 1 | sed 's/.*=\|\..*//g')
|
grep "$1DB=" "$JDAutoConfig" | sed 's/.*=//g'
|
||||||
fi
|
}
|
||||||
|
|
||||||
if [[ $language == "C" ]] || [[ ! -d $language_Folder/$language ]]; then
|
curl_name() {
|
||||||
language=en_US
|
if [[ $dbid == "TheTVDB" ]]; then
|
||||||
fi
|
if [[ -z $(curl -sL https://www.thetvdb.com/dereferrer/series/"$dbentry" | grep -i -A1 "deu" | grep "data-title" | sed 's/.*="\|"//g' | sed "s/’/'/g") ]]; then
|
||||||
|
curl -sL https://www.thetvdb.com/dereferrer/series/"$dbentry" | grep -i -A1 "en" | grep "data-title" | sed 's/.*="\|"//g' | sed "s/’/'/g" | head -n 1
|
||||||
text_lang() {
|
else
|
||||||
if [ -f "$language_Folder"/"$language"/addrename.lang ]; then
|
curl -sL https://www.thetvdb.com/dereferrer/series/"$dbentry" | grep -i -A1 "deu" | grep "data-title" | sed 's/.*="\|"//g' | sed "s/’/'/g" | head -n 1
|
||||||
grep "$1" "$language_Folder"/"$language"/addrename.lang | sed 's/^....//'
|
fi
|
||||||
else
|
elif [[ $dbid == "TheMovieDB::TV" ]]; then
|
||||||
curl -s https://raw.githubusercontent.com/Pakobbix/JDownloader-Autoenc-rename/main/lang/en_US/addrename.lang | grep "$1" | sed 's/^....//'
|
curl -sL https://www.themoviedb.org/tv/"$dbentry" | grep -i "TV Series" | sed -e 's/<[^>]*>\|(TV.*//g'
|
||||||
fi
|
elif [[ $dbid == "TheMovieDB" ]]; then
|
||||||
}
|
curl -sL https://www.themoviedb.org/movie/"$dbentry" | grep -i "The Movie Database (TMDB)" | grep title | sed -e 's/<[^>]*>\|&#.*//g'
|
||||||
|
elif [[ $dbid == "AniDB" ]]; then
|
||||||
get_DB() {
|
curl -sL -A "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0" https://anidb.net/anime/"$dbentry" | grep -i -A1 "Synonym" | sed 's/<[^>]*>\|Synonym\|\t//g' | sed '/^$/d'
|
||||||
grep "$1DB=" "$JDAutoConfig" | sed 's/.*=//g'
|
fi
|
||||||
}
|
|
||||||
|
}
|
||||||
curl_name() {
|
|
||||||
if [[ $dbid == "TheTVDB" ]]; then
|
curl_movie_name() {
|
||||||
if [[ -z $(curl -sL https://www.thetvdb.com/dereferrer/series/"$dbentry" | grep -i -A1 "deu" | grep "data-title" | sed 's/.*="\|"//g' | sed "s/’/'/g") ]]; then
|
curl -sL "https://themoviedb.org/movie/$dbentry" | grep -i "<title>" | sed -e 's/<[^>]*>//g' | sed 's/&#[0-9].*//g'
|
||||||
curl -sL https://www.thetvdb.com/dereferrer/series/"$dbentry" | grep -i -A1 "en" | grep "data-title" | sed 's/.*="\|"//g' | sed "s/’/'/g" | head -n 1
|
}
|
||||||
else
|
|
||||||
curl -sL https://www.thetvdb.com/dereferrer/series/"$dbentry" | grep -i -A1 "deu" | grep "data-title" | sed 's/.*="\|"//g' | sed "s/’/'/g" | head -n 1
|
get_db_id() {
|
||||||
fi
|
if [[ $dbid == "TheTVDB" ]]; then
|
||||||
elif [[ $dbid == "TheMovieDB::TV" ]]; then
|
if [ -z "$key2" ]; then
|
||||||
curl -sL https://www.themoviedb.org/tv/"$dbentry" | grep -i "TV Series" | sed -e 's/<[^>]*>\|(TV.*//g'
|
echo -e "${purple}https://thetvdb.com/search?query=""$key1""${white}"
|
||||||
elif [[ $dbid == "TheMovieDB" ]]; then
|
else
|
||||||
curl -sL https://www.themoviedb.org/movie/"$dbentry" | grep -i "The Movie Database (TMDB)" | grep title | sed -e 's/<[^>]*>\|&#.*//g'
|
echo -e "${purple}https://thetvdb.com/search?query=""$key1""%20""$key2""${white}"
|
||||||
elif [[ $dbid == "AniDB" ]]; then
|
fi
|
||||||
curl -sL -A "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0" https://anidb.net/anime/"$dbentry" | grep -i -A1 "Synonym" | sed 's/<[^>]*>\|Synonym\|\t//g' | sed '/^$/d'
|
elif [[ $dbid == "TheMovieDB" ]] || [[ $dbid == "TheMovieDB::TV" ]]; then
|
||||||
fi
|
if [ -z "$key2" ]; then
|
||||||
|
echo -e "${purple}https://www.themoviedb.org/search?language=de&query=""$key1""${white}"
|
||||||
}
|
else
|
||||||
|
echo -e "${purple}https://www.themoviedb.org/search?language=de&query=""$key1""%20""$key2""${white}"
|
||||||
curl_movie_name() {
|
fi
|
||||||
curl -sL "https://themoviedb.org/movie/$dbentry" | grep -i "<title>" | sed -e 's/<[^>]*>//g' | sed 's/&#[0-9].*//g'
|
elif [[ $dbid == "AniDB" ]]; then
|
||||||
}
|
if [ -z "$key2" ]; then
|
||||||
|
echo -e "${purple}https://anidb.net/anime/?adb.search=$key1&do.update=Search&noalias=1${white}"
|
||||||
get_db_id() {
|
else
|
||||||
if [[ $dbid == "TheTVDB" ]]; then
|
echo -e "${purple}https://anidb.net/anime/?adb.search=$key1%20$key2&do.update=Search&noalias=1${white}"
|
||||||
if [ -z "$key2" ]; then
|
fi
|
||||||
echo -e "${purple}https://thetvdb.com/search?query=""$key1""${white}"
|
fi
|
||||||
else
|
}
|
||||||
echo -e "${purple}https://thetvdb.com/search?query=""$key1""%20""$key2""${white}"
|
|
||||||
fi
|
while true; do
|
||||||
elif [[ $dbid == "TheMovieDB" ]] || [[ $dbid == "TheMovieDB::TV" ]]; then
|
read -rp "$(echo -e "$(tr "add_prompt")" "${cyan}""$(tr "film")""${white}" "$(tr "or_a")" "${blue}""$(tr "anime")""${white}"/"${lblue}""$(tr "series")""${white}" "$(tr "to_rename")") ($(tr "enter_type")): " adding
|
||||||
if [ -z "$key2" ]; then
|
if [[ ${adding,,} == *"anime"* ]]; then
|
||||||
echo -e "${purple}https://www.themoviedb.org/search?language=de&query=""$key1""${white}"
|
read -rp "$(echo -e "$(tr "by_which")" "${purple}""$(tr "keyword")""${white}" "$(tr "should_the")" "$adding "$(tr "entry_matched")") " key1
|
||||||
else
|
read -rp "$(echo -e "${yellow}""$(tr "if_you_want")""${white}", "$(tr "second_keyword")") " key2
|
||||||
echo -e "${purple}https://www.themoviedb.org/search?language=de&query=""$key1""%20""$key2""${white}"
|
dbid=$(get_DB "Anime")
|
||||||
fi
|
get_db_id
|
||||||
elif [[ $dbid == "AniDB" ]]; then
|
read -rp "$(echo -e "$(tr "enter_now")" "${purple}""$dbid""${white}" "$(tr "number")") " dbentry
|
||||||
if [ -z "$key2" ]; then
|
echo "$(tr "this_is_anime") $(curl_name)"
|
||||||
echo -e "${purple}https://anidb.net/anime/?adb.search=$key1&do.update=Search&noalias=1${white}"
|
read -rp "$(tr "is_correct")" wrongformat
|
||||||
else
|
if [ "${wrongformat,,}" == "n" ]; then
|
||||||
echo -e "${purple}https://anidb.net/anime/?adb.search=$key1%20$key2&do.update=Search&noalias=1${white}"
|
tr "manual_add"
|
||||||
fi
|
exit
|
||||||
fi
|
else
|
||||||
}
|
{
|
||||||
|
curl_name
|
||||||
while true; do
|
echo "$key1"
|
||||||
read -rp "$(echo -e "$(text_lang "001")" "${cyan}""$(text_lang "002")""${white}" "$(text_lang "003")" "${blue}""$(text_lang "004")""${white}"/"${lblue}""$(text_lang "005")""${white}" "$(text_lang "006")") ($(text_lang "007")): " adding
|
echo "$key2"
|
||||||
if [[ ${adding,,} == *"anime"* ]]; then
|
echo "Anime"
|
||||||
read -rp "$(echo -e "$(text_lang "008")" "${purple}""$(text_lang "009")""${white}" "$(text_lang "010")" "$adding" "$(text_lang "011")") " key1
|
echo "$dbentry"
|
||||||
read -rp "$(echo -e "${yellow}""$(text_lang "012")""${white}", "$(text_lang "013")") " key2
|
echo ""
|
||||||
dbid=$(get_DB "Anime")
|
} >>"$renamelist"
|
||||||
get_db_id
|
fi
|
||||||
read -rp "$(echo -e "$(text_lang "019")" "${purple}""$dbid""${white}" "$(text_lang "020")") " dbentry
|
elif [[ ${adding,,} == *"serie"* ]]; then
|
||||||
echo "$(text_lang "014") $(curl_name)"
|
read -rp "$(echo -e "$(tr "by_which")" "${purple}""$(tr "keyword")""${white}" "$(tr "should_the")" "$adding "$(tr "entry_matched")") " key1
|
||||||
read -rp "$(text_lang "015")" wrongformat
|
read -rp "$(echo -e "${yellow}""$(tr "if_you_want")""${white}", "$(tr "second_keyword")") " key2
|
||||||
if [ "${wrongformat,,}" == "n" ]; then
|
dbid=$(get_DB "Series")
|
||||||
text_lang "016"
|
get_db_id
|
||||||
exit
|
read -rp "$(echo -e "$(tr "enter_now")" "${purple}""$dbid""${white}" "$(tr "number")") " dbentry
|
||||||
else
|
echo "$(tr "this_is_series") $(curl_name)"
|
||||||
{
|
read -rp "$(tr "is_correct")" wrongformat
|
||||||
curl_name
|
if [ "${wrongformat,,}" == "n" ]; then
|
||||||
echo "$key1"
|
tr "manual_add"
|
||||||
echo "$key2"
|
exit
|
||||||
echo "Anime"
|
else
|
||||||
echo "$dbentry"
|
{
|
||||||
echo ""
|
curl_name
|
||||||
} >>"$renamelist"
|
echo "$key1"
|
||||||
fi
|
echo "$key2"
|
||||||
elif [[ ${adding,,} == *"serie"* ]]; then
|
echo "Series"
|
||||||
read -rp "$(echo -e "$(text_lang "008")" "${purple}""$(text_lang "009")""${white}" "$(text_lang "010")" "$adding" "$(text_lang "011")") " key1
|
echo "$dbentry"
|
||||||
read -rp "$(echo -e "${yellow}""$(text_lang "012")""${white}", "$(text_lang "013")") " key2
|
echo ""
|
||||||
dbid=$(get_DB "Series")
|
} >>"$renamelist"
|
||||||
get_db_id
|
fi
|
||||||
read -rp "$(echo -e "$(text_lang "019")" "${purple}""$dbid""${white}" "$(text_lang "020")") " dbentry
|
elif [[ ${adding,,} == *"film"* ]]; then
|
||||||
echo "$(text_lang "017") $(curl_name)"
|
read -rp "$(echo -e "$(tr "by_which")" "${purple}""$(tr "keyword")""${white}" "$(tr "should_the")" "$adding "$(tr "entry_matched")") " key1
|
||||||
read -rp "$(text_lang "015")" wrongformat
|
read -rp "$(echo -e "${yellow}""$(tr "if_you_want")""${white}", "$(tr "second_keyword")") " key2
|
||||||
if [ "${wrongformat,,}" == "n" ]; then
|
dbid=$(get_DB "Movie")
|
||||||
text_lang "016"
|
get_db_id
|
||||||
exit
|
read -rp "$(echo -e "$(tr "enter_now")" "${purple}"TheMovieDB ID"${white}" "$(tr "number")""\n($(tr "url_number"))") " dbentry
|
||||||
else
|
echo "$(tr "this_is_movie") $(curl_movie_name)"
|
||||||
{
|
read -rp "$(tr "is_correct")" wrongformat
|
||||||
curl_name
|
if [ "${wrongformat,,}" == "n" ]; then
|
||||||
echo "$key1"
|
tr "manual_add"
|
||||||
echo "$key2"
|
exit
|
||||||
echo "Series"
|
else
|
||||||
echo "$dbentry"
|
{
|
||||||
echo ""
|
curl_movie_name
|
||||||
} >>"$renamelist"
|
echo "$key1"
|
||||||
fi
|
echo "$key2"
|
||||||
elif [[ ${adding,,} == *"film"* ]]; then
|
echo "Movie"
|
||||||
read -rp "$(echo -e "$(text_lang "008")" "${purple}""$(text_lang "009")""${white}" "$(text_lang "010")" "$adding" "$(text_lang "011")") " key1
|
echo "$dbentry"
|
||||||
read -rp "$(echo -e "${yellow}""$(text_lang "012")""${white}", "$(text_lang "013")") " key2
|
echo ""
|
||||||
dbid=$(get_DB "Movie")
|
} >>"$renamelist"
|
||||||
get_db_id
|
fi
|
||||||
read -rp "$(echo -e "$(text_lang "019")" "${purple}"TheMovieDB ID"${white}" "$(text_lang "020")""\n($(text_lang "021"))") " dbentry
|
elif [[ ${adding,,} == *"beenden"* ]] || [[ ${adding,,} == *"exit"* ]]; then
|
||||||
echo "$(text_lang "018") $(curl_movie_name)"
|
break
|
||||||
read -rp "$(text_lang "015")" wrongformat
|
fi
|
||||||
if [ "${wrongformat,,}" == "n" ]; then
|
done
|
||||||
text_lang "016"
|
|
||||||
exit
|
|
||||||
else
|
|
||||||
{
|
|
||||||
curl_movie_name
|
|
||||||
echo "$key1"
|
|
||||||
echo "$key2"
|
|
||||||
echo "Movie"
|
|
||||||
echo "$dbentry"
|
|
||||||
echo ""
|
|
||||||
} >>"$renamelist"
|
|
||||||
fi
|
|
||||||
elif [[ ${adding,,} == *"beenden"* ]] || [[ ${adding,,} == *"exit"* ]]; then
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
@@ -0,0 +1,68 @@
|
|||||||
|
# Shared i18n library for JDownloader-Autoenc-rename
|
||||||
|
# Source this file from your scripts, then use tr("key") to get translations.
|
||||||
|
|
||||||
|
# Determine script name (jdautoenc, rename, addrename, removerename, config)
|
||||||
|
SCRIPT_NAME=$(basename "${BASH_SOURCE[1]}" .sh 2>/dev/null)
|
||||||
|
if [[ -z "$SCRIPT_NAME" ]]; then
|
||||||
|
SCRIPT_NAME=$(basename "$0" .sh 2>/dev/null)
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Find language folder
|
||||||
|
if [[ -n "$language_folder" ]]; then
|
||||||
|
: # already set
|
||||||
|
elif [[ -n "$JDAutoConfig" && -f "$JDAutoConfig" ]]; then
|
||||||
|
language_folder=$(grep "language_folder=" "$JDAutoConfig" 2>/dev/null | sed 's/.*=//g')
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Determine language
|
||||||
|
if [[ -z "$language" ]]; then
|
||||||
|
if [[ -n "$JDAutoConfig" && -f "$JDAutoConfig" && -n "$(grep "language=" "$JDAutoConfig" 2>/dev/null | sed 's/.*=//g')" ]]; then
|
||||||
|
language=$(grep "language=" "$JDAutoConfig" | sed 's/.*=//g')
|
||||||
|
else
|
||||||
|
language=$(locale 2>/dev/null | head -n 1 | sed 's/.*=\|\..*//g')
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "$language" == "C" ]] || [[ ! -d "$language_folder/$language" ]]; then
|
||||||
|
language=en_US
|
||||||
|
fi
|
||||||
|
|
||||||
|
# The lang file for the current script
|
||||||
|
LANG_FILE="$language_folder/$language/${SCRIPT_NAME}.lang"
|
||||||
|
FALLBACK_LANG_FILE="$language_folder/en_US/${SCRIPT_NAME}.lang"
|
||||||
|
|
||||||
|
tr() {
|
||||||
|
local key="$1"
|
||||||
|
|
||||||
|
# Try local lang file
|
||||||
|
if [[ -f "$LANG_FILE" ]]; then
|
||||||
|
local result
|
||||||
|
result=$(grep "^${key} " "$LANG_FILE" 2>/dev/null | head -n 1 | sed "s/^${key} //")
|
||||||
|
if [[ -n "$result" ]]; then
|
||||||
|
echo "$result"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Try fallback (en_US)
|
||||||
|
if [[ -f "$FALLBACK_LANG_FILE" ]]; then
|
||||||
|
local result
|
||||||
|
result=$(grep "^${key} " "$FALLBACK_LANG_FILE" 2>/dev/null | head -n 1 | sed "s/^${key} //")
|
||||||
|
if [[ -n "$result" ]]; then
|
||||||
|
echo "$result"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Try remote fallback
|
||||||
|
local remote_url="https://raw.githubusercontent.com/Pakobbix/JDownloader-Autoenc-rename/main/lang/en_US/${SCRIPT_NAME}.lang"
|
||||||
|
local result
|
||||||
|
result=$(curl -s "$remote_url" 2>/dev/null | grep "^${key} " | head -n 1 | sed "s/^${key} //")
|
||||||
|
if [[ -n "$result" ]]; then
|
||||||
|
echo "$result"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Return the key itself as last resort
|
||||||
|
echo "$key"
|
||||||
|
}
|
||||||
+216
-229
@@ -1,229 +1,216 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
config=$(find ~ -type f -name "JDAutoConfig" 2>/dev/null)
|
config=$(find ~ -type f -name "JDAutoConfig" 2>/dev/null)
|
||||||
log=$(grep "log=" "$config" | sed 's/.*=//g')
|
log=$(grep "log=" "$config" | sed 's/.*=//g')
|
||||||
|
|
||||||
# shellcheck disable=SC1090
|
# shellcheck disable=SC1090
|
||||||
source "$config"
|
source "$config"
|
||||||
|
|
||||||
case "${Encoder,,}" in
|
# shellcheck disable=SC1091
|
||||||
nvidia)
|
source "$(dirname "$0")/i18n.sh"
|
||||||
hw_accel="cuda"
|
|
||||||
codec="hevc_nvenc"
|
case "${Encoder,,}" in
|
||||||
;;
|
nvidia)
|
||||||
amd)
|
hw_accel="cuda"
|
||||||
hw_accel="auto"
|
codec="hevc_nvenc"
|
||||||
codec="hevc_amf"
|
;;
|
||||||
;;
|
amd)
|
||||||
intel)
|
hw_accel="auto"
|
||||||
hw_accel="qsv"
|
codec="hevc_amf"
|
||||||
codec="hevc_qsf"
|
;;
|
||||||
;;
|
intel)
|
||||||
software)
|
hw_accel="qsv"
|
||||||
hw_accel="qsv"
|
codec="hevc_qsf"
|
||||||
codec="hevc_qsf"
|
;;
|
||||||
;;
|
software)
|
||||||
esac
|
hw_accel="qsv"
|
||||||
|
codec="hevc_qsf"
|
||||||
red='\033[0;31m' # ${red}
|
;;
|
||||||
white='\033[0;37m' # ${white}
|
esac
|
||||||
bold='\033[1;37m' # ${white}
|
|
||||||
yellow='\033[0;33m' # ${yellow}
|
red='\033[0;31m' # ${red}
|
||||||
green='\033[0;32m' # ${green}
|
white='\033[0;37m' # ${white}
|
||||||
blue='\033[0;34m' # ${blue}
|
bold='\033[1;37m' # ${white}
|
||||||
lblue='\033[1;34m' # ${lblue}
|
yellow='\033[0;33m' # ${yellow}
|
||||||
cyan='\033[0;36m' # ${cyan}
|
green='\033[0;32m' # ${green}
|
||||||
purple='\033[0;35m' # ${purple}
|
blue='\033[0;34m' # ${blue}
|
||||||
|
lblue='\033[1;34m' # ${lblue}
|
||||||
if [[ -z $language ]]; then
|
cyan='\033[0;36m' # ${cyan}
|
||||||
language=$(locale | head -n 1 | sed 's/.*=\|\..*//g')
|
purple='\033[0;35m' # ${purple}
|
||||||
fi
|
|
||||||
|
if [ -f /tmp/jdautoenc.lock ]; then
|
||||||
if [[ $language == "C" ]] || [[ ! -d $language_folder/$language ]]; then
|
log_msg "${red}$(tr "already_started")"
|
||||||
language=en_US
|
sleep 3
|
||||||
fi
|
fi
|
||||||
|
|
||||||
text_lang() {
|
while [ -f /tmp/jdautoenc.lock ]; do
|
||||||
if [ -f "$language_folder"/"$language"/jdautoenc.lang ]; then
|
sleep $(((RANDOM % 10) + 1))s
|
||||||
grep "$1" "$language_folder"/"$language"/jdautoenc.lang | sed 's/^....//'
|
done
|
||||||
else
|
|
||||||
curl -s https://raw.githubusercontent.com/Pakobbix/JDownloader-Autoenc-rename/main/lang/en_US/jdautoenc.lang | grep "$1" | sed 's/^....//'
|
echo $$ >/tmp/jdautoenc.lock
|
||||||
fi
|
|
||||||
}
|
log_msg() {
|
||||||
|
echo -e "${yellow}$(date +"%d.%m.%y %T")${white} $1${white}" >>"${log[@]}"
|
||||||
if [ -f /tmp/jdautoenc.lock ]; then
|
}
|
||||||
log_msg "${red}$(text_lang "001")"
|
|
||||||
sleep 3
|
discord_msg() {
|
||||||
fi
|
curl -s -H "Content-Type: application/json" -X POST -d "{\"content\": \"$1\"}" "$discord" &>/dev/null
|
||||||
|
}
|
||||||
while [ -f /tmp/jdautoenc.lock ]; do
|
|
||||||
sleep $(((RANDOM % 10) + 1))s
|
nextcloud_msg() {
|
||||||
done
|
curl -d '{"token":"'"$NextcloudTalkToken"'", "message":"'"$1"'"}' -H "Content-Type: application/json" -H "Accept:application/json" -H "OCS-APIRequest:true" -u "$NextcloudUser:$NextcloudPassword" "$NextcloudDomain"/ocs/v1.php/apps/spreed/api/v1/chat/tokenid &>/dev/null
|
||||||
|
}
|
||||||
echo $$ >/tmp/jdautoenc.lock
|
|
||||||
|
apprise_msg() {
|
||||||
log_msg() {
|
if [[ -n $apprisetag ]]; then
|
||||||
echo -e "${yellow}$(date +"%d.%m.%y %T")${white} $1${white}" >>"${log[@]}"
|
curl -d '{"body":"'"$1"'", "title":"#### jdautoenc.sh ####","tag":"'"$apprisetag"'"}' -H "Content-Type: application/json" "$appriseurl" &>/dev/null
|
||||||
}
|
else
|
||||||
|
curl -d '{"body":"'"$1"'", "title":"#### jdautoenc.sh ####","tag":"all"}' -H "Content-Type: application/json" "$appriseurl" &>/dev/null
|
||||||
discord_msg() {
|
fi
|
||||||
curl -s -H "Content-Type: application/json" -X POST -d "{\"content\": \"$1\"}" "$discord" &>/dev/null
|
}
|
||||||
}
|
|
||||||
|
ff_encode() {
|
||||||
nextcloud_msg() {
|
if [[ ${encode,,} == "yes" ]]; then
|
||||||
curl -d '{"token":"'"$NextcloudTalkToken"'", "message":"'"$1"'"}' -H "Content-Type: application/json" -H "Accept:application/json" -H "OCS-APIRequest:true" -u "$NextcloudUser:$NextcloudPassword" "$NextcloudDomain"/ocs/v1.php/apps/spreed/api/v1/chat/tokenid &>/dev/null
|
total_frames=$(ffprobe -v error -show_format -select_streams v:0 -show_streams "$i" | grep TAG:NUMBER_OF_FRAMES= | sed 's/.*=\|\..*//g')
|
||||||
}
|
fps=$(grep "fps=" "$log" | tail -n 1 | sed 's/.*fps=\| q=.*\|\..*//g')
|
||||||
|
eta_encoding=$((total_frames / fps))
|
||||||
apprise_msg() {
|
if [[ $eta_encoding -gt "60" ]]; then
|
||||||
if [[ -n $apprisetag ]]; then
|
log_msg "Estimated Encoding Time: $((total_frames / fps / 60)) Minutes (based on last encoding speed)"
|
||||||
curl -d '{"body":"'"$1"'", "title":"#### jdautoenc.sh ####","tag":"'"$apprisetag"'"}' -H "Content-Type: application/json" "$appriseurl" &>/dev/null
|
else
|
||||||
else
|
log_msg "Estimated Encoding Time: $((total_frames / fps)) Seconds (based on last encoding speed)"
|
||||||
curl -d '{"body":"'"$1"'", "title":"#### jdautoenc.sh ####","tag":"all"}' -H "Content-Type: application/json" "$appriseurl" &>/dev/null
|
fi
|
||||||
fi
|
if ffmpeg -hide_banner -v quiet -stats -nostdin -hwaccel "$1" -hwaccel_output_format "$1" -i "$i" -c:v "$2" -preset "$3" -b:v "$4"K -c:a "$5" -map 0 -c:s copy "${encodes[*]}""${fertig%.*}.mkv" >>"${log[@]}" 2>&1; then
|
||||||
}
|
finishedduration=$(ffprobe -hide_banner -loglevel error -v quiet -stats -i "${encodes[*]}""${fertig%.*}.mkv" -show_entries format=duration -v quiet -of csv="p=0" | sed 's/\..*//g')
|
||||||
|
if [[ $finishedduration -eq $duration ]]; then
|
||||||
ff_encode() {
|
log_msg "${red}$(tr "delete")${white} $(tr "source_file")${purple}""$clear""${white}"
|
||||||
if [[ ${encode,,} == "yes" ]]; then
|
if ! rm -f "$i" &>/dev/null; then
|
||||||
total_frames=$(ffprobe -v error -show_format -select_streams v:0 -show_streams "$i" | grep TAG:NUMBER_OF_FRAMES= | sed 's/.*=\|\..*//g')
|
log_msg "${red}$(tr "error_deleting_source")"
|
||||||
fps=$(grep "fps=" "$log" | tail -n 1 | sed 's/.*fps=\| q=.*\|\..*//g')
|
discord_msg "$(tr "error_deleting_source")"
|
||||||
eta_encoding=$((total_frames / fps))
|
nextcloud_msg "$(tr "error_deleting_source")"
|
||||||
if [[ $eta_encoding -gt "60" ]]; then
|
apprise_msg "$(tr "error_deleting_source")"
|
||||||
log_msg "Estimated Encoding Time: $((total_frames / fps / 60)) Minutes (based on last encoding speed)"
|
fi
|
||||||
else
|
else
|
||||||
log_msg "Estimated Encoding Time: $((total_frames / fps)) Seconds (based on last encoding speed)"
|
rmencoded=$(rm -f "${encodes[*]}""${fertig%.*}.mkv" 2>&1) || log_msg "$rmencoded"
|
||||||
fi
|
log_msg "${red} $(tr "could")"
|
||||||
if ffmpeg -hide_banner -v quiet -stats -nostdin -hwaccel "$1" -hwaccel_output_format "$1" -i "$i" -c:v "$2" -preset "$3" -b:v "$4"K -c:a "$5" -map 0 -c:s copy "${encodes[*]}""${fertig%.*}.mkv" >>"${log[@]}" 2>&1; then
|
nextcloud_msg "$(tr "could") $clear $(tr "not_with") $2 $(tr "convert"). $?"
|
||||||
finishedduration=$(ffprobe -hide_banner -loglevel error -v quiet -stats -i "${encodes[*]}""${fertig%.*}.mkv" -show_entries format=duration -v quiet -of csv="p=0" | sed 's/\..*//g')
|
discord_msg "$(tr "could") $clear $(tr "not_with") $2 $(tr "convert"). $?"
|
||||||
if [[ $finishedduration -eq $duration ]]; then
|
apprise_msg "$(tr "could") $clear $(tr "not_with") $2 $(tr "convert"). $?"
|
||||||
log_msg "${red}$(text_lang "002")${white} $(text_lang "003")${purple}""$clear""${white}"
|
fi
|
||||||
if ! rm -f "$i" &>/dev/null; then
|
fi
|
||||||
log_msg "${red}$(text_lang "004")"
|
else
|
||||||
discord_msg "$(text_lang "004")"
|
mv "$i" "${encodes[*]}""${fertig%.*}"
|
||||||
nextcloud_msg "$(text_lang "004")"
|
fi
|
||||||
apprise_msg "$(text_lang "004")"
|
}
|
||||||
fi
|
log_msg ""
|
||||||
else
|
log_msg "##########################"
|
||||||
rmencoded=$(rm -f "${encodes[*]}""${fertig%.*}.mkv" 2>&1) || log_msg "$rmencoded"
|
log_msg "$(tr "start") ${green}JDautoenc.sh${white} $(tr "script")"
|
||||||
log_msg "${red} $(text_lang "006")"
|
log_msg "##########################"
|
||||||
nextcloud_msg "$(text_lang "006") $clear $(text_lang "007") $2 $(text_lang "008"). $?"
|
log_msg ""
|
||||||
discord_msg "$(text_lang "006") $clear $(text_lang "007") $2 $(text_lang "008"). $?"
|
|
||||||
apprise_msg "$(text_lang "006") $clear $(text_lang "007") $2 $(text_lang "008"). $?"
|
find -L "${extracted[@]}" -name '*.mkv' -or -name '*.mp4' 2>/dev/null | while IFS= read -r i; do
|
||||||
fi
|
|
||||||
fi
|
duration=$(ffprobe -hide_banner -loglevel error -v quiet -stats -i "$i" -show_entries format=duration -v quiet -of csv="p=0" | sed 's/\..*//g')
|
||||||
else
|
fertig=$(basename "$i")
|
||||||
mv "$i" "${encodes[*]}""${fertig%.*}"
|
clear=$(basename "$i" .mkv | sed 's/\./ /g;s/AAC\|1080p\|WebDL\|[a-z]26[0-9]\|[hH][eE][Vv][Cc]\|[tT]anuki\| dl \| web \|repack\|wayne\|\|[-]\|[gG]er\|[eE]ng\|[sS]ub//g;s/\[[^][]*\]\|WebDL\|JapDub\|CR\|REPACK\|V2DK\|man\|BluRay\|RSG//g;s/_/ /g;s/\( \)*/\1/g')
|
||||||
fi
|
################################################ Anime Sektion ################################################
|
||||||
}
|
if [[ -z $duration || $duration -lt "1560" ]]; then
|
||||||
log_msg ""
|
log_msg "${purple}$clear${white} $(tr "is_a") ${blue}$(tr "anime")${white}. $(tr "checking_video_codec")"
|
||||||
log_msg "##########################"
|
vcodec=$(ffprobe -hide_banner -loglevel error -select_streams v:0 -show_entries stream=codec_name -of default=nw=1:nk=1 "$i")
|
||||||
log_msg "$(text_lang "009") ${green}JDautoenc.sh${white} $(text_lang "010")"
|
HDR_test=$(ffprobe -v quiet -show_streams -select_streams v:0 "$i" | grep ^color_transfer= | awk -F'=' '{print $2}')
|
||||||
log_msg "##########################"
|
if [[ $HDR_test == *"smpte2084" || $HDR_test == *"arib-std-b67" ]]; then
|
||||||
log_msg ""
|
log_msg "${bold}HDR Video detected! Enconding not supported"
|
||||||
|
log_msg "$(tr "move") ${purple}$clear${white} $(tr "to_rename")"
|
||||||
find -L "${extracted[@]}" -name '*.mkv' -or -name '*.mp4' 2>/dev/null | while IFS= read -r i; do
|
mv "$i" "${encodes[@]}" 2>/dev/null
|
||||||
|
else
|
||||||
duration=$(ffprobe -hide_banner -loglevel error -v quiet -stats -i "$i" -show_entries format=duration -v quiet -of csv="p=0" | sed 's/\..*//g')
|
if ! [ "$vcodec" == "hevc" ]; then
|
||||||
fertig=$(basename "$i")
|
acodec=$(ffprobe -hide_banner -loglevel error -select_streams a:0 -show_entries stream=codec_name -of default=nw=1:nk=1 "$i")
|
||||||
clear=$(basename "$i" .mkv | sed 's/\./ /g;s/AAC\|1080p\|WebDL\|[a-z]26[0-9]\|[hH][eE][Vv][Cc]\|[tT]anuki\| dl \| web \|repack\|wayne\|\|[-]\|[gG]er\|[eE]ng\|[sS]ub//g;s/\[[^][]*\]\|WebDL\|JapDub\|CR\|REPACK\|V2DK\|man\|BluRay\|RSG//g;s/_/ /g;s/\( \)*/\1/g')
|
if [[ $acodec == "eac3" || $acodec == "dts" ]]; then
|
||||||
################################################ Anime Sektion ################################################
|
log_msg "${blue}$(tr "anime")${white} ${purple}""$clear""${white} $(tr "encode_from") ${vcodec^^} & ${acodec^^} $(tr "to") HEVC & AC3"
|
||||||
if [[ -z $duration || $duration -lt "1560" ]]; then
|
ff_encode "$hw_accel" "$codec" "$preset_anime" "$bitrate_anime" ac3
|
||||||
log_msg "${purple}$clear${white} $(text_lang "011") ${blue}$(text_lang "012")${white}. $(text_lang "013")"
|
else
|
||||||
vcodec=$(ffprobe -hide_banner -loglevel error -select_streams v:0 -show_entries stream=codec_name -of default=nw=1:nk=1 "$i")
|
log_msg "${blue}$(tr "anime")${white} ${purple}""$clear""${white} $(tr "encode_from") ${vcodec^^} $(tr "to") HEVC"
|
||||||
HDR_test=$(ffprobe -v quiet -show_streams -select_streams v:0 "$i" | grep ^color_transfer= | awk -F'=' '{print $2}')
|
ff_encode "$hw_accel" "$codec" "$preset_anime" "$bitrate_anime" "copy"
|
||||||
if [[ $HDR_test == *"smpte2084" || $HDR_test == *"arib-std-b67" ]]; then
|
fi
|
||||||
log_msg "${bold}HDR Video detected! Enconding not supported"
|
else
|
||||||
log_msg "$(text_lang "017") ${purple}$clear${white} $(text_lang "018")"
|
acodec=$(ffprobe -hide_banner -loglevel error -select_streams a:0 -show_entries stream=codec_name -of default=nw=1:nk=1 "$i")
|
||||||
mv "$i" "${encodes[@]}" 2>/dev/null
|
log_msg "${purple}""$clear""${white} $(tr "already_hevc")"
|
||||||
else
|
if [[ $acodec == "eac3" || $acodec == "dts" ]]; then
|
||||||
if ! [ "$vcodec" == "hevc" ]; then
|
log_msg "${purple}""$clear""${white} $(tr "encode_from") ${acodec^^} $(tr "to") AC3"
|
||||||
acodec=$(ffprobe -hide_banner -loglevel error -select_streams a:0 -show_entries stream=codec_name -of default=nw=1:nk=1 "$i")
|
ff_encode "$hw_accel" "copy" "$preset_anime" "$bitrate_anime" "ac3"
|
||||||
if [[ $acodec == "eac3" || $acodec == "dts" ]]; then
|
else
|
||||||
log_msg "${blue}$(text_lang "012")${white} ${purple}""$clear""${white} $(text_lang "014") ${vcodec^^} & ${acodec^^} $(text_lang "015") HEVC & AC3"
|
log_msg "$(tr "move") ${purple}$clear${white} $(tr "to_rename")"
|
||||||
ff_encode "$hw_accel" "$codec" "$preset_anime" "$bitrate_anime" ac3
|
mv "$i" "${encodes[@]}" 2>/dev/null
|
||||||
else
|
fi
|
||||||
log_msg "${blue}$(text_lang "012")${white} ${purple}""$clear""${white} $(text_lang "014") ${vcodec^^} $(text_lang "015") HEVC"
|
fi
|
||||||
ff_encode "$hw_accel" "$codec" "$preset_anime" "$bitrate_anime" "copy"
|
fi
|
||||||
fi
|
################################################ Serien Sektion ################################################
|
||||||
else
|
elif [ "$duration" -gt "1561" ] && [ "$duration" -lt "4750" ]; then
|
||||||
acodec=$(ffprobe -hide_banner -loglevel error -select_streams a:0 -show_entries stream=codec_name -of default=nw=1:nk=1 "$i")
|
log_msg "${purple}$fertig${white} $(tr "is_a") ${lblue}$(tr "series")${white}. $(tr "checking_video_codec")"
|
||||||
log_msg "${purple}""$clear""${white} $(text_lang "016")"
|
vcodec=$(ffprobe -hide_banner -loglevel error -select_streams v:0 -show_entries stream=codec_name -of default=nw=1:nk=1 "$i")
|
||||||
if [[ $acodec == "eac3" || $acodec == "dts" ]]; then
|
HDR_test=$(ffprobe -v quiet -show_streams -select_streams v:0 "$i" | grep ^color_transfer= | awk -F'=' '{print $2}')
|
||||||
log_msg "${purple}""$clear""${white} $(text_lang "014") ${acodec^^} $(text_lang "015") AC3"
|
if [[ $HDR_test == *"smpte2084" || $HDR_test == *"arib-std-b67" ]]; then
|
||||||
ff_encode "$hw_accel" "copy" "$preset_anime" "$bitrate_anime" "ac3"
|
log_msg "${bold}HDR Video detected! Enconding not supported"
|
||||||
else
|
log_msg "$(tr "move") ${purple}$clear${white} $(tr "to_rename")"
|
||||||
log_msg "$(text_lang "017") ${purple}$clear${white} $(text_lang "018")"
|
mv "$i" "${encodes[@]}" 2>/dev/null
|
||||||
mv "$i" "${encodes[@]}" 2>/dev/null
|
else
|
||||||
fi
|
if ! [ "$vcodec" = "hevc" ]; then
|
||||||
fi
|
acodec=$(ffprobe -hide_banner -loglevel error -select_streams a:0 -show_entries stream=codec_name -of default=nw=1:nk=1 "$i")
|
||||||
fi
|
if [[ $acodec == "eac3" || $acodec == "dts" ]]; then
|
||||||
################################################ Serien Sektion ################################################
|
log_msg "${lblue}$(tr "series")${white} ${purple}$clear${white} $(tr "encode_from") ${vcodec^^} & ${acodec^^} $(tr "to") HEVC 1700k & AC3"
|
||||||
elif [ "$duration" -gt "1561" ] && [ "$duration" -lt "4750" ]; then
|
ff_encode "$hw_accel" "$codec" "$preset_series" "$bitrate_series" "ac3"
|
||||||
log_msg "${purple}$fertig${white} $(text_lang "011") ${lblue}$(text_lang "019")${white}. $(text_lang "013")"
|
else
|
||||||
vcodec=$(ffprobe -hide_banner -loglevel error -select_streams v:0 -show_entries stream=codec_name -of default=nw=1:nk=1 "$i")
|
log_msg "${lblue}$(tr "series")${white} $fertig $(tr "encode_from") ${vcodec^^} $(tr "to") HEVC 1700k"
|
||||||
HDR_test=$(ffprobe -v quiet -show_streams -select_streams v:0 "$i" | grep ^color_transfer= | awk -F'=' '{print $2}')
|
ff_encode "$hw_accel" "$codec" "$preset_series" "$bitrate_series" "copy"
|
||||||
if [[ $HDR_test == *"smpte2084" || $HDR_test == *"arib-std-b67" ]]; then
|
fi
|
||||||
log_msg "${bold}HDR Video detected! Enconding not supported"
|
else
|
||||||
log_msg "$(text_lang "017") ${purple}$clear${white} $(text_lang "018")"
|
acodec=$(ffprobe -hide_banner -loglevel error -select_streams a:0 -show_entries stream=codec_name -of default=nw=1:nk=1 "$i")
|
||||||
mv "$i" "${encodes[@]}" 2>/dev/null
|
if [[ $acodec == "eac3" || $acodec == "dts" ]]; then
|
||||||
else
|
log_msg "${purple}$clear${white} $(tr "encode_from") ${acodec^^} $(tr "to") AC3"
|
||||||
if ! [ "$vcodec" = "hevc" ]; then
|
ff_encode "$hw_accel" "copy" "$preset_series" "$bitrate_series" "ac3"
|
||||||
acodec=$(ffprobe -hide_banner -loglevel error -select_streams a:0 -show_entries stream=codec_name -of default=nw=1:nk=1 "$i")
|
else
|
||||||
if [[ $acodec == "eac3" || $acodec == "dts" ]]; then
|
log_msg "$(tr "move") ${purple}$clear${white} $(tr "to_rename")"
|
||||||
log_msg "${lblue}$(text_lang "019")${white} ${purple}$clear${white} $(text_lang "014") ${vcodec^^} & ${acodec^^} $(text_lang "015") HEVC 1700k & AC3"
|
mv "$i" "${encodes[@]}" 2>/dev/null
|
||||||
ff_encode "$hw_accel" "$codec" "$preset_series" "$bitrate_series" "ac3"
|
fi
|
||||||
else
|
fi
|
||||||
log_msg "${lblue}$(text_lang "019")${white} $fertig $(text_lang "014") ${vcodec^^} $(text_lang "015") HEVC 1700k"
|
fi
|
||||||
ff_encode "$hw_accel" "$codec" "$preset_series" "$bitrate_series" "copy"
|
################################################ Filme Sektion ################################################
|
||||||
fi
|
elif [ "$duration" -gt "4751" ]; then
|
||||||
else
|
log_msg "${purple}$fertig${white} $(tr "is_a") ${cyan}$(tr "movie")${white}, $(tr "checking_video_codec")"
|
||||||
acodec=$(ffprobe -hide_banner -loglevel error -select_streams a:0 -show_entries stream=codec_name -of default=nw=1:nk=1 "$i")
|
vcodec=$(ffprobe -hide_banner -loglevel error -select_streams v:0 -show_entries stream=codec_name -of default=nw=1:nk=1 "$i")
|
||||||
if [[ $acodec == "eac3" || $acodec == "dts" ]]; then
|
HDR_test=$(ffprobe -v quiet -show_streams -select_streams v:0 "$i" | grep ^color_transfer= | awk -F'=' '{print $2}')
|
||||||
log_msg "${purple}$clear${white} $(text_lang "014") ${acodec^^} $(text_lang "015") AC3"
|
if [[ $HDR_test == *"smpte2084" || $HDR_test == *"arib-std-b67" ]]; then
|
||||||
ff_encode "$hw_accel" "copy" "$preset_series" "$bitrate_series" "ac3"
|
log_msg "${bold}HDR Video detected! Enconding not supported"
|
||||||
else
|
log_msg "$(tr "move") ${purple}$clear${white} $(tr "to_rename")"
|
||||||
log_msg "$(text_lang "017") ${purple}$clear${white} $(text_lang "018")"
|
mv "$i" "${encodes[@]}" 2>/dev/null
|
||||||
mv "$i" "${encodes[@]}" 2>/dev/null
|
else
|
||||||
fi
|
if ! [ "$vcodec" = "hevc" ]; then
|
||||||
fi
|
acodec=$(ffprobe -hide_banner -loglevel error -select_streams a:0 -show_entries stream=codec_name -of default=nw=1:nk=1 "$i")
|
||||||
fi
|
if [[ $acodec == "eac3" || $acodec == "dts" ]]; then
|
||||||
################################################ Filme Sektion ################################################
|
log_msg "${cyan}$(tr "movie")${white} ${purple}$clear${white} $(tr "encode_from") $vcodec & $acodec $(tr "to") HEVC 2M & AC3 500k"
|
||||||
elif [ "$duration" -gt "4751" ]; then
|
ff_encode "$hw_accel" "$codec" "$preset_movie" "$bitrate_movie" "ac3"
|
||||||
log_msg "${purple}$fertig${white} $(text_lang "011") ${cyan}$(text_lang "022")${white}, $(text_lang "013")"
|
else
|
||||||
vcodec=$(ffprobe -hide_banner -loglevel error -select_streams v:0 -show_entries stream=codec_name -of default=nw=1:nk=1 "$i")
|
log_msg "${cyan}$(tr "movie")${white} ${purple}$clear${white} $(tr "encode_from") $vcodec $(tr "to") HEVC 2M"
|
||||||
HDR_test=$(ffprobe -v quiet -show_streams -select_streams v:0 "$i" | grep ^color_transfer= | awk -F'=' '{print $2}')
|
ff_encode "$hw_accel" "$codec" "$preset_movie" "$bitrate_movie" "copy"
|
||||||
if [[ $HDR_test == *"smpte2084" || $HDR_test == *"arib-std-b67" ]]; then
|
fi
|
||||||
log_msg "${bold}HDR Video detected! Enconding not supported"
|
else
|
||||||
log_msg "$(text_lang "017") ${purple}$clear${white} $(text_lang "018")"
|
acodec=$(ffprobe -hide_banner -loglevel error -select_streams a:0 -show_entries stream=codec_name -of default=nw=1:nk=1 "$i")
|
||||||
mv "$i" "${encodes[@]}" 2>/dev/null
|
log_msg "${purple}$clear${white} $(tr "already_hevc")"
|
||||||
else
|
if [[ $acodec == "eac3" || $acodec == "dts" ]]; then
|
||||||
if ! [ "$vcodec" = "hevc" ]; then
|
log_msg "${purple}$clear${white} $(tr "encode_from") ${acodec^^} $(tr "to") AC3"
|
||||||
acodec=$(ffprobe -hide_banner -loglevel error -select_streams a:0 -show_entries stream=codec_name -of default=nw=1:nk=1 "$i")
|
ff_encode "$hw_accel" "copy" "$preset_movie" "$bitrate_movie" "ac3"
|
||||||
if [[ $acodec == "eac3" || $acodec == "dts" ]]; then
|
else
|
||||||
log_msg "${cyan}$(text_lang "022")${white} ${purple}$clear${white} $(text_lang "014") $vcodec & $acodec $(text_lang "015") HEVC 2M & AC3 500k"
|
log_msg "$(tr "move") ${purple}$clear${white} $(tr "to_rename")"
|
||||||
ff_encode "$hw_accel" "$codec" "$preset_movie" "$bitrate_movie" "ac3"
|
mv "$i" "${encodes[@]}" 2>/dev/null
|
||||||
else
|
fi
|
||||||
log_msg "${cyan}$(text_lang "022")${white} ${purple}$clear${white} $(text_lang "014") $vcodec $(text_lang "015") HEVC 2M"
|
fi
|
||||||
ff_encode "$hw_accel" "$codec" "$preset_movie" "$bitrate_movie" "copy"
|
fi
|
||||||
fi
|
fi
|
||||||
else
|
done
|
||||||
acodec=$(ffprobe -hide_banner -loglevel error -select_streams a:0 -show_entries stream=codec_name -of default=nw=1:nk=1 "$i")
|
|
||||||
log_msg "${purple}$clear${white} $(text_lang "016")"
|
log_msg "$(tr "remove_lock")"
|
||||||
if [[ $acodec == "eac3" || $acodec == "dts" ]]; then
|
rm -f /tmp/jdautoenc.lock
|
||||||
log_msg "${purple}$clear${white} $(text_lang "014") ${acodec^^} $(text_lang "015") AC3"
|
|
||||||
ff_encode "$hw_accel" "copy" "$preset_movie" "$bitrate_movie" "ac3"
|
log_msg "${red}$(tr "delete")${white} $(tr "empty_folder")"
|
||||||
else
|
find "${extracted[@]}"* -type d -empty -delete 2>/dev/null >>"${log[@]}"
|
||||||
log_msg "$(text_lang "017") ${purple}$clear${white} $(text_lang "018")"
|
|
||||||
mv "$i" "${encodes[@]}" 2>/dev/null
|
/bin/bash "$rename" "$log" "$config" &
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
log_msg "$(text_lang "020")"
|
|
||||||
rm -f /tmp/jdautoenc.lock
|
|
||||||
|
|
||||||
log_msg "${red}$(text_lang "002")${white} $(text_lang "021")"
|
|
||||||
find "${extracted[@]}"* -type d -empty -delete 2>/dev/null >>"${log[@]}"
|
|
||||||
|
|
||||||
/bin/bash "$rename" "$log" "$config" &
|
|
||||||
+21
-21
@@ -1,21 +1,21 @@
|
|||||||
001 Möchtest du einen
|
add_prompt Möchtest du einen
|
||||||
002 Film
|
film Film
|
||||||
003 oder eine/n
|
or_a oder eine/n
|
||||||
004 Anime
|
anime Anime
|
||||||
005 Serie
|
series Serie
|
||||||
006 zum umbenennen hinzufügen?
|
to_rename zum umbenennen hinzufügen?
|
||||||
007 Gebe Anime, Serie, Film oder beenden ein
|
enter_type Gebe Anime, Serie, Film oder beenden ein
|
||||||
008 Nach welchem
|
by_which Nach welchem
|
||||||
009 Stichwort
|
keyword Stichwort
|
||||||
010 soll der
|
should_the soll der
|
||||||
011 Eintrag abgeglichen werden?
|
entry_matched Eintrag abgeglichen werden?
|
||||||
012 Falls du möchtest
|
if_you_want Falls du möchtest
|
||||||
013 gebe nun ein zweites Schlagwort ein
|
second_keyword gebe nun ein zweites Schlagwort ein
|
||||||
014 Es handelt sich um den Anime:
|
this_is_anime Es handelt sich um den Anime:
|
||||||
015 Ist dies Korrekt? (Y/n)
|
is_correct Ist dies Korrekt? (Y/n)
|
||||||
016 Leider konnte deine Anfrage nicht automatisch abgearbeitet werden. Du kannst aber immernoch manuell einen Eintrag hinzufügen
|
manual_add Leider konnte deine Anfrage nicht automatisch abgearbeitet werden. Du kannst aber immernoch manuell einen Eintrag hinzufügen
|
||||||
017 Es handelt sich um die Serie:
|
this_is_series Es handelt sich um die Serie:
|
||||||
018 Es handelt sich um den Film:
|
this_is_movie Es handelt sich um den Film:
|
||||||
019 Gebe nun die
|
enter_now Gebe nun die
|
||||||
020 ein.
|
number ein.
|
||||||
021 Nummer in der URL
|
url_number Nummer in der URL
|
||||||
+109
-200
@@ -1,200 +1,109 @@
|
|||||||
001 Ist der Pfad der JDAutoConfig richtig?
|
config_path_correct Ist der Pfad der JDAutoConfig richtig?
|
||||||
002 Wie lautet der Richtige Pfad?
|
config_path_what Wie lautet der Richtige Pfad?
|
||||||
003 Gebe hier den Vollständigen Pfad zum JDAutoConfig an
|
config_path_enter Gebe hier den Vollständigen Pfad zum JDAutoConfig an
|
||||||
004 Pfad wurde nicht geändert
|
path_not_changed Pfad wurde nicht geändert
|
||||||
005 Der Pfad wurde nicht geändert
|
path_not_changed_title Der Pfad wurde nicht geändert
|
||||||
006 Der Pfad vom
|
path_from Der Pfad vom
|
||||||
007 wurde geändert!
|
path_changed wurde geändert!
|
||||||
008 Der neue Pfad lautet:
|
new_path Der neue Pfad lautet:
|
||||||
009 Fehler beim ändern des Pfads!
|
error_path Fehler beim ändern des Pfads!
|
||||||
010 Der neue Pfad:
|
new_path_err Der neue Pfad:
|
||||||
011 Konnte nicht geändert werden!
|
could_not_change Konnte nicht geändert werden!
|
||||||
012 Wähle die zu nutzende Datenbank aus:
|
select_db Wähle die zu nutzende Datenbank aus:
|
||||||
013 Bitrate Einstellungen
|
bitrate_settings Bitrate Einstellungen
|
||||||
014 Gebe hier die Kbits (ohne endung) für
|
enter_kbits Gebe hier die Kbits (ohne endung) für
|
||||||
015 Leertaste zum auswählen, Enter zum bestätigen.
|
space_select Leertaste zum auswählen, Enter zum bestätigen.
|
||||||
016 Wähle
|
select Wähle
|
||||||
017 Beenden
|
exit Beenden
|
||||||
018 Preset Einstellungen
|
preset_settings Preset Einstellungen
|
||||||
019 Gebe hier das zu nutzende FFmpeg Preset an für
|
enter_preset Gebe hier das zu nutzende FFmpeg Preset an für
|
||||||
020 Am Schnellsten, geringste Qualität
|
fastest Am Schnellsten, geringste Qualität
|
||||||
021 Schnell Geringe Qualität
|
fast_low Schnell Geringe Qualität
|
||||||
022 Schnell annehmbare Qualität
|
fast_accept Schnell annehmbare Qualität
|
||||||
023 Empfohlen. Relativ schnell, Qualität laut VMAF Tool im schnitt 96-99% vom Quellmedium
|
recommended Empfohlen. Relativ schnell, Qualität laut VMAF Tool im schnitt 96-99% vom Quellmedium
|
||||||
024 Balanced
|
balanced Balanced
|
||||||
025 Etwas langsam. Nur noch kleinere Dateigrößen, keine relevanten Qualitätseinbußen mehr
|
somewhat_slow Etwas langsam. Nur noch kleinere Dateigrößen, keine relevanten Qualitätseinbußen mehr
|
||||||
026 Noch langsamer.
|
even_slower Noch langsamer.
|
||||||
027 Wirklich Langsam.
|
really_slow Wirklich Langsam.
|
||||||
028 Vielleicht doch lieber auf ein Remux warten?
|
wait_remux Vielleicht doch lieber auf ein Remux warten?
|
||||||
029 Naja, am besten encodieren ausschalten, huh?
|
switch_off Naja, am besten encodieren ausschalten, huh?
|
||||||
030 Was möchtest du Konfigurieren?
|
what_configure Was möchtest du Konfigurieren?
|
||||||
031 WIP. Die Möglichkeiten zum Feinjustieren, werden noch erweitert.
|
wip WIP. Die Möglichkeiten zum Feinjustieren, werden noch erweitert.
|
||||||
032 Bei Problemen öffnet ein issue unter: shorturl.at/bvDQ6 (Github link, einfacher abzutippen oder https://exe.io/jdautoenc falls ihr mich per Werbung unterstützen wollt)
|
open_issue Bei Problemen öffnet ein issue unter: shorturl.at/bvDQ6 (Github link, einfacher abzutippen oder https://exe.io/jdautoenc falls ihr mich per Werbung unterstützen wollt)
|
||||||
033 Ordnerpfade
|
folder_paths Ordnerpfade
|
||||||
034 Log Farben
|
log_colors Log Farben
|
||||||
035 Benachrichtigungssystem
|
notification_system Benachrichtigungssystem
|
||||||
036 Encoding Einstellungen
|
encoding_settings Encoding Einstellungen
|
||||||
037 Encoding Hardware
|
encoding_hardware Encoding Hardware
|
||||||
038 FileBot Einstellungen
|
filebot_settings FileBot Einstellungen
|
||||||
039 Befinden sich alle Skripte an der selben stelle?
|
scripts_same_place Befinden sich alle Skripte an der selben stelle?
|
||||||
040 Die JDAutoConfig wurde in
|
jdautconfig_found Die JDAutoConfig wurde in
|
||||||
041 gefunden. Ist dies der Pfad aller Skripte?
|
found_path gefunden. Ist dies der Pfad aller Skripte?
|
||||||
042 ACHTUNG! Nur die Skripte werden dadurch angepasst. der Entpackt und der Encoding Ordner sowie der Pfad für das Log müssen manuell gesetzt werden!
|
attention_paths ACHTUNG! Nur die Skripte werden dadurch angepasst. der Entpackt und der Encoding Ordner sowie der Pfad für das Log müssen manuell gesetzt werden!
|
||||||
043 Welchen Ordnerpfad möchtest du Anpassen?
|
which_path Welchen Ordnerpfad möchtest du Anpassen?
|
||||||
044 Bitte Auswahl treffen
|
please_select Bitte Auswahl treffen
|
||||||
045 Entpackt Ordner
|
unpacked_folder Entpackt Ordner
|
||||||
046 Encodes Ordner
|
encodes_folder Encodes Ordner
|
||||||
047 Log Pfad
|
log_path Log Pfad
|
||||||
048 Filme:
|
movies_label Filme:
|
||||||
049 Serien:
|
series_label Serien:
|
||||||
050 Animes:
|
anime_label Animes:
|
||||||
051 Pfad Einstellung ändern
|
change_path Pfad Einstellung ändern
|
||||||
052 Neuer Pfad für
|
new_path_for Neuer Pfad für
|
||||||
053 Ordnerpfad für den Ordner in dem vom JD2 entpackte Videos liegen:
|
unpacked_path_desc Ordnerpfad für den Ordner in dem vom JD2 entpackte Videos liegen:
|
||||||
054 Neuer Pfad für das Verzeichnis, in dem die Fertig encodierten Videos sind/sollen
|
encodes_path_desc Neuer Pfad für das Verzeichnis, in dem die Fertig encodierten Videos sind/sollen
|
||||||
055 Filme Ordner
|
movies_folder Filme Ordner
|
||||||
056 Serien Ordner
|
series_folder Serien Ordner
|
||||||
057 Anime Ordner
|
anime_folder Anime Ordner
|
||||||
058 Welchen Nachrichtendienst möchtest du Konfigurieren?
|
which_messaging Welchen Nachrichtendienst möchtest du Konfigurieren?
|
||||||
059 Wähle das Nachrichtensystem:
|
choose_messaging Wähle das Nachrichtensystem:
|
||||||
060 Konfiguration der Discord WebHook
|
discord_hook Konfiguration der Discord WebHook
|
||||||
061 Gebe hier die Vollständige Adresse der Discord Webhook an. Momentan:
|
discord_enter Gebe hier die Vollständige Adresse der Discord Webhook an. Momentan:
|
||||||
062 Hier kannst du die Nextcloud Benachrichtigungen einstellen
|
nextcloud_set Hier kannst du die Nextcloud Benachrichtigungen einstellen
|
||||||
063 Wähle hier die zu ändernde Einstellungen
|
nextcloud_choose Wähle hier die zu ändernde Einstellungen
|
||||||
064 Momentan:
|
currently Momentan:
|
||||||
065 Konfiguration für Nextcloud
|
nextcloud_config Konfiguration für Nextcloud
|
||||||
066 Gebe hier die Vollständige Adresse zu deiner Nextcloud an.
|
nextcloud_domain Gebe hier die Vollständige Adresse zu deiner Nextcloud an.
|
||||||
067 Dies kann eine Domain zur Nextcloud sein: https://meineNextcloud.domain
|
nextcloud_domain_desc Dies kann eine Domain zur Nextcloud sein: https://meineNextcloud.domain
|
||||||
068 Oder aber auch die IP (+Port falls nicht 80/443) falls der JDownloader und die Nextcloud im selben Netzwerk sind: 10.0.0.4:85
|
nextcloud_ip Oder aber auch die IP (+Port falls nicht 80/443) falls der JDownloader und die Nextcloud im selben Netzwerk sind: 10.0.0.4:85
|
||||||
069 Gebe hier den Nextcloud User an, der die Nachrichten schreibt.
|
nextcloud_user Gebe hier den Nextcloud User an, der die Nachrichten schreibt.
|
||||||
070 Gebe hier das Password vom User an.
|
nextcloud_pass Gebe hier das Password vom User an.
|
||||||
071 Gebe hier den token des Chat-Kanals an.
|
nextcloud_token Gebe hier den token des Chat-Kanals an.
|
||||||
072 Beispiel: https://nextcloud.domain/call/ne6ht3u7 ne6ht3u7 wäre in dem fall der Token
|
nextcloud_example Beispiel: https://nextcloud.domain/call/ne6ht3u7 ne6ht3u7 wäre in dem fall der Token
|
||||||
073 Die Encoding Einstellungen wurden zu nVidia geändert.
|
ffmpeg_settings Hier kannst du die FFmpeg Settings ändern
|
||||||
074 Hier kannst du die FFmpeg Settings ändern
|
ffmpeg_choose Wähle hier die zu ändernden Einstellungen
|
||||||
075 Wähle hier die zu ändernden Einstellungen
|
encoding_label Encodieren:
|
||||||
076 Encodieren:
|
bitrate_anime Bitrate Anime Aktuell:
|
||||||
077 Bitrate Anime Aktuell:
|
preset_anime FFmpeg Preset Animes Aktuell:
|
||||||
078 FFmpeg Preset Animes Aktuell:
|
bitrate_series Bitrate Serien Aktuell:
|
||||||
079 Bitrate Serien Aktuell:
|
preset_series FFmpeg Preset Serien Aktuell:
|
||||||
080 FFmpeg Preset Serien Aktuell:
|
bitrate_movies Bitrate Filme Aktuell:
|
||||||
081 Bitrate Filme Aktuell:
|
preset_movies FFmpeg Preset Filme Aktuell:
|
||||||
082 FFmpeg Preset Filme Aktuell:
|
encode_toggle Encodieren ein/ausschalten
|
||||||
083 Encodieren ein/ausschalten
|
encode_choose Wähle ob du Encodieren möchtest
|
||||||
084 Wähle ob du Encodieren möchtest
|
gpu Grafikkarte
|
||||||
085 Grafikkarte
|
discovered Entdeckt!
|
||||||
086 Entdeckt!
|
which_hardware Welche Hardware möchtest du verwenden?
|
||||||
087 Welche Hardware möchtest du verwenden?
|
select_hardware Bitte wähle die zu nutzende Hardware. Folgende Hardware scheint installiert zu sein:
|
||||||
088 Bitte wähle die zu nutzende Hardware. Folgende Hardware scheint installiert zu sein:
|
nvidia_changed Die Encoding Einstellungen wurden zu nVidia geändert.
|
||||||
089 Die Encoding Einstellungen wurden zu nVidia geändert.
|
cuda_used Es werden die Cuda Prozessoren mit dem NVENC encoder genutzt.
|
||||||
090 Es werden die Cuda Prozessoren mit dem NVENC encoder genutzt.
|
amd_changed Die Encoding Einstellungen wurden zu AMD geändert.
|
||||||
091 Die Encoding Einstellungen wurden zu AMD geändert.
|
amd_used Es werden mit der AMD-Transistoren mit dem amf encoder genutzt.
|
||||||
092 Es werden mit der AMD-Transistoren mit dem amf encoder genutzt.
|
intel_changed Die Encoding Einstellungen wurden zu Intel geändert.
|
||||||
093 Die Encoding Einstellungen wurden zu nVidia geändert.
|
intel_used Es wird der Intel QuickSync Chip mit qsv encoder genutzt.
|
||||||
094 Es wird der Intel QuickSync Chip mit qsv encoder genutzt.
|
software_not_supported Das Encoding per Software wird zurzeit nicht unterstützt!
|
||||||
095 Das Encoding per Software wird zurzeit nicht unterstützt!
|
filebot_change Ändere FileBot Spezifische Einstellungen
|
||||||
096 Ändere FileBot Spezifische Einstellungen
|
filebot_what_change Was möchtest du verändern?
|
||||||
097 Was möchtest du verändern?
|
movie_db Film Datenbank zurzeit:
|
||||||
098 Film Datenbank zurzeit:
|
series_db Serien Datenbank zurzeit:
|
||||||
099 Serien Datenbank zurzeit:
|
anime_db Anime Datenbank zurzeit:
|
||||||
100 Anime Datenbank zurzeit:
|
movie_naming Film Namensschema zurzeit:
|
||||||
101 Film Namensschema zurzeit:
|
series_naming Serien Namensschema zurzeit:
|
||||||
102 Serien Namensschema zurzeit:
|
anime_naming Anime Namensschema zurzeit:
|
||||||
103 Anime Namensschema zurzeit:
|
language_deduct Abzugleichende Sprache zurzeit:
|
||||||
104 Abzugleichende Sprache zurzeit:
|
movie_path_desc Neuer Pfad für Filme. Für Beispiele und Möglichkeiten: https://www.filebot.net/naming.html Beispiele:
|
||||||
105 Neuer Pfad für Filme. Für Beispiele und Möglichkeiten: https://www.filebot.net/naming.html Beispiele:
|
series_path_desc Neuer Pfad für Serien. Für Beispiele und Möglichkeiten: https://www.filebot.net/naming.html Beispiele:
|
||||||
106 Neuer Pfad für Serien. Für Beispiele und Möglichkeiten: https://www.filebot.net/naming.html Beispiele:
|
anime_path_desc Neuer Pfad für Animes. Für Beispiele und Möglichkeiten: https://www.filebot.net/naming.html Beispiele:
|
||||||
107 Neuer Pfad für Animes. Für Beispiele und Möglichkeiten: https://www.filebot.net/naming.html Beispiele:
|
naming_not_changed Das Namenschema wurde nicht verändert!
|
||||||
108 Das Namenschema wurde nicht verändert!
|
select_language Filebot zu nutzende Sprache auswählen
|
||||||
109 Filebot zu nutzende Sprache auswählen
|
filebot_language Wähle die von FileBot zu nutzende Sprache aus
|
||||||
110 Wähle die von FileBot zu nutzende Sprache aus
|
|
||||||
111
|
|
||||||
112
|
|
||||||
113
|
|
||||||
114
|
|
||||||
115
|
|
||||||
116
|
|
||||||
117
|
|
||||||
118
|
|
||||||
119
|
|
||||||
120
|
|
||||||
121
|
|
||||||
122
|
|
||||||
123
|
|
||||||
124
|
|
||||||
125
|
|
||||||
126
|
|
||||||
127
|
|
||||||
128
|
|
||||||
129
|
|
||||||
130
|
|
||||||
131
|
|
||||||
132
|
|
||||||
133
|
|
||||||
134
|
|
||||||
135
|
|
||||||
136
|
|
||||||
137
|
|
||||||
138
|
|
||||||
139
|
|
||||||
140
|
|
||||||
141
|
|
||||||
142
|
|
||||||
143
|
|
||||||
144
|
|
||||||
145
|
|
||||||
146
|
|
||||||
147
|
|
||||||
148
|
|
||||||
149
|
|
||||||
150
|
|
||||||
151
|
|
||||||
152
|
|
||||||
153
|
|
||||||
154
|
|
||||||
155
|
|
||||||
156
|
|
||||||
157
|
|
||||||
158
|
|
||||||
159
|
|
||||||
160
|
|
||||||
161
|
|
||||||
162
|
|
||||||
163
|
|
||||||
164
|
|
||||||
165
|
|
||||||
166
|
|
||||||
167
|
|
||||||
168
|
|
||||||
169
|
|
||||||
170
|
|
||||||
171
|
|
||||||
172
|
|
||||||
173
|
|
||||||
174
|
|
||||||
175
|
|
||||||
176
|
|
||||||
177
|
|
||||||
178
|
|
||||||
179
|
|
||||||
180
|
|
||||||
181
|
|
||||||
182
|
|
||||||
183
|
|
||||||
184
|
|
||||||
185
|
|
||||||
186
|
|
||||||
187
|
|
||||||
188
|
|
||||||
189
|
|
||||||
190
|
|
||||||
191
|
|
||||||
192
|
|
||||||
193
|
|
||||||
194
|
|
||||||
195
|
|
||||||
196
|
|
||||||
197
|
|
||||||
198
|
|
||||||
199
|
|
||||||
200
|
|
||||||
+22
-22
@@ -1,22 +1,22 @@
|
|||||||
001 jdautoenc wurde bereits gestartet, warte auf dessen Beendigung.
|
already_started jdautoenc wurde bereits gestartet, warte auf dessen Beendigung.
|
||||||
002 Lösche
|
delete Lösche
|
||||||
003 Quelldatei
|
source_file Quelldatei
|
||||||
004 Fehler beim löschen der Quelldatei
|
error_deleting_source Fehler beim löschen der Quelldatei
|
||||||
005 Dauer des Videos stimmen nicht überein!
|
duration_mismatch Dauer des Videos stimmen nicht überein!
|
||||||
006 Konnte
|
could Konnte
|
||||||
007 nicht mit
|
not_with nicht mit
|
||||||
008 umwandeln
|
convert umwandeln
|
||||||
009 Starte
|
start Starte
|
||||||
010 Skript
|
script Skript
|
||||||
011 ist ein
|
is_a ist ein
|
||||||
012 Anime
|
anime Anime
|
||||||
013 Überprüfe nun den Video Codec.
|
checking_video_codec Überprüfe nun den Video Codec.
|
||||||
014 Encode von
|
encode_from Encode von
|
||||||
015 zu
|
to zu
|
||||||
016 ist bereits HEVC, Überprüfe Audio Codec. Wenn in eac3 oder dts dann Encode Audio zu AC3.
|
already_hevc ist bereits HEVC, Überprüfe Audio Codec. Wenn in eac3 oder dts dann Encode Audio zu AC3.
|
||||||
017 verschiebe
|
move verschiebe
|
||||||
018 zum umbenennen.
|
to_rename zum umbenennen.
|
||||||
019 Serie
|
series Serie
|
||||||
020 Entferne jdautoenc.lock
|
remove_lock Entferne jdautoenc.lock
|
||||||
021 leere Ordner im Entpackt verzeichnis.
|
empty_folder leere Ordner im Entpackt verzeichnis.
|
||||||
022 Film
|
movie Film
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
001 Wähle den zu löschenden Eintrag aus:
|
select_delete Wähle den zu löschenden Eintrag aus:
|
||||||
002 Beenden
|
exit Beenden
|
||||||
003 Bist du sicher, dass du
|
sure_delete Bist du sicher, dass du
|
||||||
004 löschen
|
delete löschen
|
||||||
005 willst?
|
want willst?
|
||||||
006 Ungültige Eingabe.
|
invalid Ungültige Eingabe.
|
||||||
+19
-19
@@ -1,19 +1,19 @@
|
|||||||
001 Warte auf das beenden vom Encoden.
|
wait_encoding Warte auf das beenden vom Encoden.
|
||||||
002 Renaming läuft bereits. Warte auf dessen durchlauf.
|
renaming_running Renaming läuft bereits. Warte auf dessen durchlauf.
|
||||||
003 Starte
|
start Starte
|
||||||
004 Skript
|
script Skript
|
||||||
005 Bennene
|
name Bennene
|
||||||
006 stimmt nicht mit
|
does_not_match stimmt nicht mit
|
||||||
007 überein.
|
match überein.
|
||||||
008 Gehe zum nächsten Eintrag.
|
next_entry Gehe zum nächsten Eintrag.
|
||||||
009 ist ein Film, extrahiere Namen für Ordner.
|
is_movie ist ein Film, extrahiere Namen für Ordner.
|
||||||
010 Erstelle Ordner:
|
create_folder Erstelle Ordner:
|
||||||
011 Verschiebe
|
move Verschiebe
|
||||||
012 nach
|
to nach
|
||||||
013 Fange an mit der Umbenennung.
|
start_renaming Fange an mit der Umbenennung.
|
||||||
014 Falls Umbennung erfolgreich,
|
if_successful Falls Umbennung erfolgreich,
|
||||||
015 Lösche
|
delete Lösche
|
||||||
016 Ordner
|
folder Ordner
|
||||||
017 Fehler bei der Umbenennung!
|
error_renaming Fehler bei der Umbenennung!
|
||||||
018 Fehlgeschlagene Versuche.
|
failed_attempts Fehlgeschlagene Versuche.
|
||||||
019 Alles wurde erfolgreich beendet!
|
completed_successfully Alles wurde erfolgreich beendet!
|
||||||
+21
-21
@@ -1,21 +1,21 @@
|
|||||||
001 Do you want a
|
add_prompt Do you want a
|
||||||
002 film
|
film film
|
||||||
003 or a
|
or_a or a
|
||||||
004 anime
|
anime anime
|
||||||
005 series
|
series series
|
||||||
006 to rename? (type exit to exit)
|
to_rename to rename? (Type exit to exit)
|
||||||
007 Enter anime, series or movie
|
enter_type Enter anime, series or movie
|
||||||
008 By which
|
by_which By which
|
||||||
009 keyword
|
keyword keyword
|
||||||
010 should the
|
should_the should the
|
||||||
011 entry be matched?
|
entry_matched entry be matched?
|
||||||
012 If you want
|
if_you_want If you want
|
||||||
013 now enter a second keyword
|
second_keyword now enter a second keyword
|
||||||
014 This is the anime:
|
this_is_anime This is the anime:
|
||||||
015 Is this correct? (Y/n)
|
is_correct Is this correct? (Y/n)
|
||||||
016 Unfortunately your request could not be processed automatically. But you can still add an entry manually
|
manual_add Unfortunately your request could not be processed automatically. But you can still add an entry manually
|
||||||
017 This is the series:
|
this_is_series This is the series:
|
||||||
018 This is the movie:
|
this_is_movie This is the movie:
|
||||||
019 Now enter the
|
enter_now Now enter the
|
||||||
020 number.
|
number number.
|
||||||
021 number in the URL
|
url_number number in the URL
|
||||||
+109
-200
@@ -1,200 +1,109 @@
|
|||||||
001 Is the path of the JDAutoConfig correct?
|
config_path_correct Is the path of the JDAutoConfig correct?
|
||||||
002 What is the correct path?
|
config_path_what What is the correct path?
|
||||||
003 Enter here the complete path to the JDAutoConfig
|
config_path_enter Enter here the complete path to the JDAutoConfig
|
||||||
004 Path was not changed
|
path_not_changed Path was not changed
|
||||||
005 Path was not changed
|
path_not_changed_title Path was not changed
|
||||||
006 The path from
|
path_from The path from
|
||||||
007 was changed!
|
path_changed was changed!
|
||||||
008 The new path is:
|
new_path The new path is:
|
||||||
009 Error changing the path!
|
error_path Error changing the path!
|
||||||
010 The new path:
|
new_path_err The new path:
|
||||||
011 Could not be changed!
|
could_not_change Could not be changed!
|
||||||
012 Select the database to use:
|
select_db Select the database to use:
|
||||||
013 Bitrate settings
|
bitrate_settings Bitrate settings
|
||||||
014 Enter here the Kbits (without ending) for
|
enter_kbits Enter here the Kbits (without ending) for
|
||||||
015 Space to select, Enter to confirm.
|
space_select Space to select, Enter to confirm.
|
||||||
016 Select
|
select Select
|
||||||
017 Exit
|
exit Exit
|
||||||
018 Preset settings
|
preset_settings Preset settings
|
||||||
019 Enter here the FFmpeg preset to use for
|
enter_preset Enter here the FFmpeg preset to use for
|
||||||
020 Fastest, Lowest Quality
|
fastest Fastest, Lowest Quality
|
||||||
021 Fast Low quality
|
fast_low Fast Low quality
|
||||||
022 Fast acceptable quality
|
fast_accept Fast acceptable quality
|
||||||
023 Recommended. Relatively fast, quality according to VMAF tool averages 96-99% of source media.
|
recommended Recommended. Relatively fast, quality according to VMAF tool averages 96-99% of source media.
|
||||||
024 Balanced
|
balanced Balanced
|
||||||
025 Somewhat slow. Only smaller file sizes, no relevant quality loss anymore.
|
somewhat_slow Somewhat slow. Only smaller file sizes, no relevant quality loss anymore.
|
||||||
026 Even slower.
|
even_slower Even slower.
|
||||||
027 Really slow.
|
really_slow Really slow.
|
||||||
028 Maybe better wait for a remux?
|
wait_remux Maybe better wait for a remux?
|
||||||
029 Well, best to switch off encoding, huh?
|
switch_off Well, best to switch off encoding, huh?
|
||||||
030 What do you want to configure?
|
what_configure What do you want to configure?
|
||||||
031 WIP. The possibilities for fine tuning will be extended.
|
wip WIP. The possibilities for fine tuning will be extended.
|
||||||
032 If you have problems, open an issue at: shorturl.at/bvDQ6 (Github link, easier to type or https://exe.io/jdautoenc if you want to support me via advertisement)
|
open_issue If you have problems, open an issue at: shorturl.at/bvDQ6 (Github link, easier to type or https://exe.io/jdautoenc if you want to support me via advertisement)
|
||||||
033 Folder paths
|
folder_paths Folder paths
|
||||||
034 Log colors
|
log_colors Log colors
|
||||||
035 Notification system
|
notification_system Notification system
|
||||||
036 Encoding settings
|
encoding_settings Encoding settings
|
||||||
037 Encoding hardware
|
encoding_hardware Encoding hardware
|
||||||
038 FileBot settings
|
filebot_settings FileBot settings
|
||||||
039 Are all scripts in the same place?
|
scripts_same_place Are all scripts in the same place?
|
||||||
040 The JDAutoConfig was
|
jdautconfig_found The JDAutoConfig was
|
||||||
041 found. Is this the path of all scripts?
|
found_path found. Is this the path of all scripts?
|
||||||
042 ATTENTION! Only the scripts are adapted thereby. the Unpacked and the Encoding folder as well as the path for the log must be set manually!
|
attention_paths ATTENTION! Only the scripts are adapted thereby. the Unpacked and the Encoding folder as well as the path for the log must be set manually!
|
||||||
043 Which folder path do you want to adjust?
|
which_path Which folder path do you want to adjust?
|
||||||
044 Please select
|
please_select Please select
|
||||||
045 Unpacked folder
|
unpacked_folder Unpacked folder
|
||||||
046 Encodes folder
|
encodes_folder Encodes folder
|
||||||
047 Log path
|
log_path Log path
|
||||||
048 Movies:
|
movies_label Movies:
|
||||||
049 Series:
|
series_label Series:
|
||||||
050 Anime:
|
anime_label Anime:
|
||||||
051 Change path setting
|
change_path Change path setting
|
||||||
052 New path for
|
new_path_for New path for
|
||||||
053 Folder path for the folder where videos unzipped by JD2 are located:
|
unpacked_path_desc Folder path for the folder where videos unzipped by JD2 are located:
|
||||||
054 New path for the folder where the Finished encoded videos are/should be.
|
encodes_path_desc New path for the folder where the Finished encoded videos are/should be.
|
||||||
055 Movies folder
|
movies_folder Movies folder
|
||||||
056 Series folder
|
series_folder Series folder
|
||||||
057 Anime folder
|
anime_folder Anime folder
|
||||||
058 Which messaging service do you want to configure?
|
which_messaging Which messaging service do you want to configure?
|
||||||
059 Choose the messaging system:
|
choose_messaging Choose the messaging system:
|
||||||
060 Configure the Discord WebHook
|
discord_hook Configure the Discord WebHook
|
||||||
061 Enter the full address of the Discord Webhook here. Currently:
|
discord_enter Enter the full address of the Discord Webhook here. Currently:
|
||||||
062 Here you can set the Nextcloud notifications.
|
nextcloud_set Here you can set the Nextcloud notifications.
|
||||||
063 Choose here the settings you want to change
|
nextcloud_choose Choose here the settings you want to change
|
||||||
064 Currently:
|
currently Currently:
|
||||||
065 Configuration for Nextcloud
|
nextcloud_config Configuration for Nextcloud
|
||||||
066 Enter here the full address to your Nextcloud.
|
nextcloud_domain Enter here the full address to your Nextcloud.
|
||||||
067 This can be a domain to Nextcloud: https://meineNextcloud.domain
|
nextcloud_domain_desc This can be a domain to Nextcloud: https://meineNextcloud.domain
|
||||||
068 Or IP (+Port if not 80/443) if JDownloader and Nextcloud are in the same network: 10.0.0.4:85
|
nextcloud_ip Or IP (+Port if not 80/443) if JDownloader and Nextcloud are in the same network: 10.0.0.4:85
|
||||||
069 Enter here the Nextcloud user who writes the messages.
|
nextcloud_user Enter here the Nextcloud user who writes the messages.
|
||||||
070 Enter the password of the user.
|
nextcloud_pass Enter the password of the user.
|
||||||
071 Specify here the token of the chat channel.
|
nextcloud_token Specify here the token of the chat channel.
|
||||||
072 Example: https://nextcloud.domain/call/ne6ht3u7 ne6ht3u7 would be the token in this case.
|
nextcloud_example Example: https://nextcloud.domain/call/ne6ht3u7 ne6ht3u7 would be the token in this case.
|
||||||
073 The encoding settings have been changed to nVidia.
|
ffmpeg_settings Here you can change the FFmpeg Settings
|
||||||
074 Here you can change the FFmpeg Settings
|
ffmpeg_choose Select here the settings to change
|
||||||
075 Select here the settings to change
|
encoding_label Encoding:
|
||||||
076 Encoding:
|
bitrate_anime Bitrate Anime Current:
|
||||||
077 Bitrate Anime Current:
|
preset_anime FFmpeg Preset Animes Current:
|
||||||
078 FFmpeg Preset Animes Current:
|
bitrate_series Bitrate Series Current:
|
||||||
079 Bitrate Series Current:
|
preset_series FFmpeg Preset Series Current:
|
||||||
080 FFmpeg Preset Series Current:
|
bitrate_movies Bitrate Movies Current:
|
||||||
081 Bitrate Movies Current:
|
preset_movies FFmpeg Preset Movies Current:
|
||||||
082 FFmpeg Preset Movies Current:
|
encode_toggle Encode on/off
|
||||||
083 Encode on/off
|
encode_choose Choose if you want to encode
|
||||||
084 Choose if you want to encode
|
gpu Graphics card
|
||||||
085 Graphics card
|
discovered Discover!
|
||||||
086 Discover!
|
which_hardware Which hardware do you want to use?
|
||||||
087 Which hardware do you want to use?
|
select_hardware Please select the hardware you want to use. The following hardware seems to be installed:
|
||||||
088 Please select the hardware you want to use. The following hardware seems to be installed:
|
nvidia_changed The encoding settings have been changed to nVidia.
|
||||||
089 The encoding settings have been changed to nVidia.
|
cuda_used The Cuda processors with the NVENC encoder are used.
|
||||||
090 The Cuda processors with the NVENC encoder are used.
|
amd_changed The encoding settings have been changed to AMD.
|
||||||
091 The encoding settings have been changed to AMD.
|
amd_used AMD transistors with the amf encoder are used.
|
||||||
092 AMD transistors with the amf encoder are used.
|
intel_changed The encoding settings have been changed to Intel.
|
||||||
093 The encoding settings have been changed to nVidia.
|
intel_used The Intel QuickSync chip with qsv encoder is used.
|
||||||
094 The Intel QuickSync chip with qsv encoder is used.
|
software_not_supported Encoding by software is currently not supported!
|
||||||
095 Encoding by software is currently not supported!
|
filebot_change Change FileBot specific settings
|
||||||
096 Change FileBot specific settings
|
filebot_what_change What do you want to change?
|
||||||
097 What do you want to change?
|
movie_db Movie database currently:
|
||||||
098 Movie database currently:
|
series_db Series database currently:
|
||||||
099 Series database currently:
|
anime_db Anime database currently:
|
||||||
100 Anime database currently:
|
movie_naming Movie naming scheme currently:
|
||||||
101 Movie naming scheme currently:
|
series_naming Series naming scheme currently:
|
||||||
102 Series naming scheme currently:
|
anime_naming Anime naming scheme currently:
|
||||||
103 Anime naming scheme currently:
|
language_deduct Language to be deducted currently:
|
||||||
104 Language to be deducted currently:
|
movie_path_desc New path for movies. For examples and possibilities: https://www.filebot.net/naming.html examples:
|
||||||
105 New path for movies. For examples and possibilities: https://www.filebot.net/naming.html examples:
|
series_path_desc New path for series. For examples and possibilities: https://www.filebot.net/naming.html Examples:
|
||||||
106 New path for series. For examples and possibilities: https://www.filebot.net/naming.html Examples:
|
anime_path_desc New path for anime. For examples and possibilities: https://www.filebot.net/naming.html Examples:
|
||||||
107 New path for anime. For examples and possibilities: https://www.filebot.net/naming.html Examples:
|
naming_not_changed The naming scheme has not been changed!
|
||||||
108 The naming scheme has not been changed!
|
select_language Select language to be used by Filebot
|
||||||
109 Select language to be used by Filebot
|
filebot_language Select the language to be used by FileBot
|
||||||
110 Select the language to be used by FileBot
|
|
||||||
111
|
|
||||||
112
|
|
||||||
113
|
|
||||||
114
|
|
||||||
115
|
|
||||||
116
|
|
||||||
117
|
|
||||||
118
|
|
||||||
119
|
|
||||||
120
|
|
||||||
121
|
|
||||||
122
|
|
||||||
123
|
|
||||||
124
|
|
||||||
125
|
|
||||||
126
|
|
||||||
127
|
|
||||||
128
|
|
||||||
129
|
|
||||||
130
|
|
||||||
131
|
|
||||||
132
|
|
||||||
133
|
|
||||||
134
|
|
||||||
135
|
|
||||||
136
|
|
||||||
137
|
|
||||||
138
|
|
||||||
139
|
|
||||||
140
|
|
||||||
141
|
|
||||||
142
|
|
||||||
143
|
|
||||||
144
|
|
||||||
145
|
|
||||||
146
|
|
||||||
147
|
|
||||||
148
|
|
||||||
149
|
|
||||||
150
|
|
||||||
151
|
|
||||||
152
|
|
||||||
153
|
|
||||||
154
|
|
||||||
155
|
|
||||||
156
|
|
||||||
157
|
|
||||||
158
|
|
||||||
159
|
|
||||||
160
|
|
||||||
161
|
|
||||||
162
|
|
||||||
163
|
|
||||||
164
|
|
||||||
165
|
|
||||||
166
|
|
||||||
167
|
|
||||||
168
|
|
||||||
169
|
|
||||||
170
|
|
||||||
171
|
|
||||||
172
|
|
||||||
173
|
|
||||||
174
|
|
||||||
175
|
|
||||||
176
|
|
||||||
177
|
|
||||||
178
|
|
||||||
179
|
|
||||||
180
|
|
||||||
181
|
|
||||||
182
|
|
||||||
183
|
|
||||||
184
|
|
||||||
185
|
|
||||||
186
|
|
||||||
187
|
|
||||||
188
|
|
||||||
189
|
|
||||||
190
|
|
||||||
191
|
|
||||||
192
|
|
||||||
193
|
|
||||||
194
|
|
||||||
195
|
|
||||||
196
|
|
||||||
197
|
|
||||||
198
|
|
||||||
199
|
|
||||||
200
|
|
||||||
+22
-22
@@ -1,22 +1,22 @@
|
|||||||
001 jdautoenc has already been started, wait for it to finish.
|
already_started jdautoenc has already been started, wait for it to finish.
|
||||||
002 Delete
|
delete Delete
|
||||||
003 source file
|
source_file source file
|
||||||
004 Error deleting source file
|
error_deleting_source Error deleting source file
|
||||||
005 Duration of the video does not match!
|
duration_mismatch Duration of the video does not match!
|
||||||
006 Could
|
could Could
|
||||||
007 not with
|
not_with not with
|
||||||
008 convert
|
convert convert
|
||||||
009 Start
|
start Start
|
||||||
010 script
|
script script
|
||||||
011 is a
|
is_a is a
|
||||||
012 anime
|
anime anime
|
||||||
013 Checking video codec.
|
checking_video_codec Checking video codec.
|
||||||
014 Encode from
|
encode_from Encode from
|
||||||
015 to
|
to to
|
||||||
016 is already HEVC, check audio codec. If in eac3 or dts then encode audio to AC3.
|
already_hevc is already HEVC, check audio codec. If in eac3 or dts then encode audio to AC3.
|
||||||
017 move
|
move move
|
||||||
018 to rename.
|
to_rename to rename.
|
||||||
019 Series
|
series Series
|
||||||
020 remove jdautoenc.lock
|
remove_lock remove jdautoenc.lock
|
||||||
021 empty folder in unpack directory.
|
empty_folder empty folder in unpack directory.
|
||||||
022 Movie
|
movie Movie
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
001 Select the entry to be deleted:
|
select_delete Select the entry to be deleted:
|
||||||
002 Exit
|
exit Exit
|
||||||
003 Are you sure you want to
|
sure_delete Are you sure you want to
|
||||||
004 delete
|
delete delete
|
||||||
005 want?
|
want want?
|
||||||
006 Invalid entry.
|
invalid Invalid entry.
|
||||||
+19
-19
@@ -1,19 +1,19 @@
|
|||||||
001 Wait for encoding to finish.
|
wait_encoding Wait for encoding to finish.
|
||||||
002 Renaming is already running. Wait for it to run.
|
renaming_running Renaming is already running. Wait for it to run.
|
||||||
003 Start
|
start Start
|
||||||
004 Script
|
script Script
|
||||||
005 Name
|
name Name
|
||||||
006 does not match
|
does_not_match does not match
|
||||||
007 match.
|
match match.
|
||||||
008 Go to next entry.
|
next_entry Go to next entry.
|
||||||
009 Is a movie, extract names for folders.
|
is_movie Is a movie, extract names for folders.
|
||||||
010 Create folder:
|
create_folder Create folder:
|
||||||
011 Move
|
move Move
|
||||||
012 to
|
to to
|
||||||
013 Start renaming.
|
start_renaming Start renaming.
|
||||||
014 If renaming successful,
|
if_successful If renaming successful,
|
||||||
015 Delete
|
delete Delete
|
||||||
016 folder
|
folder folder
|
||||||
017 Error during renaming!
|
error_renaming Error during renaming!
|
||||||
018 Failed attempts.
|
failed_attempts Failed attempts.
|
||||||
019 Everything was completed successfully!
|
completed_successfully Everything was completed successfully!
|
||||||
+21
-21
@@ -1,21 +1,21 @@
|
|||||||
001 Do you want a
|
add_prompt Do you want a
|
||||||
002 film
|
film film
|
||||||
003 or a
|
or_a or a
|
||||||
004 anime
|
anime anime
|
||||||
005 series
|
series series
|
||||||
006 to rename? (Type exit to exit)
|
to_rename to rename? (Type exit to exit)
|
||||||
007 Enter anime, series or movie
|
enter_type Enter anime, series or movie
|
||||||
008 By which
|
by_which By which
|
||||||
009 keyword
|
keyword keyword
|
||||||
010 should the
|
should_the should the
|
||||||
011 entry be matched?
|
entry_matched entry be matched?
|
||||||
012 If you want
|
if_you_want If you want
|
||||||
013 now enter a second keyword
|
second_keyword now enter a second keyword
|
||||||
014 This is the anime:
|
this_is_anime This is the anime:
|
||||||
015 Is this correct? (Y/n)
|
is_correct Is this correct? (Y/n)
|
||||||
016 Unfortunately your request could not be processed automatically. But you can still add an entry manually
|
manual_add Unfortunately your request could not be processed automatically. But you can still add an entry manually
|
||||||
017 This is the series:
|
this_is_series This is the series:
|
||||||
018 This is the movie:
|
this_is_movie This is the movie:
|
||||||
019 Now enter the
|
enter_now Now enter the
|
||||||
020 number.
|
number number.
|
||||||
021 number in the URL
|
url_number number in the URL
|
||||||
+109
-200
@@ -1,200 +1,109 @@
|
|||||||
001 Is the path of the JDAutoConfig correct?
|
config_path_correct Is the path of the JDAutoConfig correct?
|
||||||
002 What is the correct path?
|
config_path_what What is the correct path?
|
||||||
003 Enter here the complete path to the JDAutoConfig
|
config_path_enter Enter here the complete path to the JDAutoConfig
|
||||||
004 Path was not changed
|
path_not_changed Path was not changed
|
||||||
005 Path was not changed
|
path_not_changed_title Path was not changed
|
||||||
006 The path from
|
path_from The path from
|
||||||
007 was changed!
|
path_changed was changed!
|
||||||
008 The new path is:
|
new_path The new path is:
|
||||||
009 Error changing the path!
|
error_path Error changing the path!
|
||||||
010 The new path:
|
new_path_err The new path:
|
||||||
011 Could not be changed!
|
could_not_change Could not be changed!
|
||||||
012 Select the database to use:
|
select_db Select the database to use:
|
||||||
013 Bitrate settings
|
bitrate_settings Bitrate settings
|
||||||
014 Enter here the Kbits (without ending) for
|
enter_kbits Enter here the Kbits (without ending) for
|
||||||
015 Space to select, Enter to confirm.
|
space_select Space to select, Enter to confirm.
|
||||||
016 Select
|
select Select
|
||||||
017 Exit
|
exit Exit
|
||||||
018 Preset settings
|
preset_settings Preset settings
|
||||||
019 Enter here the FFmpeg preset to use for
|
enter_preset Enter here the FFmpeg preset to use for
|
||||||
020 Fastest, Lowest Quality
|
fastest Fastest, Lowest Quality
|
||||||
021 Fast Low quality
|
fast_low Fast Low quality
|
||||||
022 Fast acceptable quality
|
fast_accept Fast acceptable quality
|
||||||
023 Recommended. Relatively fast, quality according to VMAF tool averages 96-99% of source media.
|
recommended Recommended. Relatively fast, quality according to VMAF tool averages 96-99% of source media.
|
||||||
024 Balanced
|
balanced Balanced
|
||||||
025 Somewhat slow. Only smaller file sizes, no relevant quality loss anymore.
|
somewhat_slow Somewhat slow. Only smaller file sizes, no relevant quality loss anymore.
|
||||||
026 Even slower.
|
even_slower Even slower.
|
||||||
027 Really slow.
|
really_slow Really slow.
|
||||||
028 Maybe better wait for a remux?
|
wait_remux Maybe better wait for a remux?
|
||||||
029 Well, best to switch off encoding, huh?
|
switch_off Well, best to switch off encoding, huh?
|
||||||
030 What do you want to configure?
|
what_configure What do you want to configure?
|
||||||
031 WIP. The possibilities for fine tuning will be extended.
|
wip WIP. The possibilities for fine tuning will be extended.
|
||||||
032 If you have problems, open an issue at: shorturl.at/bvDQ6 (Github link, easier to type or https://exe.io/jdautoenc if you want to support me via advertisement)
|
open_issue If you have problems, open an issue at: shorturl.at/bvDQ6 (Github link, easier to type or https://exe.io/jdautoenc if you want to support me via advertisement)
|
||||||
033 Folder paths
|
folder_paths Folder paths
|
||||||
034 Log colors
|
log_colors Log colors
|
||||||
035 Notification system
|
notification_system Notification system
|
||||||
036 Encoding settings
|
encoding_settings Encoding settings
|
||||||
037 Encoding hardware
|
encoding_hardware Encoding hardware
|
||||||
038 FileBot settings
|
filebot_settings FileBot settings
|
||||||
039 Are all scripts in the same place?
|
scripts_same_place Are all scripts in the same place?
|
||||||
040 The JDAutoConfig was
|
jdautconfig_found The JDAutoConfig was
|
||||||
041 found. Is this the path of all scripts?
|
found_path found. Is this the path of all scripts?
|
||||||
042 ATTENTION! Only the scripts are adapted thereby. the Unpacked and the Encoding folder as well as the path for the log must be set manually!
|
attention_paths ATTENTION! Only the scripts are adapted thereby. the Unpacked and the Encoding folder as well as the path for the log must be set manually!
|
||||||
043 Which folder path do you want to adjust?
|
which_path Which folder path do you want to adjust?
|
||||||
044 Please select
|
please_select Please select
|
||||||
045 Unpacked folder
|
unpacked_folder Unpacked folder
|
||||||
046 Encodes folder
|
encodes_folder Encodes folder
|
||||||
047 Log path
|
log_path Log path
|
||||||
048 Movies:
|
movies_label Movies:
|
||||||
049 Series:
|
series_label Series:
|
||||||
050 Anime:
|
anime_label Anime:
|
||||||
051 Change path setting
|
change_path Change path setting
|
||||||
052 New path for
|
new_path_for New path for
|
||||||
053 Folder path for the folder where videos unzipped by JD2 are located:
|
unpacked_path_desc Folder path for the folder where videos unzipped by JD2 are located:
|
||||||
054 New path for the folder where the Finished encoded videos are/should be.
|
encodes_path_desc New path for the folder where the Finished encoded videos are/should be.
|
||||||
055 Movies folder
|
movies_folder Movies folder
|
||||||
056 Series folder
|
series_folder Series folder
|
||||||
057 Anime folder
|
anime_folder Anime folder
|
||||||
058 Which messaging service do you want to configure?
|
which_messaging Which messaging service do you want to configure?
|
||||||
059 Choose the messaging system:
|
choose_messaging Choose the messaging system:
|
||||||
060 Configure the Discord WebHook
|
discord_hook Configure the Discord WebHook
|
||||||
061 Enter the full address of the Discord Webhook here. Currently:
|
discord_enter Enter the full address of the Discord Webhook here. Currently:
|
||||||
062 Here you can set the Nextcloud notifications.
|
nextcloud_set Here you can set the Nextcloud notifications.
|
||||||
063 Choose here the settings you want to change
|
nextcloud_choose Choose here the settings you want to change
|
||||||
064 Currently:
|
currently Currently:
|
||||||
065 Configuration for Nextcloud
|
nextcloud_config Configuration for Nextcloud
|
||||||
066 Enter here the full address to your Nextcloud.
|
nextcloud_domain Enter here the full address to your Nextcloud.
|
||||||
067 This can be a domain to Nextcloud: https://meineNextcloud.domain
|
nextcloud_domain_desc This can be a domain to Nextcloud: https://meineNextcloud.domain
|
||||||
068 Or IP (+Port if not 80/443) if JDownloader and Nextcloud are in the same network: 10.0.0.4:85
|
nextcloud_ip Or IP (+Port if not 80/443) if JDownloader and Nextcloud are in the same network: 10.0.0.4:85
|
||||||
069 Enter here the Nextcloud user who writes the messages.
|
nextcloud_user Enter here the Nextcloud user who writes the messages.
|
||||||
070 Enter the password of the user.
|
nextcloud_pass Enter the password of the user.
|
||||||
071 Specify here the token of the chat channel.
|
nextcloud_token Specify here the token of the chat channel.
|
||||||
072 Example: https://nextcloud.domain/call/ne6ht3u7 ne6ht3u7 would be the token in this case.
|
nextcloud_example Example: https://nextcloud.domain/call/ne6ht3u7 ne6ht3u7 would be the token in this case.
|
||||||
073 The encoding settings have been changed to nVidia.
|
ffmpeg_settings Here you can change the FFmpeg Settings
|
||||||
074 Here you can change the FFmpeg Settings
|
ffmpeg_choose Select here the settings to change
|
||||||
075 Select here the settings to change
|
encoding_label Encoding:
|
||||||
076 Encoding:
|
bitrate_anime Bitrate Anime Current:
|
||||||
077 Bitrate Anime Current:
|
preset_anime FFmpeg Preset Animes Current:
|
||||||
078 FFmpeg Preset Animes Current:
|
bitrate_series Bitrate Series Current:
|
||||||
079 Bitrate Series Current:
|
preset_series FFmpeg Preset Series Current:
|
||||||
080 FFmpeg Preset Series Current:
|
bitrate_movies Bitrate Movies Current:
|
||||||
081 Bitrate Movies Current:
|
preset_movies FFmpeg Preset Movies Current:
|
||||||
082 FFmpeg Preset Movies Current:
|
encode_toggle Encode on/off
|
||||||
083 Encode on/off
|
encode_choose Choose if you want to encode
|
||||||
084 Choose if you want to encode
|
gpu Graphics card
|
||||||
085 Graphics card
|
discovered Discover!
|
||||||
086 Discover!
|
which_hardware Which hardware do you want to use?
|
||||||
087 Which hardware do you want to use?
|
select_hardware Please select the hardware you want to use. The following hardware seems to be installed:
|
||||||
088 Please select the hardware you want to use. The following hardware seems to be installed:
|
nvidia_changed The encoding settings have been changed to nVidia.
|
||||||
089 The encoding settings have been changed to nVidia.
|
cuda_used The Cuda processors with the NVENC encoder are used.
|
||||||
090 The Cuda processors with the NVENC encoder are used.
|
amd_changed The encoding settings have been changed to AMD.
|
||||||
091 The encoding settings have been changed to AMD.
|
amd_used AMD transistors with the amf encoder are used.
|
||||||
092 AMD transistors with the amf encoder are used.
|
intel_changed The encoding settings have been changed to Intel.
|
||||||
093 The encoding settings have been changed to nVidia.
|
intel_used The Intel QuickSync chip with qsv encoder is used.
|
||||||
094 The Intel QuickSync chip with qsv encoder is used.
|
software_not_supported Encoding by software is currently not supported!
|
||||||
095 Encoding by software is currently not supported!
|
filebot_change Change FileBot specific settings
|
||||||
096 Change FileBot specific settings
|
filebot_what_change What do you want to change?
|
||||||
097 What do you want to change?
|
movie_db Movie database currently:
|
||||||
098 Movie database currently:
|
series_db Series database currently:
|
||||||
099 Series database currently:
|
anime_db Anime database currently:
|
||||||
100 Anime database currently:
|
movie_naming Movie naming scheme currently:
|
||||||
101 Movie naming scheme currently:
|
series_naming Series naming scheme currently:
|
||||||
102 Series naming scheme currently:
|
anime_naming Anime naming scheme currently:
|
||||||
103 Anime naming scheme currently:
|
language_deduct Language to be deducted currently:
|
||||||
104 Language to be deducted currently:
|
movie_path_desc New path for movies. For examples and possibilities: https://www.filebot.net/naming.html examples:
|
||||||
105 New path for movies. For examples and possibilities: https://www.filebot.net/naming.html examples:
|
series_path_desc New path for series. For examples and possibilities: https://www.filebot.net/naming.html Examples:
|
||||||
106 New path for series. For examples and possibilities: https://www.filebot.net/naming.html Examples:
|
anime_path_desc New path for anime. For examples and possibilities: https://www.filebot.net/naming.html Examples:
|
||||||
107 New path for anime. For examples and possibilities: https://www.filebot.net/naming.html Examples:
|
naming_not_changed The naming scheme has not been changed!
|
||||||
108 The naming scheme has not been changed!
|
select_language Select language to be used by Filebot
|
||||||
109 Select language to be used by Filebot
|
filebot_language Select the language to be used by FileBot
|
||||||
110 Select the language to be used by FileBot
|
|
||||||
111
|
|
||||||
112
|
|
||||||
113
|
|
||||||
114
|
|
||||||
115
|
|
||||||
116
|
|
||||||
117
|
|
||||||
118
|
|
||||||
119
|
|
||||||
120
|
|
||||||
121
|
|
||||||
122
|
|
||||||
123
|
|
||||||
124
|
|
||||||
125
|
|
||||||
126
|
|
||||||
127
|
|
||||||
128
|
|
||||||
129
|
|
||||||
130
|
|
||||||
131
|
|
||||||
132
|
|
||||||
133
|
|
||||||
134
|
|
||||||
135
|
|
||||||
136
|
|
||||||
137
|
|
||||||
138
|
|
||||||
139
|
|
||||||
140
|
|
||||||
141
|
|
||||||
142
|
|
||||||
143
|
|
||||||
144
|
|
||||||
145
|
|
||||||
146
|
|
||||||
147
|
|
||||||
148
|
|
||||||
149
|
|
||||||
150
|
|
||||||
151
|
|
||||||
152
|
|
||||||
153
|
|
||||||
154
|
|
||||||
155
|
|
||||||
156
|
|
||||||
157
|
|
||||||
158
|
|
||||||
159
|
|
||||||
160
|
|
||||||
161
|
|
||||||
162
|
|
||||||
163
|
|
||||||
164
|
|
||||||
165
|
|
||||||
166
|
|
||||||
167
|
|
||||||
168
|
|
||||||
169
|
|
||||||
170
|
|
||||||
171
|
|
||||||
172
|
|
||||||
173
|
|
||||||
174
|
|
||||||
175
|
|
||||||
176
|
|
||||||
177
|
|
||||||
178
|
|
||||||
179
|
|
||||||
180
|
|
||||||
181
|
|
||||||
182
|
|
||||||
183
|
|
||||||
184
|
|
||||||
185
|
|
||||||
186
|
|
||||||
187
|
|
||||||
188
|
|
||||||
189
|
|
||||||
190
|
|
||||||
191
|
|
||||||
192
|
|
||||||
193
|
|
||||||
194
|
|
||||||
195
|
|
||||||
196
|
|
||||||
197
|
|
||||||
198
|
|
||||||
199
|
|
||||||
200
|
|
||||||
+22
-22
@@ -1,22 +1,22 @@
|
|||||||
001 jdautoenc has already been started, wait for it to finish.
|
already_started jdautoenc has already been started, wait for it to finish.
|
||||||
002 Delete
|
delete Delete
|
||||||
003 source file
|
source_file source file
|
||||||
004 Error deleting source file
|
error_deleting_source Error deleting source file
|
||||||
005 Duration of the video does not match!
|
duration_mismatch Duration of the video does not match!
|
||||||
006 Could
|
could Could
|
||||||
007 not with
|
not_with not with
|
||||||
008 convert
|
convert convert
|
||||||
009 Start
|
start Start
|
||||||
010 script
|
script script
|
||||||
011 is a
|
is_a is a
|
||||||
012 anime
|
anime anime
|
||||||
013 Checking video codec.
|
checking_video_codec Checking video codec.
|
||||||
014 Encode from
|
encode_from Encode from
|
||||||
015 to
|
to to
|
||||||
016 is already HEVC, check audio codec. If in eac3 or dts then encode audio to AC3.
|
already_hevc is already HEVC, check audio codec. If in eac3 or dts then encode audio to AC3.
|
||||||
017 move
|
move move
|
||||||
018 to rename.
|
to_rename to rename.
|
||||||
019 Series
|
series Series
|
||||||
020 remove jdautoenc.lock
|
remove_lock remove jdautoenc.lock
|
||||||
021 empty folder in unpack directory.
|
empty_folder empty folder in unpack directory.
|
||||||
022 Movie
|
movie Movie
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
001 Select the entry to be deleted:
|
select_delete Select the entry to be deleted:
|
||||||
002 Exit
|
exit Exit
|
||||||
003 Are you sure you want to
|
sure_delete Are you sure you want to
|
||||||
004 delete
|
delete delete
|
||||||
005 want?
|
want want?
|
||||||
006 Invalid entry.
|
invalid Invalid entry.
|
||||||
+19
-19
@@ -1,19 +1,19 @@
|
|||||||
001 Wait for encoding to finish.
|
wait_encoding Wait for encoding to finish.
|
||||||
002 Renaming is already running. Wait for it to run.
|
renaming_running Renaming is already running. Wait for it to run.
|
||||||
003 Start
|
start Start
|
||||||
004 Script
|
script Script
|
||||||
005 Name
|
name Name
|
||||||
006 does not match
|
does_not_match does not match
|
||||||
007 match.
|
match match.
|
||||||
008 Go to next entry.
|
next_entry Go to next entry.
|
||||||
009 Is a movie, extract names for folders.
|
is_movie Is a movie, extract names for folders.
|
||||||
010 Create folder:
|
create_folder Create folder:
|
||||||
011 Move
|
move Move
|
||||||
012 to
|
to to
|
||||||
013 Start renaming.
|
start_renaming Start renaming.
|
||||||
014 If renaming successful,
|
if_successful If renaming successful,
|
||||||
015 Delete
|
delete Delete
|
||||||
016 folder
|
folder folder
|
||||||
017 Error during renaming!
|
error_renaming Error during renaming!
|
||||||
018 Failed attempts.
|
failed_attempts Failed attempts.
|
||||||
019 Everything was completed successfully!
|
completed_successfully Everything was completed successfully!
|
||||||
+41
-57
@@ -1,57 +1,41 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# Farben für echo
|
# Farben für echo
|
||||||
|
|
||||||
red='\033[0;31m'
|
red='\033[0;31m'
|
||||||
white='\033[0;37m'
|
white='\033[0;37m'
|
||||||
yellow='\033[0;33m'
|
yellow='\033[0;33m'
|
||||||
|
|
||||||
# Rename Skript:
|
# Rename Skript:
|
||||||
JDAutoConfig=$(find ~ -type f -name "JDAutoConfig" 2>/dev/null)
|
JDAutoConfig=$(find ~ -type f -name "JDAutoConfig" 2>/dev/null)
|
||||||
renamelist=$(grep "renamelist=" "$JDAutoConfig" | sed 's/renamelist=//g')
|
renamelist=$(grep "renamelist=" "$JDAutoConfig" | sed 's/renamelist=//g')
|
||||||
|
|
||||||
language_Folder=$(grep "language_folder=" "$JDAutoConfig" | sed 's/.*=//g')
|
# shellcheck disable=SC1091
|
||||||
if [[ -n $(grep "language=" "$JDAutoConfig" | sed 's/.*=//g') ]]; then
|
source "$(dirname "$0")/i18n.sh"
|
||||||
language=$(grep "language=" "$JDAutoConfig" | sed 's/.*=//g')
|
|
||||||
else
|
clear
|
||||||
language=$(locale | head -n 1 | sed 's/.*=\|\..*//g')
|
IFS=$'\n'
|
||||||
fi
|
frage="$(tr "select_delete") "
|
||||||
|
entrys=($(awk 'NR % 6 == 1' "$renamelist" | sed 's/#.*/Beispiel Eintrag/g'))
|
||||||
if [[ $language == "C" ]] || [[ ! -d $language_Folder/$language ]]; then
|
|
||||||
language=en_US
|
PS3="$frage "
|
||||||
fi
|
select entry in "${entrys[@]}" "$(tr "exit")"; do
|
||||||
|
if ((REPLY == 1 + ${#entrys[@]})); then
|
||||||
text_lang() {
|
exit
|
||||||
if [ -f "$language_Folder"/"$language"/removerename.lang ]; then
|
break
|
||||||
grep "$1" "$language_Folder"/"$language"/removerename.lang | sed 's/^....//'
|
|
||||||
else
|
elif ((REPLY > 0 && REPLY <= ${#entrys[@]})); then
|
||||||
curl -s https://raw.githubusercontent.com/Pakobbix/JDownloader-Autoenc-rename/main/lang/en_US/removerename.lang | grep "$1" | sed 's/^....//'
|
tvdbid=$(grep -A5 "$entry" "$renamelist" | awk 'NR % 5 == 0')
|
||||||
fi
|
if [[ -z $(curl -sL https://www.thetvdb.com/dereferrer/series/"$tvdbid" | grep -i -A1 "deu" | grep "data-title" | sed 's/.*="\|"//g' | sed "s/’/'/g") ]]; then
|
||||||
}
|
curl -sL https://www.thetvdb.com/dereferrer/series/"$tvdbid" | grep -i -A1 "en" | grep "data-title" | sed 's/.*="\|"//g' | sed "s/’/'/g"
|
||||||
|
fi
|
||||||
clear
|
echo ""
|
||||||
IFS=$'\n'
|
read -rp "$(echo -e "$(tr "sure_delete")" "${yellow}""$entry" "${red}""$(tr "delete")""${white}" "$(tr "want")") (y/N) " sure
|
||||||
frage="$(text_lang "001") "
|
if [ "${sure,,}" == "y" ]; then
|
||||||
entrys=($(awk 'NR % 6 == 1' "$renamelist" | sed 's/#.*/Beispiel Eintrag/g'))
|
sed -i "/$entry/,+5d" "$renamelist"
|
||||||
|
fi
|
||||||
PS3="$frage "
|
/bin/bash "${BASH_SOURCE[0]}"
|
||||||
select entry in "${entrys[@]}" "$(text_lang "002")"; do
|
else
|
||||||
if ((REPLY == 1 + ${#entrys[@]})); then
|
tr "invalid"
|
||||||
exit
|
fi
|
||||||
break
|
done
|
||||||
|
|
||||||
elif ((REPLY > 0 && REPLY <= ${#entrys[@]})); then
|
|
||||||
tvdbid=$(grep -A5 "$entry" "$renamelist" | awk 'NR % 5 == 0')
|
|
||||||
if [[ -z $(curl -sL https://www.thetvdb.com/dereferrer/series/"$tvdbid" | grep -i -A1 "deu" | grep "data-title" | sed 's/.*="\|"//g' | sed "s/’/'/g") ]]; then
|
|
||||||
curl -sL https://www.thetvdb.com/dereferrer/series/"$tvdbid" | grep -i -A1 "en" | grep "data-title" | sed 's/.*="\|"//g' | sed "s/’/'/g"
|
|
||||||
fi
|
|
||||||
echo ""
|
|
||||||
read -rp "$(echo -e "$(text_lang "003")" "${yellow}""$entry" "${red}""$(text_lang "004")""${white}" "$(text_lang "005")") (y/N) " sure
|
|
||||||
if [ "${sure,,}" == "y" ]; then
|
|
||||||
sed -i "/$entry/,+5d" "$renamelist"
|
|
||||||
fi
|
|
||||||
/bin/bash "${BASH_SOURCE[0]}"
|
|
||||||
else
|
|
||||||
text_lang "006"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
@@ -1,162 +1,149 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
## Farben für das Log
|
## Farben für das Log
|
||||||
red='\033[0;31m'
|
red='\033[0;31m'
|
||||||
green='\033[0;32m'
|
green='\033[0;32m'
|
||||||
white='\033[0;37m'
|
white='\033[0;37m'
|
||||||
yellow='\033[0;33m'
|
yellow='\033[0;33m'
|
||||||
purple='\033[0;35m' # ${purple}
|
purple='\033[0;35m' # ${purple}
|
||||||
|
|
||||||
log="$1"
|
log="$1"
|
||||||
config="$2"
|
config="$2"
|
||||||
count=$(($3 + 1))
|
count=$(($3 + 1))
|
||||||
|
|
||||||
# shellcheck disable=SC1090
|
# shellcheck disable=SC1090
|
||||||
source "$config"
|
source "$config"
|
||||||
|
|
||||||
if [[ -z $language ]]; then
|
# shellcheck disable=SC1091
|
||||||
language=$(locale | head -n 1 | sed 's/.*=\|\..*//g')
|
source "$(dirname "$0")/i18n.sh"
|
||||||
fi
|
|
||||||
|
log_msg() {
|
||||||
if [[ $language == "C" ]] || [[ ! -d $language_folder/$language ]]; then
|
echo -e "${yellow}$(date +"%d.%m.%y %T")${white} $1${white}" >>"${log[@]}"
|
||||||
language=en_US
|
}
|
||||||
fi
|
|
||||||
|
discord_msg() {
|
||||||
text_lang() {
|
curl -s -H "Content-Type: application/json" -X POST -d "{\"content\": \"$1\"}" "$discord" &>/dev/null
|
||||||
if [ -f "$language_folder"/"$language"/rename.lang ]; then
|
}
|
||||||
grep "$1" "$language_folder"/"$language"/rename.lang | sed 's/^....//'
|
|
||||||
else
|
nextcloud_msg() {
|
||||||
curl -s https://raw.githubusercontent.com/Pakobbix/JDownloader-Autoenc-rename/main/lang/en_US/rename.lang | grep "$1" | sed 's/^....//'
|
curl -d '{"token":"'"$NextcloudTalkToken"'", "message":"'"$1"'"}' -H "Content-Type: application/json" -H "Accept:application/json" -H "OCS-APIRequest:true" -u "$NextcloudUser:$NextcloudPassword" "$NextcloudDomain"/ocs/v1.php/apps/spreed/api/v1/chat/tokenid &>/dev/null
|
||||||
fi
|
}
|
||||||
}
|
|
||||||
|
apprise_msg() {
|
||||||
log_msg() {
|
if [[ -n $apprisetag ]]; then
|
||||||
echo -e "${yellow}$(date +"%d.%m.%y %T")${white} $1${white}" >>"${log[@]}"
|
curl -d '{"body":"'"$1"'", "title":"#### jdautoenc.sh ####","tag":"'"$apprisetag"'"}' -H "Content-Type: application/json" "$appriseurl" &>/dev/null
|
||||||
}
|
else
|
||||||
|
curl -d '{"body":"'"$1"'", "title":"#### jdautoenc.sh ####"}' -H "Content-Type: application/json" "$appriseurl" &>/dev/null
|
||||||
discord_msg() {
|
fi
|
||||||
curl -s -H "Content-Type: application/json" -X POST -d "{\"content\": \"$1\"}" "$discord" &>/dev/null
|
}
|
||||||
}
|
|
||||||
|
filebot_rename() {
|
||||||
nextcloud_msg() {
|
filebot -rename "$v" --db "$1" -non-strict --lang "$2" --format "$3/$4" --q "$5" >>"${log[@]}" 2>>"${log[@]}"
|
||||||
curl -d '{"token":"'"$NextcloudTalkToken"'", "message":"'"$1"'"}' -H "Content-Type: application/json" -H "Accept:application/json" -H "OCS-APIRequest:true" -u "$NextcloudUser:$NextcloudPassword" "$NextcloudDomain"/ocs/v1.php/apps/spreed/api/v1/chat/tokenid &>/dev/null
|
}
|
||||||
}
|
|
||||||
|
names() {
|
||||||
apprise_msg() {
|
curl -sL https://www.thetvdb.com/dereferrer/series/"$1" | grep -i -A1 "deu" | grep "data-title" | sed 's/.*="\|"//g' | sed "s/’/'/g"
|
||||||
if [[ -n $apprisetag ]]; then
|
}
|
||||||
curl -d '{"body":"'"$1"'", "title":"#### jdautoenc.sh ####","tag":"'"$apprisetag"'"}' -H "Content-Type: application/json" "$appriseurl" &>/dev/null
|
|
||||||
else
|
if [[ -f /tmp/jdautoenc.lock ]]; then # ignore
|
||||||
curl -d '{"body":"'"$1"'", "title":"#### jdautoenc.sh ####"}' -H "Content-Type: application/json" "$appriseurl" &>/dev/null
|
log_msg "$(tr "wait_encoding")"
|
||||||
fi
|
sleep 2
|
||||||
}
|
fi
|
||||||
|
|
||||||
filebot_rename() {
|
while [ -f /tmp/jdautoenc.lock ]; do
|
||||||
filebot -rename "$v" --db "$1" -non-strict --lang "$2" --format "$3/$4" --q "$5" >>"${log[@]}" 2>>"${log[@]}"
|
sleep 1m
|
||||||
}
|
done
|
||||||
|
|
||||||
names() {
|
sleep $(((RANDOM % 6) + 1))s
|
||||||
curl -sL https://www.thetvdb.com/dereferrer/series/"$1" | grep -i -A1 "deu" | grep "data-title" | sed 's/.*="\|"//g' | sed "s/’/'/g"
|
|
||||||
}
|
while [ -f /tmp/jdautoenc.lock ]; do
|
||||||
|
sleep 1m
|
||||||
if [[ -f /tmp/jdautoenc.lock ]]; then # ignore
|
done
|
||||||
log_msg "$(text_lang "001")"
|
|
||||||
sleep 2
|
# Erstelle lock Datei, Warte 5 Sekunden und überprüfe nochmals
|
||||||
fi
|
while [ -f /tmp/rename.lock ]; do
|
||||||
|
sleep $(((RANDOM % 6) + 1))s
|
||||||
while [ -f /tmp/jdautoenc.lock ]; do
|
done
|
||||||
sleep 1m
|
|
||||||
done
|
if [[ -f /tmp/rename.lock ]]; then # ignore
|
||||||
|
log_msg "$(tr "renaming_running")"
|
||||||
sleep $(((RANDOM % 6) + 1))s
|
sleep $(((RANDOM % 2) + 1))s
|
||||||
|
fi
|
||||||
while [ -f /tmp/jdautoenc.lock ]; do
|
|
||||||
sleep 1m
|
echo $$ >/tmp/rename.lock
|
||||||
done
|
|
||||||
|
## Script start
|
||||||
# Erstelle lock Datei, Warte 5 Sekunden und überprüfe nochmals
|
|
||||||
while [ -f /tmp/rename.lock ]; do
|
log_msg ""
|
||||||
sleep $(((RANDOM % 6) + 1))s
|
log_msg "#######################"
|
||||||
done
|
log_msg "$(tr "start") ${green}rename.sh${white} $(tr "script")"
|
||||||
|
log_msg "#######################"
|
||||||
if [[ -f /tmp/rename.lock ]]; then # ignore
|
log_msg ""
|
||||||
log_msg "$(text_lang "002")"
|
|
||||||
sleep $(((RANDOM % 2) + 1))s
|
while read -r name; do
|
||||||
fi
|
read -r keyword1
|
||||||
|
read -r keyword2
|
||||||
echo $$ >/tmp/rename.lock
|
read -r format
|
||||||
|
read -r dbid
|
||||||
## Script start
|
read -r nextentry
|
||||||
|
|
||||||
log_msg ""
|
find -L "${encodes[@]}" -name '*.mkv' -or -name '*.mp4' 2>/dev/null | while IFS= read -r v; do
|
||||||
log_msg "#######################"
|
|
||||||
log_msg "$(text_lang "003") ${green}rename.sh${white} $(text_lang "004")"
|
if [[ ${v,,} == *"${keyword1,,}"*"${keyword2,,}"* ]]; then
|
||||||
log_msg "#######################"
|
log_msg "$(tr "name") $(basename "$v" | sed 's/\./ /g;s/AAC\|1080p\|WebDL\|[a-z]26[0-9]\|[hH][eE][Vv][Cc]\|[tT]anuki\| dl \| web \|repack\|wayne\|\|[-]\|[gG]er\|[eE]ng\|[sS]ub//g;s/\[[^][]*\]\|WebDL\|JapDub\|CR\|REPACK\|V2DK\|man\|BluRay\|RSG//g;s/_/ /g;s/\( \)*/\1/g')"
|
||||||
log_msg ""
|
case ${format,,} in
|
||||||
|
anime)
|
||||||
while read -r name; do
|
filebot_rename "$AnimeDB" "$FileBotLang" "$Animes" "$AnimeName" "$dbid"
|
||||||
read -r keyword1
|
;;
|
||||||
read -r keyword2
|
series)
|
||||||
read -r format
|
filebot_rename "$SeriesDB" "$FileBotLang" "$Series" "$SeriesName" "$dbid"
|
||||||
read -r dbid
|
;;
|
||||||
read -r nextentry
|
movie)
|
||||||
|
filebot_rename "$MovieDB" "$FileBotLang" "$Movies" "$MovieName" "$dbid"
|
||||||
find -L "${encodes[@]}" -name '*.mkv' -or -name '*.mp4' 2>/dev/null | while IFS= read -r v; do
|
;;
|
||||||
|
*)
|
||||||
if [[ ${v,,} == *"${keyword1,,}"*"${keyword2,,}"* ]]; then
|
log_msg "${red}$v $(tr "does_not_match") $name $(tr "match")"
|
||||||
log_msg "$(text_lang "005") $(basename "$v" | sed 's/\./ /g;s/AAC\|1080p\|WebDL\|[a-z]26[0-9]\|[hH][eE][Vv][Cc]\|[tT]anuki\| dl \| web \|repack\|wayne\|\|[-]\|[gG]er\|[eE]ng\|[sS]ub//g;s/\[[^][]*\]\|WebDL\|JapDub\|CR\|REPACK\|V2DK\|man\|BluRay\|RSG//g;s/_/ /g;s/\( \)*/\1/g')"
|
log_msg "${red}$(tr "next_entry")"
|
||||||
case ${format,,} in
|
;;
|
||||||
anime)
|
esac
|
||||||
filebot_rename "$AnimeDB" "$FileBotLang" "$Animes" "$AnimeName" "$dbid"
|
fi
|
||||||
;;
|
|
||||||
series)
|
done
|
||||||
filebot_rename "$SeriesDB" "$FileBotLang" "$Series" "$SeriesName" "$dbid"
|
done <"$renamelist"
|
||||||
;;
|
|
||||||
movie)
|
find -L "${encodes[@]}" -name '*.mkv' -or -name '*.mp4' 2>/dev/null | while IFS= read -r v; do
|
||||||
filebot_rename "$MovieDB" "$FileBotLang" "$Movies" "$MovieName" "$dbid"
|
duration=$(ffprobe -hide_banner -loglevel error -v quiet -stats -i "$v" -show_entries format=duration -v quiet -of csv="p=0" | sed -e 's/\..*//g')
|
||||||
;;
|
if [ "$duration" -gt "4751" ]; then # ignore
|
||||||
*)
|
log_msg "${purple}$v${white} $(tr "is_movie")"
|
||||||
log_msg "${red}$v $(text_lang "006") $name $(text_lang "007")"
|
movie=$(basename "$v")
|
||||||
log_msg "${red}$(text_lang "008")"
|
folder=$(basename "$v" .mkv)
|
||||||
;;
|
## Hier wird nun ein Ordner mit dem Namen des Videos erstellt. Dies ist eine Vorsichtsmaßnahme, da mein Ordner (encoded) auch bei eindeutigen Film
|
||||||
esac
|
## Namen immer wieder dazu führte, dass der Film als "ENCODED EXPLODED" umbenannt wurde -.-
|
||||||
fi
|
|
||||||
|
log_msg "$(tr "create_folder") $folder" "$yellow" "$white" "$folder"
|
||||||
done
|
mkdir "$encodes""$folder" 2>/dev/null
|
||||||
done <"$renamelist"
|
log_msg "$(tr "move") ${purple}$v${white} $(tr "to") $folder"
|
||||||
|
mv "$v" "$encodes""$folder" >>"${log[@]}" 2>/dev/null
|
||||||
find -L "${encodes[@]}" -name '*.mkv' -or -name '*.mp4' 2>/dev/null | while IFS= read -r v; do
|
log_msg "$(tr "start_renaming")"
|
||||||
duration=$(ffprobe -hide_banner -loglevel error -v quiet -stats -i "$v" -show_entries format=duration -v quiet -of csv="p=0" | sed -e 's/\..*//g')
|
filebot -rename "$encodes""$folder"/"$movie" --db TheMovieDB -non-strict --lang German --format "/mnt/Medien/Filme/{n} ({y})" >>"${log[@]}"
|
||||||
if [ "$duration" -gt "4751" ]; then # ignore
|
log_msg "$(tr "if_successful") ${red}$(tr "delete")${white} $(tr "folder")"
|
||||||
log_msg "${purple}$v${white} $(text_lang "009")"
|
sleep 5s
|
||||||
movie=$(basename "$v")
|
rmdir "$encodes"* 2>/dev/null
|
||||||
folder=$(basename "$v" .mkv)
|
fi
|
||||||
## Hier wird nun ein Ordner mit dem Namen des Videos erstellt. Dies ist eine Vorsichtsmaßnahme, da mein Ordner (encoded) auch bei eindeutigen Film
|
done
|
||||||
## Namen immer wieder dazu führte, dass der Film als "ENCODED EXPLODED" umbenannt wurde -.-
|
|
||||||
|
rm -f /tmp/rename.lock
|
||||||
log_msg "$(text_lang "010") $folder" "$yellow" "$white" "$folder"
|
|
||||||
mkdir "$encodes""$folder" 2>/dev/null
|
if tail -n 20 "$log" | grep "Failure" &>/dev/null; then
|
||||||
log_msg "$(text_lang "011") ${purple}$v${white} $(text_lang "012") $folder"
|
if [ "$count" -lt 3 ]; then
|
||||||
mv "$v" "$encodes""$folder" >>"${log[@]}" 2>/dev/null
|
/bin/bash "$0" "$log" "$config" "$count" &
|
||||||
log_msg "$(text_lang "013")"
|
exit
|
||||||
filebot -rename "$encodes""$folder"/"$movie" --db TheMovieDB -non-strict --lang German --format "/mnt/Medien/Filme/{n} ({y})" >>"${log[@]}"
|
else
|
||||||
log_msg "$(text_lang "014") ${red}$(text_lang "015")${white} $(text_lang "016")"
|
log_msg "$(tr "error_renaming") $count $(tr "failed_attempts")"
|
||||||
sleep 5s
|
discord_msg "$(tr "error_renaming") $count $(tr "failed_attempts")"
|
||||||
rmdir "$encodes"* 2>/dev/null
|
nextcloud_msg "$(tr "error_renaming") $count $(tr "failed_attempts")"
|
||||||
fi
|
apprise_msg "$(tr "error_renaming") $count $(tr "failed_attempts")"
|
||||||
done
|
fi
|
||||||
|
else
|
||||||
rm -f /tmp/rename.lock
|
log_msg "$(tr "completed_successfully")"
|
||||||
|
fi
|
||||||
if tail -n 20 "$log" | grep "Failure" &>/dev/null; then
|
|
||||||
if [ "$count" -lt 3 ]; then
|
|
||||||
/bin/bash "$0" "$log" "$config" "$count" &
|
|
||||||
exit
|
|
||||||
else
|
|
||||||
log_msg "$(text_lang "017") $count $(text_lang "018")"
|
|
||||||
discord_msg "$(text_lang "017") $count $(text_lang "018")"
|
|
||||||
nextcloud_msg "$(text_lang "017") $count $(text_lang "018")"
|
|
||||||
apprise_msg "$(text_lang "017") $count $(text_lang "018")"
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
log_msg "$(text_lang "019")"
|
|
||||||
fi
|
|
||||||
Reference in New Issue
Block a user