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

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
doc:programmation:bash:ffmpeg [27/04/2020 16:46]
golgot200 [script - choix du titre et du bitrate]
doc:programmation:bash:ffmpeg [29/04/2020 20:26] (Version actuelle)
golgot200 [script - choix du titre et du bitrate]
Ligne 22: 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 29: Ligne 29:
 ## golgot200 ## golgot200
 ## Testeur smolski ## Testeur smolski
-## 27/04/2020+## 29/04/2020 
 START_TIME=$(date +%s) START_TIME=$(date +%s)
 +
  
 PATH=$PATH:/​sbin:/​usr/​sbin PATH=$PATH:/​sbin:/​usr/​sbin
Ligne 43: 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 55: 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 /dev/sr0 | head -1 | awk '​{print $3}') TITLE=$(lsdvd /dev/sr0 | head -1 | awk '​{print $3}')
Ligne 73: Ligne 75:
     [yY][eE][sS]|[yY])     [yY][eE][sS]|[yY])
  
-    echo -e "​\e[3;​4;​33mRéponse:​\n\e[0m ​ \e[32mOui\e[0m"​+    echo -e "​\e[3;​4;​32m Réponse:​\n\e[0m ​ \e[32mOui\e[0m"​
     echo ""​     echo ""​
     mkdir -p "​$TITLE/​IFOS"​     mkdir -p "​$TITLE/​IFOS"​
Ligne 79: Ligne 81:
   ;;   ;;
     [nN][oO]|[nN])     [nN][oO]|[nN])
-    echo -e "​\e[3;​4;​33mRéponse:​\n\e[0m ​ \e[33mNon\e[0m"​+    echo -e "​\e[3;​4;​32m Réponse:​\n\e[0m ​ \e[33mNon\e[0m"​
 read -r -p "​Entrer un nouveau nom: " TITLE read -r -p "​Entrer un nouveau nom: " TITLE
 if [[ -z "​$TITLE"​ ]]; then if [[ -z "​$TITLE"​ ]]; then
Ligne 104: Ligne 106:
  
  
-    echo -e "La limite est fixée pour encoder tous les titres."​+    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 read -r -p "​Encoder tous les titres ? [Y/n] " input
 case $input in case $input in
     [yY][eE][sS]|[yY])     [yY][eE][sS]|[yY])
  
-    echo -e "​\e[3;​4;​33mRéponse:​\n\e[0m ​ \e[32mOui, on encode tous les titres.\e[0m"​ +    echo -e "​\e[3;​4;​32m Réponse:​\n\e[0m ​ \e[32mOui, on encode tous les titres.\e[0m"​ 
-    echo -e "​$default_limit"​ >> "​$TITLE/​time_limit.txt"​+    echo "​$default_limit"​ >> "​$TITLE/​time_limit.txt"​
     echo ""​     echo ""​
  ;;  ;;
     [nN][oO]|[nN])     [nN][oO]|[nN])
-    echo -e "​\e[3;​4;​33mRéponse:​\n\e[0m ​ \e[33mNon,\e[0m \e[32mje ​veux encoder que les titres d'une certaine durée.\e[0m"​+    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"​
 read -r -p "​Entrer une limite (ex:1800) en secondes: " time_limit read -r -p "​Entrer une limite (ex:1800) en secondes: " time_limit
 if [[ -z "​$time_limit"​ ]]; then if [[ -z "​$time_limit"​ ]]; then
Ligne 124: Ligne 126:
 else else
  ​times=$((time_limit / 60))  ​times=$((time_limit / 60))
-    echo -e "Que les titres de \e[94m$times minutes\e[0m et plus seront pris en compte."​ +    echo -e "Seul les titres de \e[94m$times minutes\e[0m et plus seront pris en compte."​ 
-    echo -e "​$time_limit"​ >> "​$TITLE/​time_limit.txt"​+    echo "​$time_limit"​ >> "​$TITLE/​time_limit.txt"​
     echo ""​     echo ""​
 fi fi
Ligne 139: Ligne 141:
  
  
 +
 +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 "​Quit"​
 + rm -r "​$TITLE"​
 + echo -e "​Supression du dossier \e[32m$TITLE\e[0m" ​
 + exit 1
 + ;;
 +esac
  
  
Ligne 146: Ligne 170:
      ​[yY][eE][sS]|[yY])      ​[yY][eE][sS]|[yY])
    
-     echo -e "​\e[3;​4;​33mRéponse:​\n\e[0m ​ \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 153: Ligne 177:
 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 "​\e[3;​4;​33mRéponse:​\n\e[0m ​ \e[33mNon\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 "​Appliquer 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)"​ 
 +     
 if [[ -z "​$newbitrate"​ ]]; then if [[ -z "​$newbitrate"​ ]]; then
-     echo "Invalid input..."+     ​echo ​-e " ​\e[3;6;94m Bitrate erroné\e[0m"
      echo "​Quit"​      echo "​Quit"​
      rm -r "​$TITLE"​      rm -r "​$TITLE"​
Ligne 170: Ligne 196:
 for (( i=1; i<​=TITLE_COUNT;​ i++ )) for (( i=1; i<​=TITLE_COUNT;​ i++ ))
 do do
-     ​echo ​-e "​$newbitrate"​ >> "​$TITLE/​bitrate.txt"​+     echo "​$newbitrate"​ >> "​$TITLE/​bitrate.txt"​
 done done
 fi      ;; fi      ;;
Ligne 188: Ligne 214:
 for (( i=1; i<​=TITLE_COUNT;​ i++ )) for (( i=1; i<​=TITLE_COUNT;​ i++ ))
 do do
- 
  
  
Ligne 198: Ligne 223:
           sed -E -n '​s/​^.*ID_LENGTH=([0-9]+).*$/​\1/​p'​)           sed -E -n '​s/​^.*ID_LENGTH=([0-9]+).*$/​\1/​p'​)
                        
-LIMIT=$(sed q "​$TITLE/​time_limit.txt"​)+#time_limit=$(sed q "​$TITLE/​time_limit.txt"​) ​## utilité ? ##
     [[ "​$LENGTH"​ -le "​$time_limit"​ ]] && continue     [[ "​$LENGTH"​ -le "​$time_limit"​ ]] && continue
  
Ligne 386: 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 [[ -e "​$TITLE/​$i-$TITLE.mkv"​ ]] && [[ "​$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 466: Ligne 491:
  
 done          ​ done          ​
 +
 +
  
  
    fi    fi
 +
  
  
Ligne 501: Ligne 529:
  
     fi     fi
 +
  
  
Ligne 545: Ligne 574:
 rm -f "​$TITLE/​bitrate.txt"​ rm -f "​$TITLE/​bitrate.txt"​
 rm -f "​$TITLE/​time_limit.txt"​ rm -f "​$TITLE/​time_limit.txt"​
 +rm -f "​$TITLE/​choix_langues.txt"​
 echo -e "​\e[32mJob terminé.\e[0m" ​ echo -e "​\e[32mJob terminé.\e[0m" ​
  
-END=$(date +%s); +echo -e "​\e[32mTemps total écoulé:\e[0m \e[3;6;94m$(date -ud "​@$(($(date +%s) - START_TIME))"​ +%T)\e[0m ​ (HH:​MM:​SS)"​
-echo -e "​\e[32mTemps total écoulé: $(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 556: 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 567: 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
 Proceed... Proceed...
doc/programmation/bash/ffmpeg.1587998807.txt.gz · Dernière modification: 27/04/2020 16:46 par golgot200

Pied de page des forums

Propulsé par FluxBB