Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
doc:programmation:bash:ffmpeg [25/04/2020 13:05] smolski |
doc:programmation:bash:ffmpeg [29/04/2020 20:26] (Version actuelle) golgot200 [script - choix du titre et du bitrate] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== Script bash ffmpeg - Copie DVD-VIDÉO ====== | + | ====== Script ffmpeg - Copie DVD-VIDÉO ====== |
* Objet : du tuto Ripper des dvd avec choix du titre et du bitrate | * Objet : du tuto Ripper des dvd avec choix du titre et du bitrate | ||
Ligne 5: | Ligne 5: | ||
* Commentaires : //Copies de dvd avancée via ffmpeg dans un script bash. // | * Commentaires : //Copies de dvd avancée via ffmpeg dans un script bash. // | ||
* Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | * Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | ||
- | * Suivi : {{tag>en-chantier à-tester à-placer}} - FIXME Pour choisir, voir les autres Tags possibles dans [[:atelier:#tags|l'Atelier]]. | + | * Suivi : {{tag>à-tester}} |
- | * Création par [[user>smolski]] 25/04/2020 | + | * Création par [[user>smolski]] 25/04/2020 d'après un script de Golgot200 |
- | * Testé par <...> le <...> FIXME | + | * Commentaires sur le forum : [[https://debian-facile.org/viewtopic.php?id=24453 | Lien vers le forum concernant ce tuto]] ((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) |
- | * Commentaires sur le forum : [[:url-invalide | Lien vers le forum concernant ce tuto]] ((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) FIXME | + | |
- | + | ||
- | **Nota :** | + | |
- | + | ||
- | Contributeurs, les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli ! | + | |
===== Introduction ===== | ===== Introduction ===== | ||
- | script utilisant ffmpeg pour copier des dvd video | + | script utilisant ffmpeg pour copier des dvd video où en plus du titre, tu auras le choix du bitrate par défaut ("sans compression)" ou si tu ne veux pas, un autre choix te sera proposé pour le rentrer directement dans le terminal. |
===== Installation ===== | ===== Installation ===== | ||
Ligne 28: | Ligne 22: | ||
En root, créer un fichier : | En root, créer un fichier : | ||
- | <code root>gedit copie-dvd_1</code> | + | <code root>gedit cdvd</code> |
copier le script suivant : | copier le script suivant : | ||
<file bash ripdvd> | <file bash ripdvd> | ||
Ligne 35: | Ligne 29: | ||
## golgot200 | ## golgot200 | ||
## Testeur smolski | ## Testeur smolski | ||
- | ## 24/04/2020 | + | ## 29/04/2020 |
+ | |||
+ | START_TIME=$(date +%s) | ||
Ligne 49: | Ligne 45: | ||
if [[ "$COUNT_VIDEO_TS" -eq 0 ]]; then | if [[ "$COUNT_VIDEO_TS" -eq 0 ]]; then | ||
- | echo "Aucun dvd vidéo monté : Abandon" | + | echo -e "\e[3;4;32m Aucun DVD-VIDEO monté : Abandon\e\n[0m" |
exit 0 | exit 0 | ||
elif [[ "$COUNT_VIDEO_TS" -gt 1 ]]; then | elif [[ "$COUNT_VIDEO_TS" -gt 1 ]]; then | ||
- | echo "Il y a plus d'un dvd video détecté : Abandon" | + | echo -e "\e[3;4;32m Il y a plus d'un DVD-VIDEO détecté : Abandon\e\n[0m" |
exit 0 | exit 0 | ||
Ligne 61: | Ligne 57: | ||
if [[ "$COUNT_VIDEO_TS" -eq 1 ]] && [[ "$COUNT_DEVICE" -eq 1 ]]; then | if [[ "$COUNT_VIDEO_TS" -eq 1 ]] && [[ "$COUNT_DEVICE" -eq 1 ]]; then | ||
- | echo -e "\e[32mLes conditions sont réunies : On continue\e[0m" | + | echo -e "\e[3;4;32m Les conditions sont réunies : On continue\e\n[0m" |
- | TITLE=$(lsdvd "$DEVICE" | head -1 | awk '{print $3}') | + | TITLE=$(lsdvd /dev/sr0 | head -1 | awk '{print $3}') |
TITLE_COUNT=$(lsdvd "$DEVICE" | grep -c ^'Title: ') | TITLE_COUNT=$(lsdvd "$DEVICE" | grep -c ^'Title: ') | ||
Ligne 70: | Ligne 66: | ||
- | echo "Proceed..." | + | echo "Proceed..." |
- | echo -e "DVD-Vidéo : \e[32m$TITLE\e[0m" | + | echo -e "DVD-Vidéo : \e[32m$TITLE\e[0m" |
read -r -p "Ce nom convient-il ? [Y/n] " input | read -r -p "Ce nom convient-il ? [Y/n] " input | ||
- | echo "" | ||
case $input in | case $input in | ||
[yY][eE][sS]|[yY]) | [yY][eE][sS]|[yY]) | ||
- | echo -e "Réponse : \e[32mOui\e[0m" | + | echo -e "\e[3;4;32m Réponse:\n\e[0m \e[32mOui\e[0m" |
+ | echo "" | ||
+ | mkdir -p "$TITLE/IFOS" | ||
+ | mkdir -p "$TITLE/VOBSUBS" | ||
+ | ;; | ||
+ | [nN][oO]|[nN]) | ||
+ | echo -e "\e[3;4;32m Réponse:\n\e[0m \e[33mNon\e[0m" | ||
+ | read -r -p "Entrer un nouveau nom: " TITLE | ||
+ | if [[ -z "$TITLE" ]]; then | ||
+ | echo "Invalid input..." | ||
+ | echo "Quit" | ||
+ | exit 1 | ||
+ | else | ||
+ | echo "" | ||
+ | mkdir -p "$TITLE/IFOS" | ||
+ | mkdir -p "$TITLE/VOBSUBS" | ||
+ | fi | ||
+ | ;; | ||
+ | *) | ||
+ | echo "Invalid input..." | ||
+ | echo "Quit" | ||
+ | exit 1 | ||
+ | ;; | ||
+ | esac | ||
- | mkdir -p "$TITLE/IFOS" | + | |
- | mkdir -p "$TITLE/VOBSUBS" | + | |
+ | default_limit=-1 | ||
+ | |||
+ | |||
+ | |||
+ | echo -e "\e[3;4;32m La limite est fixée pour encoder tous les titres.\e[0m" | ||
+ | read -r -p "Encoder tous les titres ? [Y/n] " input | ||
+ | case $input in | ||
+ | [yY][eE][sS]|[yY]) | ||
+ | |||
+ | echo -e "\e[3;4;32m Réponse:\n\e[0m \e[32mOui, on encode tous les titres.\e[0m" | ||
+ | echo "$default_limit" >> "$TITLE/time_limit.txt" | ||
+ | echo "" | ||
;; | ;; | ||
[nN][oO]|[nN]) | [nN][oO]|[nN]) | ||
- | echo "" | + | echo -e "\e[3;4;32m Réponse:\n\e[0m \e[33mNon, je ne veux encoder que les titres d'une certaine durée.\e[0m" |
- | echo -e "Réponse : \e[32mNon\e[0m" | + | read -r -p "Entrer une limite (ex:1800) en secondes: " time_limit |
- | read -r -p "Entrer un nouveau nom: " TITLE | + | if [[ -z "$time_limit" ]]; then |
- | echo "" | + | echo "Invalid input..." |
- | mkdir -p "$TITLE/IFOS" | + | echo "Quit" |
- | mkdir -p "$TITLE/VOBSUBS" | + | rm -r "$TITLE" |
- | ;; | + | echo -e "Supression du dossier \e[32m$TITLE\e[0m" |
+ | exit 1 | ||
+ | else | ||
+ | times=$((time_limit / 60)) | ||
+ | echo -e "Seul les titres de \e[94m$times minutes\e[0m et plus seront pris en compte." | ||
+ | echo "$time_limit" >> "$TITLE/time_limit.txt" | ||
+ | echo "" | ||
+ | fi | ||
+ | ;; | ||
+ | *) | ||
+ | echo "Invalid input..." | ||
+ | echo "Quit" | ||
+ | rm -r "$TITLE" | ||
+ | echo -e "Supression du dossier \e[32m$TITLE\e[0m" | ||
+ | exit 1 | ||
+ | ;; | ||
+ | esac | ||
+ | |||
+ | |||
+ | |||
+ | echo -e "\e[3;4;32m la langue française est privilégiée par défaut.\e[0m" | ||
+ | read -r -p "Privilégier cette option ? [Y/n] " input | ||
+ | case $input in | ||
+ | [yY][eE][sS]|[yY]) | ||
+ | |||
+ | echo -e "\e[3;4;32m Réponse:\n\e[0m \e[32mOui, on garde cette option.\e\n[0m" | ||
+ | echo "1" > "$TITLE/choix_langues.txt" | ||
+ | ;; | ||
+ | [nN][oO]|[nN]) | ||
+ | echo -e "\e[3;4;32m Réponse:\n\e[0m \e[33mNon, on garde toutes les langues.\e[0m" | ||
+ | echo "0" > "$TITLE/choix_langues.txt" | ||
+ | |||
+ | ;; | ||
*) | *) | ||
echo "Invalid input..." | echo "Invalid input..." | ||
echo "Quit" | echo "Quit" | ||
+ | rm -r "$TITLE" | ||
+ | echo -e "Supression du dossier \e[32m$TITLE\e[0m" | ||
exit 1 | exit 1 | ||
;; | ;; | ||
Ligne 102: | Ligne 166: | ||
- | + | read -r -p "Conserver le bitrate d'origine ? [Y/n] " input | |
- | read -r -p "Garder le bitrate d'origine ? [Y/n] " input | + | |
- | echo "" | + | |
case $input in | case $input in | ||
[yY][eE][sS]|[yY]) | [yY][eE][sS]|[yY]) | ||
- | echo -e "Réponse : \e[32mOui\e[0m" | + | echo -e "\e[3;4;32m Réponse:\n\e[0m \e[32mOui\e[0m" |
for (( i=1; i<=TITLE_COUNT; i++ )) | for (( i=1; i<=TITLE_COUNT; i++ )) | ||
Ligne 114: | Ligne 176: | ||
BITRATE=$(mplayer -noconfig all -nocache -vo null -ao null -frames 0 -identify -dvd-device "$DEVICE" dvdnav://"$i" 2>/dev/null | \ | BITRATE=$(mplayer -noconfig all -nocache -vo null -ao null -frames 0 -identify -dvd-device "$DEVICE" dvdnav://"$i" 2>/dev/null | \ | ||
- | grep "VIDEO:" | awk '{print$8}' | sed 's/\.[^ ]*/ /g') | + | grep "VIDEO:" | awk '{print$8}' | sed 's/\.[^ ]*/ /g') |
- | echo -e "$BITRATE" >> "$TITLE/bitrate.txt" | + | echo "$BITRATE" >> "$TITLE/bitrate.txt" |
done | done | ||
;; | ;; | ||
[nN][oO]|[nN]) | [nN][oO]|[nN]) | ||
- | echo -e "Réponse : \e[32mNon\e[0m" | + | echo -e "\e[3;4;32m Réponse:\n\e[0m \e[33mNon, on applique un bitrate de son choix\e[0m" |
- | read -r -p "Entrer un nouveau Bitrate: " newbitrate | + | read -r -p "Appliquer un nouveau Bitrate (ex 1500): " newbitrate |
- | + | echo -e "\e[3;4;33mChoix du bitrate:\n\e[0m \e[3;6;94m$newbitrate kbits/s\e[0m (pour tous les titres)" | |
- | for (( i=1; i<=TITLE_COUNT; i++ )) | + | |
- | do | + | if [[ -z "$newbitrate" ]]; then |
- | echo -e "$newbitrate" >> "$TITLE/bitrate.txt" | + | echo -e " \e[3;6;94m Bitrate erroné\e[0m" |
- | done | + | echo "Quit" |
- | ;; | + | rm -r "$TITLE" |
- | *) | + | echo -e "Supression du dossier \e[32m$TITLE\e[0m" |
- | echo "Invalid input..." | + | exit 1 |
- | echo "Quit" | + | else |
- | rm -r "$TITLE" | + | for (( i=1; i<=TITLE_COUNT; i++ )) |
- | echo -e "Supression du dossier \e[32m$TITLE\e[0m" | + | do |
+ | echo "$newbitrate" >> "$TITLE/bitrate.txt" | ||
+ | done | ||
+ | fi ;; | ||
+ | *) | ||
+ | echo "Invalid input..." | ||
+ | echo "Quit" | ||
+ | rm -r "$TITLE" | ||
+ | echo -e "Supression du dossier \e[32m$TITLE\e[0m" | ||
exit 1 | exit 1 | ||
;; | ;; | ||
- | esac | + | esac |
Ligne 144: | Ligne 214: | ||
for (( i=1; i<=TITLE_COUNT; i++ )) | for (( i=1; i<=TITLE_COUNT; i++ )) | ||
do | do | ||
- | |||
Ligne 150: | Ligne 219: | ||
bitrate_k=$((bv/1))k | bitrate_k=$((bv/1))k | ||
bufsize_k=$((bv/2))k | bufsize_k=$((bv/2))k | ||
- | echo "" | ||
- | echo -e "Le bitrate du titre n°\e[94m$i\e[0m sera donc de : \e[32m$bitrate_k\e[0m" | ||
- | echo "Proceed..." | ||
- | |||
- | sleep 2 | ||
- | |||
LENGTH=$(mplayer -noconfig all -nocache -vo null -ao null -frames 0 -identify -dvd-device "$DEVICE" dvdnav://"$i" 2>/dev/null | \ | LENGTH=$(mplayer -noconfig all -nocache -vo null -ao null -frames 0 -identify -dvd-device "$DEVICE" dvdnav://"$i" 2>/dev/null | \ | ||
sed -E -n 's/^.*ID_LENGTH=([0-9]+).*$/\1/p') | sed -E -n 's/^.*ID_LENGTH=([0-9]+).*$/\1/p') | ||
- | LIMIT=0 | + | #time_limit=$(sed q "$TITLE/time_limit.txt") ## utilité ? ## |
- | [[ "$LENGTH" -le "$LIMIT" ]] && continue | + | [[ "$LENGTH" -le "$time_limit" ]] && continue |
Ligne 182: | Ligne 245: | ||
- | fi | + | fi |
Ligne 215: | Ligne 278: | ||
if [[ -e "$TITLE/$i-$TITLE.vob" ]] && [[ "$COUNT_AUDIO" -eq "0" ]]; then | if [[ -e "$TITLE/$i-$TITLE.vob" ]] && [[ "$COUNT_AUDIO" -eq "0" ]]; then | ||
+ | echo -e "Le bitrate du titre n°\e[94m$i\e[0m sera donc de : \e[32m$bitrate_k\e[0m" | ||
+ | sleep 2 | ||
ffmpeg -hide_banner -analyzeduration 1000M -probesize 1000M -vsync 2 -r "$FPS" -i "$TITLE/$i-$TITLE.vob" \ | ffmpeg -hide_banner -analyzeduration 1000M -probesize 1000M -vsync 2 -r "$FPS" -i "$TITLE/$i-$TITLE.vob" \ | ||
Ligne 227: | Ligne 292: | ||
- | rm -f "$TITLE/$i-$TITLE.vob" | + | rm -f "$TITLE/$i-$TITLE.vob" |
Ligne 239: | Ligne 304: | ||
## VOB PRÉSENT. | ## VOB PRÉSENT. | ||
- | ## AVEC OU SANS AUDIO(S). | + | ## AU MOINS UN AUDIO OU PLUS. |
## SANS 0 CHANNEL. | ## SANS 0 CHANNEL. | ||
## SANS LPCM. | ## SANS LPCM. | ||
- | if [[ -e "$TITLE/$i-$TITLE.vob" ]] && [[ "$COUNT_AUDIO" -ge "0" ]] && [[ "$O_CHANNELS" -eq "0" ]] && [[ "$COUNT_LPCM" -eq "0" ]]; then | + | if [[ -e "$TITLE/$i-$TITLE.vob" ]] && [[ "$COUNT_AUDIO" -ge "1" ]] && [[ "$O_CHANNELS" -eq "0" ]] && [[ "$COUNT_LPCM" -eq "0" ]]; then |
+ | |||
+ | echo -e "Le bitrate du titre n°\e[94m$i\e[0m sera donc de : \e[32m$bitrate_k\e[0m" | ||
+ | sleep 2 | ||
ffmpeg -hide_banner -analyzeduration 1000M -probesize 1000M -vsync 2 -r "$FPS" -i "$TITLE/$i-$TITLE.vob" \ | ffmpeg -hide_banner -analyzeduration 1000M -probesize 1000M -vsync 2 -r "$FPS" -i "$TITLE/$i-$TITLE.vob" \ | ||
Ligne 265: | Ligne 333: | ||
rm -f "$TITLE/$i-$TITLE.vob" | rm -f "$TITLE/$i-$TITLE.vob" | ||
- | + | | |
Ligne 280: | Ligne 348: | ||
if [[ -e "$TITLE/$i-$TITLE.vob" ]] && [[ "$COUNT_AUDIO" -ge "1" ]] && [[ "$O_CHANNELS" -ge "1" ]] && [[ "$COUNT_LPCM" -eq "0" ]]; then | if [[ -e "$TITLE/$i-$TITLE.vob" ]] && [[ "$COUNT_AUDIO" -ge "1" ]] && [[ "$O_CHANNELS" -ge "1" ]] && [[ "$COUNT_LPCM" -eq "0" ]]; then | ||
+ | |||
+ | echo -e "Le bitrate du titre n°\e[94m$i\e[0m sera donc de : \e[32m$bitrate_k\e[0m" | ||
+ | sleep 2 | ||
ffmpeg -hide_banner -analyzeduration 1000M -probesize 1000M -vsync 2 -r "$FPS" -i "$TITLE/$i-$TITLE.vob" \ | ffmpeg -hide_banner -analyzeduration 1000M -probesize 1000M -vsync 2 -r "$FPS" -i "$TITLE/$i-$TITLE.vob" \ | ||
Ligne 308: | Ligne 379: | ||
if [[ -e "$TITLE/$i-$TITLE.vob" ]] && [[ "$COUNT_AUDIO" -ge "0" ]] && [[ "$O_CHANNELS" -eq "0" ]] && [[ "$COUNT_LPCM" -ge "1" ]]; then | if [[ -e "$TITLE/$i-$TITLE.vob" ]] && [[ "$COUNT_AUDIO" -ge "0" ]] && [[ "$O_CHANNELS" -eq "0" ]] && [[ "$COUNT_LPCM" -ge "1" ]]; then | ||
+ | |||
+ | echo -e "Le bitrate du titre n°\e[94m$i\e[0m sera donc de : \e[32m$bitrate_k\e[0m" | ||
+ | sleep 2 | ||
ffmpeg -hide_banner -analyzeduration 1000M -probesize 1000M -vsync 2 -r "$FPS" -i "$TITLE/$i-$TITLE.vob" \ | ffmpeg -hide_banner -analyzeduration 1000M -probesize 1000M -vsync 2 -r "$FPS" -i "$TITLE/$i-$TITLE.vob" \ | ||
Ligne 318: | Ligne 392: | ||
$FILTERS \ | $FILTERS \ | ||
-preset veryfast -y "$TITLE/$i-$TITLE.mkv" | -preset veryfast -y "$TITLE/$i-$TITLE.mkv" | ||
- | |||
rm -f "$TITLE/$i-$TITLE.vob" | rm -f "$TITLE/$i-$TITLE.vob" | ||
- | |||
- | |||
- | |||
- | dvdxchap -t "$i" "$DEVICE" > "$TITLE/$i-$TITLE-Chapters.txt" | ||
- | |||
- | mkvmerge "$TITLE/$i-$TITLE.mkv" --chapters "$TITLE/$i-$TITLE-Chapters.txt" \ | ||
- | -o "$TITLE/$i-$TITLE-[Out_Chapters].mkv" | ||
- | |||
- | rm -f "$TITLE/$i-$TITLE.mkv" | ||
- | rm -f "$TITLE/$i-$TITLE-Chapters.txt" | ||
- | mv "$TITLE/$i-$TITLE-[Out_Chapters].mkv" "$TITLE/$i-$TITLE.mkv" | ||
- | |||
mkdir -p "$TITLE/WAVE" | mkdir -p "$TITLE/WAVE" | ||
Ligne 350: | Ligne 411: | ||
+ | choix_langues=$(sed q "$TITLE/choix_langues.txt") | ||
COUNT_AUDIO_FR=$(mplayer -noconfig all -nocache -vo null -ao null -frames 0 -identify "$TITLE/$i-$TITLE.mkv" 2>/dev/null |awk '/-alang fr,/ { print $9 }' | wc -w) | COUNT_AUDIO_FR=$(mplayer -noconfig all -nocache -vo null -ao null -frames 0 -identify "$TITLE/$i-$TITLE.mkv" 2>/dev/null |awk '/-alang fr,/ { print $9 }' | wc -w) | ||
## AU MOINS UN AUDIO FRANÇAIS OU PLUS. | ## AU MOINS UN AUDIO FRANÇAIS OU PLUS. | ||
- | if [[ "$COUNT_AUDIO_FR" -ge "1" ]]; then | + | if [[ -e "$TITLE/$i-$TITLE.mkv" ]] && [[ "$COUNT_AUDIO_FR" -ge "1" ]] && [[ "$choix_langues" -eq "1" ]] ; then |
mkvmerge -o "$TITLE/$i-$TITLE-[Language: Français].mkv" -a fre "$TITLE/$i-$TITLE.mkv" | mkvmerge -o "$TITLE/$i-$TITLE-[Language: Français].mkv" -a fre "$TITLE/$i-$TITLE.mkv" | ||
Ligne 406: | Ligne 467: | ||
for n in $SIDFR; do mencoder -dvd-device "$DEVICE" dvdnav://"$i" -nosound -ovc frameno -force-avi-aspect "$RATIO" -o /dev/null \ | for n in $SIDFR; do mencoder -dvd-device "$DEVICE" dvdnav://"$i" -nosound -ovc frameno -force-avi-aspect "$RATIO" -o /dev/null \ | ||
- | -ifo "/run/media/$USER/$TITLE/VIDEO_TS/VTS_01_0.IFO" -sid "$n" -vobsubout "$TITLE/$n-vobsubs-fr" -vobsuboutindex "$n" | + | -ifo "/run/media/$USER/$TITLE/VIDEO_TS/VTS_01_0.IFO" -sid "$n" -vobsubout "$TITLE/$n-vobsubs-fr" -vobsuboutindex "$n" |
## ON CORRIGE LES ID VIDES SI BESOIN. | ## ON CORRIGE LES ID VIDES SI BESOIN. | ||
Ligne 416: | Ligne 477: | ||
if [[ "$taille_idx" -gt 1000 ]] && [[ "$taille_sub" -gt 0 ]] ; then | if [[ "$taille_idx" -gt 1000 ]] && [[ "$taille_sub" -gt 0 ]] ; then | ||
- | echo "$n-vobsubs-fr.idx et $n-vobsubs-fr.sub sont bon" | + | echo -e "\e[32m$n-vobsubs-fr.idx et $n-vobsubs-fr.sub sont bons.\e[0m" |
else | else | ||
## ON ISOLE LES VOBSUBS INVALIDES DANS LE DOSSIER VOBSUBS | ## ON ISOLE LES VOBSUBS INVALIDES DANS LE DOSSIER VOBSUBS | ||
- | echo "$n-vobsubs-fr.idx ou $n-vobsubs-fr.sub est incorrect ... déplacement" | + | echo -e "\e[32m$n-vobsubs-fr.idx ou $n-vobsubs-fr.sub incorrect ... déplacement des deux.\e[0m" |
- | mv "$TITLE/$n-vobsubs-fr.idx" "$TITLE/$n-vobsubs-fr.sub" "$TITLE/VOBSUBS/$i-$TITLE" | + | mv "$TITLE/$n-vobsubs-fr.idx" "$TITLE/$n-vobsubs-fr.sub" "$TITLE/VOBSUBS/$i-$TITLE" |
Ligne 430: | Ligne 491: | ||
done | done | ||
+ | |||
+ | |||
fi | fi | ||
+ | |||
Ligne 443: | Ligne 507: | ||
if [[ -e "$TITLE/$i-$TITLE-[Audio: $INFO + Chapters].mkv" ]] && [ "$COUNT_IDX_FR" -ge "1" ] && [ "$COUNT_SUB_FR" -ge "1" ] | if [[ -e "$TITLE/$i-$TITLE-[Audio: $INFO + Chapters].mkv" ]] && [ "$COUNT_IDX_FR" -ge "1" ] && [ "$COUNT_SUB_FR" -ge "1" ] | ||
then | then | ||
- | |||
- | |||
- | |||
mkvmerge "$TITLE/$i-$TITLE-[Audio: $INFO + Chapters].mkv" --language "0:fre" "$TITLE"/*.idx -o "$TITLE/$i-$TITLE-[Audio: $INFO + Chapters + Sub].mkv" | mkvmerge "$TITLE/$i-$TITLE-[Audio: $INFO + Chapters].mkv" --language "0:fre" "$TITLE"/*.idx -o "$TITLE/$i-$TITLE-[Audio: $INFO + Chapters + Sub].mkv" | ||
## ON DÉPLACE LE RESTANT DES VOBSUBS UNE FOIS MIXÉS AVEC LES INVALIDES. | ## ON DÉPLACE LE RESTANT DES VOBSUBS UNE FOIS MIXÉS AVEC LES INVALIDES. | ||
- | mv "$TITLE"/*.idx "$TITLE"/*.sub "$TITLE/VOBSUBS/$i-$TITLE" | + | mv "$TITLE"/*.idx "$TITLE"/*.sub "$TITLE/VOBSUBS/$i-$TITLE" |
rm -f "$TITLE/$i-$TITLE-[Audio: $INFO + Chapters].mkv" | rm -f "$TITLE/$i-$TITLE-[Audio: $INFO + Chapters].mkv" | ||
Ligne 471: | Ligne 532: | ||
- | ## AUCUN IDX ou SUB. | + | |
- | if [[ -e "$TITLE/$i-$TITLE-[Audio: $INFO + Chapters].mkv" ]] && [ "$COUNT_IDX_FR" -eq "0" ] || [ "$COUNT_SUB_FR" -eq "0" ] | + | ## AUCUN IDX ET SUB. ON TAG EN NOSUB |
+ | if [[ -e "$TITLE/$i-$TITLE-[Audio: $INFO + Chapters].mkv" ]] && [ "$COUNT_IDX_FR" -eq "0" ] && [ "$COUNT_SUB_FR" -eq "0" ] | ||
then | then | ||
Ligne 486: | Ligne 548: | ||
- | ## PAS D'INFO ET UN SEUL AUDIO. | + | ## PAS D'INFO ET UN SEUL AUDIO. ON TAG EN UND |
if [[ -e "$TITLE/$i-$TITLE.mkv" ]] && [[ "$COUNT_INFO" -eq "0" ]] && [[ "$COUNT" -eq "1" ]] ; then | if [[ -e "$TITLE/$i-$TITLE.mkv" ]] && [[ "$COUNT_INFO" -eq "0" ]] && [[ "$COUNT" -eq "1" ]] ; then | ||
mv "$TITLE/$i-$TITLE.mkv" "$TITLE/$i-$TITLE-[Audio: Und].mkv" | mv "$TITLE/$i-$TITLE.mkv" "$TITLE/$i-$TITLE-[Audio: Und].mkv" | ||
Ligne 497: | Ligne 559: | ||
- | ## PAS D'AUDIO DONC PAS D'INFO. | + | ## PAS D'AUDIO DONC PAS D'INFO. ON TAG EN NOSOUND |
if [[ -e "$TITLE/$i-$TITLE.mkv" ]] && [[ "$COUNT_INFO" -eq "0" ]] && [[ "$COUNT" -eq "0" ]] ; then | if [[ -e "$TITLE/$i-$TITLE.mkv" ]] && [[ "$COUNT_INFO" -eq "0" ]] && [[ "$COUNT" -eq "0" ]] ; then | ||
mv "$TITLE/$i-$TITLE.mkv" "$TITLE/$i-$TITLE-[Audio: NoSound].mkv" | mv "$TITLE/$i-$TITLE.mkv" "$TITLE/$i-$TITLE-[Audio: NoSound].mkv" | ||
Ligne 508: | Ligne 570: | ||
- | done | + | done |
rm -f "$TITLE/bitrate.txt" | rm -f "$TITLE/bitrate.txt" | ||
+ | rm -f "$TITLE/time_limit.txt" | ||
+ | rm -f "$TITLE/choix_langues.txt" | ||
+ | echo -e "\e[32mJob terminé.\e[0m" | ||
+ | echo -e "\e[32mTemps total écoulé:\e[0m \e[3;6;94m$(date -ud "@$(($(date +%s) - START_TIME))" +%T)\e[0m (HH:MM:SS)" | ||
</file> | </file> | ||
Puis collez-le dans le fichier créé. | Puis collez-le dans le fichier créé. | ||
Ligne 518: | Ligne 584: | ||
Modifier les droits de ce fichier pour votre user. | Modifier les droits de ce fichier pour votre user. | ||
[[doc:systeme:chown|Le droit d'appartenance]] : | [[doc:systeme:chown|Le droit d'appartenance]] : | ||
- | <code root>chown user:user copie-dvd-1</code> | + | <code root>chown user:user cdvd</code> |
Ajouter [[doc:systeme:chmod|le droit d'exécution]] : | Ajouter [[doc:systeme:chmod|le droit d'exécution]] : | ||
- | <code root>chmod u+x copie-dvd-1</code> | + | <code root>chmod u+x cdvd</code> |
Revenir à son home/user : | Revenir à son home/user : | ||
Ligne 529: | Ligne 595: | ||
Et voilà, plus qu'à insérer un dvd et à lancer la commande en user. | Et voilà, plus qu'à insérer un dvd et à lancer la commande en user. | ||
- | <code user>copie_dvd-1</code> | + | <code user>cdvd</code> |
<code>Les conditions sont réunies : On continue | <code>Les conditions sont réunies : On continue | ||
- | *** Zero check failed in src/ifo_read.c:564 | ||
- | for vmgi_mat->zero_3 = 0x00000000010000000000000000000000000000 | ||
- | *** Zero check failed in src/ifo_read.c:564 | ||
- | for vmgi_mat->zero_3 = 0x00000000010000000000000000000000000000 | ||
Proceed... | Proceed... | ||
DVD-Vidéo : DVD_VIDEO_RECORDING | DVD-Vidéo : DVD_VIDEO_RECORDING | ||
Ligne 548: | Ligne 610: | ||
<code>Garder le bitrate d'origine ? [Y/n] | <code>Garder le bitrate d'origine ? [Y/n] | ||
- | n</code> | + | n |
Réponse : Non | Réponse : Non | ||
Entrer un nouveau Bitrate: </code> | Entrer un nouveau Bitrate: </code> |