logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

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 → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
doc:programmation:bash:ffmpeg [25/04/2020 11:53]
smolski créée
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
   * Niveau requis : {{tag>​débutant}}   * Niveau requis : {{tag>​débutant}}
-  * Commentaires : //Copies de dvd avancée via 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 24: Ligne 18:
 ===== script - choix du titre et du bitrate ===== ===== script - choix du titre et du bitrate =====
  
-Se placer dans le bon répertoire : +Se placer dans le bon répertoire ​de son user 
-cd /home/user/+<code user>cd ~/usr/local/​bin/<​/code>
  
-Copier/coller ​le script ​ci-dessous ​:+En root, créer un fichier : 
 +<code root>​gedit cdvd</code> 
 +copier ​le script ​suivant ​:
 <file bash ripdvd> <file bash ripdvd>
 #!/bin/bash #!/bin/bash
Ligne 33: Ligne 29:
 ## golgot200 ## golgot200
 ## Testeur smolski ## Testeur smolski
-## 24/04/2020+## 29/04/2020 
 + 
 +START_TIME=$(date +%s)
  
  
Ligne 47: 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 59: 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 68: 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 
 + 
 + 
 + 
 +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])
  
- ​mkdir ​-"$TITLE/IFOS+    echo -"\e[3;4;32m Réponse:​\n\e[0m ​ \e[32mOui, on encode tous les titres.\e[0m
- mkdir -p "​$TITLE/​VOBSUBS"+    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 -"​$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 100: 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 112: 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 142: Ligne 214:
 for (( i=1; i<​=TITLE_COUNT;​ i++ )) for (( i=1; i<​=TITLE_COUNT;​ i++ ))
 do do
- 
  
  
Ligne 148: 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 180: Ligne 245:
  
  
-    fi    +    fi     ​
  
  
Ligne 213: 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 225: Ligne 292:
  
                    
-rm -f "​$TITLE/​$i-$TITLE.vob"​+rm -f "​$TITLE/​$i-$TITLE.vob" ​
                
                    
Ligne 237: 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 263: Ligne 333:
  
 rm -f "​$TITLE/​$i-$TITLE.vob"​ rm -f "​$TITLE/​$i-$TITLE.vob"​
- +  ​
  
  
Ligne 278: 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 306: 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 316: 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 348: 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 404: 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 414: 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 428: Ligne 491:
  
 done          ​ done          ​
 +
 +
  
  
    fi    fi
 +
  
  
Ligne 441: 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 469: 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 484: 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 495: 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 506: 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" ​
  
-En ligne+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>​ 
 +Puis collez-le dans le fichier créé. 
 +Enregistrer
  
-    Signaler Supprimer ​Modifier ​Citer Quick quote +Modifier ​les droits de ce fichier pour votre user. 
 +[[doc:​systeme:​chown|Le droit d'​appartenance]] : 
 +<code root>​chown user:user cdvd</​code>​ 
 +Ajouter [[doc:​systeme:​chmod|le droit d'​exécution]] : 
 +<code root>​chmod u+x cdvd</​code>​
  
-#680  +Revenir à son home/user : 
-</file>+<code root>cd</code> 
 +Et quitter root avec le raccourci ; 
 +''​Ctrl''​ ''​d''​ 
 + 
 +Et voilà, plus qu'à insérer un dvd et à lancer la commande en user. 
 + 
 +<code user>​cdvd</​code>​ 
 +<​code>​Les conditions sont réunies : On continue 
 +Proceed... 
 +DVD-Vidéo : DVD_VIDEO_RECORDING 
 +Ce nom convient-il ? [Y/​n]</​code>​ 
 +On valide n pour modifier le titre 
 + 
 +<​code>​Ce nom convient-il ? [Y/n] n 
 + 
 + 
 +Réponse : Non 
 +Entrer un nouveau nom: 
 +nouveau_nom</​code>​ 
 + 
 +<​code>​Garder le bitrate d'​origine ? [Y/n] 
 +
 +Réponse : Non 
 +Entrer un nouveau Bitrate: </​code>​ 
 +Par exemple 
 +<​code>​1000</​code>​ 
 +Plus il est élevé, plus la qualité sera grande. 
 +<​code>​Le bitrate du titre n°1 sera donc de : 1000k</​code>​ 
 +Et c'est parti...
  
 +<note important>​Si vous avez plusieurs vidéos, chacune pourra être régler à sa façon !</​note>​
doc/programmation/bash/ffmpeg.1587808414.txt.gz · Dernière modification: 25/04/2020 11:53 par smolski

Pied de page des forums

Propulsé par FluxBB