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