From 2a9406b3705204bd424737c9eb8cc06bc67f2389 Mon Sep 17 00:00:00 2001 From: Thorsten Date: Mon, 16 Dec 2024 20:34:13 +0100 Subject: [PATCH] Initial commit --- .gitignore | 3 + auto_mkvmerge.desktop | 7 + bin/auto_mkvmerge.sh | 472 ++++++++++++++++++++++++++++++++++++++++++ bin/auto_sort.sh | 165 +++++++++++++++ bin/done.wav | Bin 0 -> 49052 bytes bin/error.wav | Bin 0 -> 134342 bytes 6 files changed, 647 insertions(+) create mode 100644 .gitignore create mode 100644 auto_mkvmerge.desktop create mode 100644 bin/auto_mkvmerge.sh create mode 100644 bin/auto_sort.sh create mode 100644 bin/done.wav create mode 100644 bin/error.wav diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b45a6bb --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +template.json +.vscode +settings.ini \ No newline at end of file diff --git a/auto_mkvmerge.desktop b/auto_mkvmerge.desktop new file mode 100644 index 0000000..b9e84ab --- /dev/null +++ b/auto_mkvmerge.desktop @@ -0,0 +1,7 @@ +#!/usr/bin/env xdg-open +[Desktop Entry] +Name=auto_mkvmerge +Exec=sh -e -c "exec \\"\\$(dirname \\"\\$0\\")/bin/auto_mkvmerge.sh\\"" %k +Icon=mkvmerge +Terminal=true +Type=Application \ No newline at end of file diff --git a/bin/auto_mkvmerge.sh b/bin/auto_mkvmerge.sh new file mode 100644 index 0000000..27f5079 --- /dev/null +++ b/bin/auto_mkvmerge.sh @@ -0,0 +1,472 @@ +#!/bin/bash + +#─────────────────────────────────── user settings ───────────────────────────────────# +#─────────────────────────────────────────────────────────────────────────────────────# +# pathes +input_folder="" +output_folder="" +jsonfile_path="./template.json" +#─────────────────────────────────────────────────────────────────────────────────────# +# determine what to do if the video files have different audio and subtitle tracks +# possible values: +# normal | if credibility check returns with no errors start merging +# check | stops after credibility check +# nocheck | merge without a credibility check +mode=normal +#─────────────────────────────────────────────────────────────────────────────────────# +# choose which mkvmerge version is used +# possible values: +# binary | use "/usr/bin/mkvmerge" +# flatpak | use "flatpak run org.bunkus.mkvtoolnix-gui mkvmerge" +# path | use your own path to mkvmerge +mkvmerge=binary +#─────────────────────────────────────────────────────────────────────────────────────# +# get text notifications of errors and when the script is done (via notify-send) +# possible values: +# on | notifications on +# off | notifications off +notification_text=on +#─────────────────────────────────────────────────────────────────────────────────────# +# get audio notifications of errors and when the script is done +# possible values: +# off | no sound +# beep | beep sounds via speaker-test +# voice | tts via spd-say +# file | play wav files from $(pwd)./bin folder namend done.wav & error.wav +nofification_audio=beep +#─────────────────────────────────────────────────────────────────────────────────────# +# overwrite the above settings with the values from a ini file +# possible values: +# on | ignore above values and use $settings_file +# off | use the values from script +overwrite_with_settings_ini=on +settings_file="./settings.ini" +#─────────────────────────────────────────────────────────────────────────────────────# +#─────────────────────────────────── script start ────────────────────────────────────# + + + +# ffprobe +ffprobe_path="/usr/bin/ffprobe" + + +# global variables +declare -a json_array +declare -a video_file_list +outputpath_index=-1 +inputpath_index=-1 + + +#colors +RED='\033[0;31m' +GREEN='\033[0;92m' +BLUE='\033[0;94m' +WHITE_ON_GRAY='\033[0;37;100m' +BLACK_ON_WHITE='\033[0;30;47m' +WHITE_ON_RED='\033[0;37;41m' +NC='\033[0m' # No Color + + + + +# Main Function +main() { + + # get the user variables of the ini file + if [ "$overwrite_with_settings_ini" = "on" ]; then + get_user_variables_from_ini_file + fi + + # convert relativ to absolut pathes + jsonfile_path=$(relativ_to_fullpath "$jsonfile_path") + + + # apply user varible $mkvmerge to $mkvmerge_path + if [ "$mkvmerge" = "binary" ]; then + mkvmerge_path="/usr/bin/mkvmerge" + elif [ "$mkvmerge" = "flatpak" ]; then + mkvmerge_path="flatpak run org.bunkus.mkvtoolnix-gui mkvmerge" + else + mkvmerge_path=$mkvmerge + fi + + + + echo "────────────────────────────────────────────────────────────────" + echo -e "${BLACK_ON_WHITE} Auto MKVMerge start ${NC}" + echo "────────────────────────────────────────────────────────────────" + echo " " + echo -e "${WHITE_ON_GRAY} Input Folder ${NC} ""$input_folder""" + echo -e "${WHITE_ON_GRAY} Output Folder ${NC} ""$output_folder""" + echo -e "${WHITE_ON_GRAY} JSON File ${NC} ""$jsonfile_path""" + echo -e "${WHITE_ON_GRAY} MKVMerge ${NC} ""$mkvmerge_path""" + echo -e "${WHITE_ON_GRAY} Mode ${NC} ""$mode""" + echo " " + echo "────────────────────────────────────────────────────────────────" + + # map json array to bash array + check_dependecies + init + + + #credibility check + if [ ! "$mode" = "nocheck" ]; then + check_credibility "${video_file_list[@]}" + fi + + #start merging + if [ ! "$mode" = "check" ]; then + echo -e "${BLACK_ON_WHITE} Starting MKVMerge ${NC}" + local filecount=1 #count variable for the echo output + local filecountdecimal="" #same count variable in 3 decimal + local filetotaldecimal=$(printf "%03d" ${#video_file_list[@]}) #converting filescount to a 3 decimal output + + for file_path in "${video_file_list[@]}"; do + + # highlight_episode + highlighted_episode=$(highlight_episode "$file_path") + + filecountdecimal=$(printf "%03d" $filecount) + echo "────────────────────────────────────────────────────────────────" + echo -e "${WHITE_ON_GRAY} ""$filecountdecimal""|""$filetotaldecimal"" ${NC} Merging: $highlighted_episode${NC}" + echo "────────────────────────────────────────────────────────────────" + ((filecount++)) + output_path="$output_folder/$(basename "$file_path")" + apply_mkvmerge_on_file "$file_path" "$output_path" + done + fi + + _exit 0 +} + + + +check_dependecies(){ + + # Error check: Input path is invalid + if [ ! -e "$input_folder" ]; then + _exit 1 "Input path is invalid!" + fi + + # Error check: Output path is invalid and cannot be created + if [ ! -e "$output_folder" ]; then + # try to create the path + mkdir -p "$output_folder" > /dev/null 2>&1 + if [ $? -ne 0 ]; then + #echo "Output path is invalid or cannot be created!" + _exit 1 "Output path is invalid or cannot be created!" + fi + fi + + # Error check: Input and Output paths must not be identical + if [[ "$input_folder" == "$output_folder" ]]; then + _exit 1 "Input and Output paths must not be identical!" + fi + + if ! test -x "$ffprobe_path"; then + _exit 1 "ffprobe is not installed. Please install it before running this script." + fi + + # Error check: Videos.json file not found + if [ ! -e "$jsonfile_path" ]; then + _exit 1 "Videos.json file not found!" + fi + + # Error check: mkvmerge not found + if [ "$mkvmerge" = "binary" ]; then + if ! test -x "$mkvmerge_path"; then + _exit 1 "mkvmerge not found!" + fi + elif [ "$mkvmerge" = "flatpak" ]; then + if ! test -x "/var/lib/flatpak/app/org.bunkus.mkvtoolnix-gui"; then + _exit 1 "mkvmerge not found!" + fi + else + if ! test -x "$mkvmerge_path"; then + _exit 1 "mkvmerge not found!" + fi + fi +} + +init() { + + mapfile -t json_array < <(jq -r '.[]' "$jsonfile_path") + + #loop over indices of bash array + for index in "${!json_array[@]}";do + #get item on current position + item="${json_array[$index]}" + + #if current position has value --output the next index is the output path + if [[ "$item" == "--output" ]]; then + outputpath_index=$(($index + 1)) + fi + + #if current position has value ( the next index is the input path (hopefully) + if [[ "$item" == "(" ]]; then + inputpath_index=$(($index + 1)) + fi + done + + #if one path is not found: invalid json + if [[ $outputpath_index -eq -1 || $inputpath_index -eq -1 ]]; then + _exit 1 "there is an error with the json config file: input or output path not found" + fi + + #save all mp4 and mkv file paths in video_file_list array + mapfile -t video_file_list < <(find "$input_folder" -type f \( -name "*.mp4" -o -name "*.mkv" -o -name "*.flv" -o -name "*.avi" \) | sort) + + if [ "${#json_array[@]}" -eq 0 ]; then + _exit 1 "no files found in $input_folder" + fi + +} + + +get_user_variables_from_ini_file() { + + # get absolut path of the ini file + settings_file=$(relativ_to_fullpath "$settings_file") + + # abort script if settings file can't be found + if [ ! -e "$settings_file" ]; then + _exit 1 "Settingsfile not found at: "$settings_file + fi + + # read ini values + input_folder=$(sed -nr "/^\[pathes\]/ { :l /^input_folder[ ]*=/ { s/[^=]*=[ ]*//; p; q;}; n; b l;}" "$settings_file") + output_folder=$(sed -nr "/^\[pathes\]/ { :l /^output_folder[ ]*=/ { s/[^=]*=[ ]*//; p; q;}; n; b l;}" "$settings_file") + jsonfile_path=$(sed -nr "/^\[pathes\]/ { :l /^jsonfile_path[ ]*=/ { s/[^=]*=[ ]*//; p; q;}; n; b l;}" "$settings_file") + mode=$(sed -nr "/^\[mode\]/ { :l /^mode[ ]*=/ { s/[^=]*=[ ]*//; p; q;}; n; b l;}" "$settings_file") + mkvmerge=$(sed -nr "/^\[mkvmerge\]/ { :l /^mkvmerge[ ]*=/ { s/[^=]*=[ ]*//; p; q;}; n; b l;}" "$settings_file") + notification_text=$(sed -nr "/^\[notification_text\]/ { :l /^notification_text[ ]*=/ { s/[^=]*=[ ]*//; p; q;}; n; b l;}" "$settings_file") + nofification_audio=$(sed -nr "/^\[nofification_audio\]/ { :l /^nofification_audio[ ]*=/ { s/[^=]*=[ ]*//; p; q;}; n; b l;}" "$settings_file") + + + +} + +check_credibility(){ + + local global_error=false + local file_error=false + local first_iteration_audio_language_array=() + local first_iteration_subtitle_language_array=() + local files=("$@") + local filetotaldecimal=$(printf "%03d" ${#files[@]}) #converting filescount to a 3 decimal output + local filecount=1 #count variable for the echo output + local filecountdecimal="" #same count variable in 3 decimal + local audio_language_array_sep="" + local subtitle_language_array_sep="" + local seperator="|" + + + echo -e "${BLACK_ON_WHITE} Checking credibility ${NC}" + echo "────────────────────────────────────────────────────────────────" + + for file in "${files[@]}"; do + + ffprobe_json=$("$ffprobe_path" -v error -show_streams -of json "$file") + + # Run ffprobe and extract language information using jq, store it in a bash array + readarray -t audio_language_array < <(echo "$ffprobe_json" | jq '.streams[] | select(.codec_type == "audio") | .tags.language') + readarray -t subtitle_language_array < <(echo "$ffprobe_json" | jq '.streams[] | select(.codec_type == "subtitle") | .tags.language') + + # Debug Print the contents of the array + #printf '%s\n' "${language_array[@]}" + + if [[ $filecount = 1 ]]; then + first_iteration_audio_language_array=("${audio_language_array[@]}") + first_iteration_subtitle_language_array=("${subtitle_language_array[@]}") + elif [[ "${first_iteration_audio_language_array[*]}" != "${audio_language_array[*]}" || "${first_iteration_subtitle_language_array[*]}" != "${subtitle_language_array[*]}" ]]; then + global_error=true + file_error=true + fi + + #converting filecount to a 3 decimal output + filecountdecimal=$(printf "%03d" $filecount) + + + #converadding seperator to audio_language_array ($seperator) + audio_language_array_sep=$(printf "%s$seperator" "${audio_language_array[@]}") + #cutting off last seperator + audio_language_array_sep=${audio_language_array_sep%$seperator} + + #adding seperator to subtitle_language_array ($seperator) + subtitle_language_array_sep=$(printf "%s$seperator" "${subtitle_language_array[@]}") + #cutting last off seperator + subtitle_language_array_sep=${subtitle_language_array_sep%$seperator} + + # highlight_episode + highlighted_episode=$(highlight_episode "$file") + + if [ $file_error = true ]; then + echo -e "${WHITE_ON_GRAY} ""$filecountdecimal""|""$filetotaldecimal"" ${NC} ${RED}Audio: ${#audio_language_array[@]} [${audio_language_array_sep[*]}]${NC} ${WHITE_ON_GRAY}|${NC} ${RED}Subtitle: ${#subtitle_language_array[@]} [${subtitle_language_array_sep[*]}]${NC} $highlighted_episode${NC}" + else + echo -e "${WHITE_ON_GRAY} ""$filecountdecimal""|""$filetotaldecimal"" ${NC} ${GREEN}Audio: ${#audio_language_array[@]} [${audio_language_array_sep[*]}]${NC} ${WHITE_ON_GRAY}|${NC} ${GREEN}Subtitle: ${#subtitle_language_array[@]} [${subtitle_language_array_sep[*]}]${NC} $highlighted_episode${NC}" + fi + + ((filecount++)) + + file_error=false + + done + + if [ $global_error = true ]; then + #echo "────────────────────────────────────────────────────────────────" + #echo -e "${WHITE_ON_RED} The credibility check returned with errors! Aborting... ${NC}" + #echo "────────────────────────────────────────────────────────────────" + _exit 1 "The credibility check returned with errors! Aborting" + else + echo "────────────────────────────────────────────────────────────────" + echo -e "${BLACK_ON_WHITE} The credibility test went smoothly ${NC}" + echo "────────────────────────────────────────────────────────────────" + fi +} + + +# MKV Merge Batch Function +apply_mkvmerge_on_file() { + #parameter is path of a video file to be merged + local input_file=$1 + local output_file=$2 + local command="$mkvmerge_path" + + #update input path in video json array + json_array[inputpath_index]="$input_file" + + #update output path in video json array + json_array[outputpath_index]="$output_file" + + for argument in "${json_array[@]}"; do + command+=" \"$argument\"" + done + + eval "$command" + +} + +#beep sounds via speaker-test +playsound_speaker_sound() { + ( + \speaker-test --frequency $1 --test sine > /dev/null 2>&1 & + pid=$! + \sleep 0.${2}s + \kill -9 $pid > /dev/null 2>&1 + ) > /dev/null 2>&1 +} + + +_exit(){ + + #get the exit message + local error_state="$1" + local error_msg="$2" + local scriptpath="$( cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )" + + #script stopted with errors + if [ "$error_state" = 1 ]; then + + #echo output + echo "────────────────────────────────────────────────────────────────" + echo -e "${WHITE_ON_RED} Error ${NC}" + echo + echo -e "${RED}$error_msg${NC}" + echo "────────────────────────────────────────────────────────────────" + + #notification_text + if [ "$notification_text" = "on" ]; then + notify-send --urgency=critical "Auto MKVMerge Warning" "$error_msg" + fi + + #nofification_audio + if [ "$nofification_audio" = "beep" ]; then + playsound_speaker_sound 1500 150 + playsound_speaker_sound 1500 150 + playsound_speaker_sound 1500 150 + elif [ "$nofification_audio" = "voice" ]; then + spd-say "Auto MKVMerge Error" + elif [ "$nofification_audio" = "file" ]; then + aplay "$scriptpath/error.wav" > /dev/null 2>&1 + fi + + #exit the script + echo + read -n 1 -s -r -p "Press any key to exit" + exit + + fi + + #normal exit + if [ "$error_state" = 0 ]; then + + #echo output + echo "────────────────────────────────────────────────────────────────" + echo -e "${BLACK_ON_WHITE} Finished! ${NC}" + echo "────────────────────────────────────────────────────────────────" + + #notification_text + if [ "$notification_text" = "on" ]; then + notify-send --urgency=normal "Auto MKVMerge" "Finished!" + fi + + #nofification_audio + if [ "$nofification_audio" = "beep" ]; then + playsound_speaker_sound 200 200 + playsound_speaker_sound 400 200 + elif [ "$nofification_audio" = "voice" ]; then + spd-say "Auto MKVMerge ist fertig" + elif [ "$nofification_audio" = "file" ]; then + aplay "$scriptpath/done.wav" > /dev/null 2>&1 + fi + + #exit the script + echo + read -n 1 -s -r -p "Press any key to exit" + exit + + fi + + #exit the script + echo + read -n 1 -s -r -p "Press any key to exit" + exit + +} + + +# coloring SxxExx in string +highlight_episode() { + local input="$1" + local normal_color=${NC} + local episode_color=${BLUE} + + local highlighted_episode=$(echo "$input" | awk -v normal_color="$normal_color" -v episode_color="$episode_color" 'BEGIN { IGNORECASE=1 } { gsub(/s[0-9]{2}e[0-9]{2}([e][0-9]{2})?/, episode_color"&\033[0m", $0); print normal_color$0"\033[0m" }') + + echo "$highlighted_episode" +} + + +relativ_to_fullpath() { + + local path="$1" + scriptpath="$( cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )" + + if [ ! -e "$path" ]; then + pathfull=$(realpath "$(dirname "$scriptpath")/$path") + else + pathfull=$path + fi + + echo "$pathfull" + +} + + + + +# Main +main + + +$SHELL diff --git a/bin/auto_sort.sh b/bin/auto_sort.sh new file mode 100644 index 0000000..bfe4bef --- /dev/null +++ b/bin/auto_sort.sh @@ -0,0 +1,165 @@ +#!/bin/bash + +# global variables +declare -a video_file_list +settings_file="./settings.ini" + +get_user_variables_from_ini_file + + +#save all mp4 and mkv file paths in video_file_list array +mapfile -t video_file_list < <(find "$input_folder" -type f \( -name "*.mp4" -o -name "*.mkv" -o -name "*.avi" \) | sort) + + +# Funktion, um den kleinsten gemeinsamen übergeordneten Ordner zu finden +find_common_parent() { + local common_parent + local first_file=true + + # Durchlaufe alle übergebenen Dateien + for file in "$@"; do + # Überprüfe, ob die Datei existiert und eine Datei ist + if [ -f "$file" ]; then + # Bestimme den Ordner der Datei + file_dir=$(dirname "$file") + + # Wenn dies die erste Datei ist, setze den gemeinsamen übergeordneten Ordner auf den Ordner dieser Datei + if [ "$first_file" = true ]; then + common_parent="$file_dir" + first_file=false + else + # Andernfalls bestimme den gemeinsamen übergeordneten Ordner zwischen dem aktuellen und dem bisherigen + common_parent=$(realpath --relative-to="$common_parent" "$file_dir") + fi + else + echo "Datei existiert nicht: $file" + return 1 + fi + done + + # Gib den gemeinsamen übergeordneten Ordner zurück + echo "$common_parent" +} + + + + + +get_user_variables_from_ini_file() { + + # get absolut path of the ini file + settings_file=$(relativ_to_fullpath "$settings_file") + + # abort script if settings file can't be found + if [ ! -e "$settings_file" ]; then + _exit 1 "Settingsfile not found at: "$settings_file + fi + + # read ini values + input_folder=$(sed -nr "/^\[pathes\]/ { :l /^input_folder[ ]*=/ { s/[^=]*=[ ]*//; p; q;}; n; b l;}" "$settings_file") + output_folder=$(sed -nr "/^\[pathes\]/ { :l /^output_folder[ ]*=/ { s/[^=]*=[ ]*//; p; q;}; n; b l;}" "$settings_file") + jsonfile_path=$(sed -nr "/^\[pathes\]/ { :l /^jsonfile_path[ ]*=/ { s/[^=]*=[ ]*//; p; q;}; n; b l;}" "$settings_file") + mode=$(sed -nr "/^\[mode\]/ { :l /^mode[ ]*=/ { s/[^=]*=[ ]*//; p; q;}; n; b l;}" "$settings_file") + mkvmerge=$(sed -nr "/^\[mkvmerge\]/ { :l /^mkvmerge[ ]*=/ { s/[^=]*=[ ]*//; p; q;}; n; b l;}" "$settings_file") + notification_text=$(sed -nr "/^\[notification_text\]/ { :l /^notification_text[ ]*=/ { s/[^=]*=[ ]*//; p; q;}; n; b l;}" "$settings_file") + nofification_audio=$(sed -nr "/^\[nofification_audio\]/ { :l /^nofification_audio[ ]*=/ { s/[^=]*=[ ]*//; p; q;}; n; b l;}" "$settings_file") + + + +} + +relativ_to_fullpath() { + + local path="$1" + scriptpath="$( cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )" + + if [ ! -e "$path" ]; then + pathfull=$(realpath "$(dirname "$scriptpath")/$path") + else + pathfull=$path + fi + +} + + + + + + + +_exit(){ + + #get the exit message + local error_state="$1" + local error_msg="$2" + local scriptpath="$( cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )" + + #script stopted with errors + if [ "$error_state" = 1 ]; then + + #echo output + echo "────────────────────────────────────────────────────────────────" + echo -e "${WHITE_ON_RED} Error ${NC}" + echo + echo -e "${RED}$error_msg${NC}" + echo "────────────────────────────────────────────────────────────────" + + #notification_text + if [ "$notification_text" = "on" ]; then + notify-send --urgency=critical "Auto MKVMerge Warning" "$error_msg" + fi + + #nofification_audio + if [ "$nofification_audio" = "beep" ]; then + playsound_speaker_sound 1500 150 + playsound_speaker_sound 1500 150 + playsound_speaker_sound 1500 150 + elif [ "$nofification_audio" = "voice" ]; then + spd-say "Auto MKVMerge Error" + elif [ "$nofification_audio" = "file" ]; then + aplay "$scriptpath/error.wav" > /dev/null 2>&1 + fi + + #exit the script + echo + read -n 1 -s -r -p "Press any key to exit" + exit + + fi + + #normal exit + if [ "$error_state" = 0 ]; then + + #echo output + echo "────────────────────────────────────────────────────────────────" + echo -e "${BLACK_ON_WHITE} Finished! ${NC}" + echo "────────────────────────────────────────────────────────────────" + + #notification_text + if [ "$notification_text" = "on" ]; then + notify-send --urgency=normal "Auto MKVMerge" "Finished!" + fi + + #nofification_audio + if [ "$nofification_audio" = "beep" ]; then + playsound_speaker_sound 200 200 + playsound_speaker_sound 400 200 + elif [ "$nofification_audio" = "voice" ]; then + spd-say "Auto MKVMerge ist fertig" + elif [ "$nofification_audio" = "file" ]; then + aplay "$scriptpath/done.wav" > /dev/null 2>&1 + fi + + #exit the script + echo + read -n 1 -s -r -p "Press any key to exit" + exit + + fi + + #exit the script + echo + read -n 1 -s -r -p "Press any key to exit" + exit + +} \ No newline at end of file diff --git a/bin/done.wav b/bin/done.wav new file mode 100644 index 0000000000000000000000000000000000000000..ea5c577ad53fccd190cf9ef27b281866bbec7e45 GIT binary patch literal 49052 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 LjhqG8-+%Le3JGZ8 literal 0 HcmV?d00001 diff --git a/bin/error.wav b/bin/error.wav new file mode 100644 index 0000000000000000000000000000000000000000..aac4bb0670d7068a07b9b0a00c515215edd2383d GIT binary patch literal 134342 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 O=nq1whwI?C1O5j+D{MOe literal 0 HcmV?d00001