134 lines
3.9 KiB
Bash
Executable File
134 lines
3.9 KiB
Bash
Executable File
#!/bin/bash
|
|
set -euo pipefail
|
|
IFS=$'\n\t'
|
|
|
|
function checkGlobal() {
|
|
hash mkvpropedit 2>/dev/null || {
|
|
echo >&2 "Erreur: Commande mkvmerge pas trouvé, merci de l'installer"
|
|
exit 1
|
|
}
|
|
|
|
if [ -d "Fait" ]; then
|
|
echo "Le dossier Fait existe"
|
|
else
|
|
mkdir Fait
|
|
echo "Le dossier Fait n'existe pas, il a été créé"
|
|
fi
|
|
}
|
|
|
|
## on lance la fonction
|
|
checkGlobal
|
|
|
|
# $1 est le fichier à traiter préciser dans la commande
|
|
|
|
# On récupère le nom du fichier
|
|
fichier=$(basename "$1")
|
|
|
|
echo "Traitement du fichier $fichier"
|
|
|
|
## Check input file.
|
|
if [ ! -f "$fichier" ]; then
|
|
echo >&2 "ErroErreurr: Fichier d'entrée non trouvé"
|
|
exit 1
|
|
fi
|
|
|
|
mediainfo "$fichier"
|
|
|
|
|
|
echo " Quel est le nom de la piste VFF ? "
|
|
read vff
|
|
|
|
echo " Quel est le nom de la piste VO ? "
|
|
read vo
|
|
|
|
for i in *.mkv; do
|
|
shit=$(mkvinfo "$i" | awk '/mkvextract/')
|
|
|
|
#compter le nombre de ligne de mkvextract
|
|
nbLigne=$(echo "$shit" | wc -l)
|
|
|
|
if [ $nbLigne == 6 ]; then
|
|
echo "Lancement de la modification du fichier "$i" , 6 tracks"
|
|
#mkvmerge --output Fait/"$i"'.TEST.mkv' --language 0:und --default-track 0:yes --display-dimensions 0:1920x1080 --language 1:fr --track-name "1:${vff}" --default-track 1:yes --language 2:en --track-name "2:${vo}" --sub-charset 3:UTF-8 --language 3:fr --track-name '3:VFF Forced' --default-track 3:yes --sub-charset 4:UTF-8 --language 4:fr --track-name '4:VFF Full' --sub-charset 5:UTF-8 --language 5:en --track-name '5:VO Full' '(' "$i" ')' --title "" --track-order 0:0,0:1,0:2,0:3,0:4,0:5
|
|
|
|
mkvmerge --output Fait/"$i"'.TEST.mkv' \
|
|
--language 0:und \
|
|
--default-track 0:yes \
|
|
--display-dimensions 0:1920x1080 \
|
|
--language 1:fr \
|
|
--track-name "1:${vff}" \
|
|
--default-track 1:yes \
|
|
--language 2:en \
|
|
--track-name "2:${vo}" \
|
|
--sub-charset 3:UTF-8 \
|
|
--language 3:fr \
|
|
--track-name '3:VFF Forced' \
|
|
--default-track 3:yes \
|
|
--sub-charset 4:UTF-8 \
|
|
--language 4:fr \
|
|
--track-name '4:VFF Full' \
|
|
--sub-charset 5:UTF-8 \
|
|
--language 5:en \
|
|
--track-name '5:VO Full' '(' "$i" ')' \
|
|
--title "" \
|
|
--track-order 0:0,0:1,0:2,0:3,0:4,0:5
|
|
fi
|
|
|
|
if [ $nbLigne == 5 ]; then
|
|
echo "Lancement de la modification du fichier "$i" , 5 tracks"
|
|
mkvmerge --output Fait/"$i"'.TEST.mkv' \
|
|
--language 0:und \
|
|
--default-track 0:yes \
|
|
--display-dimensions 0:1920x1080 \
|
|
--language 1:fr \
|
|
--track-name "1:${vff}" \
|
|
--default-track 1:yes \
|
|
--language 2:en \
|
|
--track-name "2:${vo}" \
|
|
--sub-charset 3:UTF-8 \
|
|
--language 3:fr \
|
|
--track-name '3:VFF Full' \
|
|
--sub-charset 4:UTF-8 \
|
|
--language 4:fr \
|
|
--track-name '4:VO Full' '(' "$i" ')' \
|
|
--title "" \
|
|
--track-order 0:0,0:1,0:2,0:3,0:4
|
|
fi
|
|
|
|
if [ $nbLigne == 4 ]; then
|
|
echo "Lancement de la modification du fichier "$i" , 4 tracks"
|
|
mkvmerge --output Fait/"$i"'.TEST.mkv' \
|
|
--language 0:und \
|
|
--default-track 0:yes \
|
|
--display-dimensions 0:1920x1080 \
|
|
--language 1:fr \
|
|
--track-name "1:${vff}" \
|
|
--default-track 1:yes \
|
|
--language 2:en \
|
|
--track-name "2:${vo}" \
|
|
--sub-charset 3:UTF-8 \
|
|
--language 3:fr \
|
|
--track-name '3:VFF Full' '(' "$i" ')' \
|
|
--title "" \
|
|
--track-order 0:0,0:1,0:2,0:3
|
|
fi
|
|
done
|
|
|
|
cd Fait
|
|
|
|
for i in *.mkv; do
|
|
i2=$(echo $i | sed -E 's/.TEST.mkv//gm;t;d')
|
|
mv "$i" "$i2"
|
|
done
|
|
|
|
cd ..
|
|
rm *.mkv
|
|
mv Fait/* .
|
|
rm -r Fait
|
|
|
|
filebot -rename *.mkv --db TheTVDB
|
|
|
|
#FIn du programme
|
|
echo "Merci de m'avoir utilisé !"
|
|
exit 0
|