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

Ceci est une ancienne révision du document !


Script bash ffmpeg - Copie DVD-VIDÉO

Nota :

Contributeurs, les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli !

Introduction

script utilisant ffmpeg pour copier des dvd video

Installation

Installer ffmpeg

script - choix du titre et du bitrate

Se placer dans le bon répertoire de son user :

cd ~/usr/local/bin/

En root, créer un fichier :

gedit copie-dvd_1

copier le script suivant :

ripdvd
#!/bin/bash
 
## golgot200
## Testeur smolski
## 24/04/2020
 
 
PATH=$PATH:/sbin:/usr/sbin
 
## CONDITION : UN SEUL DVD-VIDÉO.
mounting_directory=$( mount | grep  '/dev/sr' | grep -Po 'on\K.*(?=type)'  | sed 's|\(.*\)/.*|\1|' | uniq )
COUNT_VIDEO_TS=$(find ${mounting_directory} -maxdepth 3 -name 'VIDEO_TS.IFO' 2> /dev/null | wc -l)
 
DEVICE=$(blkid /dev/sr* | awk '{print $1}' | sed -e 's/://g')
COUNT_DEVICE=$(blkid /dev/sr* | awk '{print $1}' | sed -e 's/://g' | wc -l)
 
 
if [[ "$COUNT_VIDEO_TS" -eq 0 ]]; then
    echo "Aucun dvd vidéo monté : Abandon"
    exit 0
elif [[ "$COUNT_VIDEO_TS" -gt 1 ]];  then
    echo "Il y a plus d'un dvd video détecté : Abandon"
    exit 0
 
 
  fi
 
 
 
if [[ "$COUNT_VIDEO_TS" -eq 1 ]] && [[ "$COUNT_DEVICE" -eq 1 ]]; then
echo -e "\e[32mLes conditions sont réunies : On continue\e[0m"
 
TITLE=$(lsdvd "$DEVICE" | head -1 | awk '{print $3}')
TITLE_COUNT=$(lsdvd "$DEVICE" | grep -c ^'Title: ')
 
 
  fi
 
 
 echo "Proceed..."
 
 
 
 echo -e "DVD-Vidéo : \e[32m$TITLE\e[0m"
read -r -p "Ce nom convient-il ? [Y/n] " input
echo ""
case $input in
    [yY][eE][sS]|[yY])
 
 echo -e "Réponse : \e[32mOui\e[0m"
 
 mkdir -p "$TITLE/IFOS"
 mkdir -p "$TITLE/VOBSUBS"
 ;;
    [nN][oO]|[nN])
 echo ""
 echo -e "Réponse : \e[32mNon\e[0m"
 read -r -p "Entrer un nouveau nom: " TITLE
 echo ""
 mkdir -p "$TITLE/IFOS"
 mkdir -p "$TITLE/VOBSUBS"
       ;;
    *)
 echo "Invalid input..."
 echo "Quit"
 exit 1
 ;;
esac
 
 
 
 
read -r -p "Garder le bitrate d'origine ? [Y/n] " input
echo ""
case $input in
     [yY][eE][sS]|[yY])
 
 echo -e "Réponse : \e[32mOui\e[0m"
 
for (( i=1; i<=TITLE_COUNT; i++ ))
do
 
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')
echo -e "$BITRATE" >> "$TITLE/bitrate.txt"
done
 
 ;;
     [nN][oO]|[nN])
 echo -e "Réponse : \e[32mNon\e[0m"
 
 read -r -p "Entrer un nouveau Bitrate: " newbitrate
 
 for (( i=1; i<=TITLE_COUNT; i++ ))
 do
 echo -e "$newbitrate" >> "$TITLE/bitrate.txt"
 done
        ;;
     *)
 echo "Invalid input..."
 echo "Quit"
 rm -r "$TITLE"
 echo -e "Supression du dossier \e[32m$TITLE\e[0m"
 exit 1
 ;;
 esac
 
 
 
 
 
for (( i=1; i<=TITLE_COUNT; i++ ))
do
 
 
 
bv=$(sed -n "$i p" "$TITLE/bitrate.txt")
bitrate_k=$((bv/1))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 | \
          sed -E -n 's/^.*ID_LENGTH=([0-9]+).*$/\1/p')
 
LIMIT=0
    [[ "$LENGTH" -le "$LIMIT" ]] && continue
 
 
    mplayer -noconfig all -nocache -dvd-device "$DEVICE" dvdnav://"$i" \
            -dumpstream -dumpfile "$TITLE/$i-$TITLE.vob"
 
 
 
INTERLEAVED_FRAMES=$(ffmpeg -filter:v idet -frames:v 200 -an -f rawvideo \
             -y /dev/null -i "$TITLE/$i-$TITLE.vob" 2>&1 | \
          awk '/(Single|Multi) frame detection/ {sum += $8+$10}
              END { print sum }')
 
if [[ "$INTERLEAVED_FRAMES" -gt "100" ]]; then
    FILTERS='-filter:v yadif=0:-1:0,hue=b=0.0:s=0.7,hqdn3d=1.5:1.5:4:4,unsharp=luma_msize_x=5:luma_msize_y=5:luma_amount=0.5,noise=c0s=2:c1s=2:c2s=2:c0f=a+t'
else
    FILTERS='-filter:v hue=b=0.0:s=0.7,hqdn3d=1.5:1.5:4:4,unsharp=luma_msize_x=5:luma_msize_y=5:luma_amount=0.5,noise=c0s=2:c1s=2:c2s=2:c0f=a+t'
 
 
 
 
    fi    
 
 
 
 
COUNT_AUDIO=$(ffprobe "$TITLE/$i-$TITLE.vob" 2>&1 | grep -c "Audio:")
FPS=$(mplayer -noconfig all -nocache -vo null -ao null -frames 0 -identify "$TITLE/$i-$TITLE.vob" 2>/dev/null | grep "VIDEO:" | awk '{print$6}')
 
 
 
RATIO=$(lsdvd -x "$DEVICE" -t "$i" | grep -m1 "Aspect ratio:" | awk '{print$11}' | sed -e 's/\//\:/g' | tr -d ',')
 
O_CHANNELS=$(ffprobe "$TITLE/$i-$TITLE.vob" 2>&1 | grep -c '(Audio: ac3, 0 channels)')
 
REMOVE_O_CHANNELS=$(ffprobe "$TITLE/$i-$TITLE.vob" 2>&1 | awk '/Stream/ && /Audio:/ && /kb\/s|\(LC\),/ { print $2 }' | \
          cut -d "[" -f2 | cut -d "]" -f1 | awk '{ printf " -map i:"$0" " }')
 
ALLSHOW_TAG=$(mplayer -vo null -ao null -frames 0 -identify dvdnav://"$i" -dvd-device "$DEVICE"  2>/dev/null | \
          awk '/audio stream:/  {printf " -metadata:s:a:"$3" language="$8" -metadata:s:a:"$3" title="$5$6""}')
 
MAP_ID_STREAMS=$(lsdvd -a "$DEVICE" -t "$i" 2> /dev/null | grep "Language:" | sed -e 's/c/1c/g'  | awk '{ printf " -map i:"$21"" }')        
 
MAP_ID_STREAMS_LPCM=$(lsdvd -a "$DEVICE" -t "$i" 2> /dev/null | grep "lpcm" | awk '{ printf " -map i:"$22"" }')
 
COUNT_LPCM=$(lsdvd -a "$DEVICE" -t "$i" |grep -c 'lpcm')
 
AIDS_LPCM=$(lsdvd -a "$DEVICE" -t "$i" | awk '/lpcm/ { print $22 }')
 
 
## VOB PRÉSENT.
## AUCUN AUDIO.
if [[ -e "$TITLE/$i-$TITLE.vob" ]] && [[ "$COUNT_AUDIO" -eq "0" ]]; then
 
 
     ffmpeg -hide_banner -analyzeduration 1000M -probesize 1000M -vsync 2 -r "$FPS" -i "$TITLE/$i-$TITLE.vob" \
         -map 0:v -metadata title="$TITLE" \
         -c:v libx264 -b:v "$bitrate_k" -maxrate "$bitrate_k" -bufsize "$bufsize_k" \
         -loglevel repeat+verbose -movflags faststart \
         -x264opts 'keyint=300:min-keyint=25:8x8dct:sliced-threads=0' \
         -an -movflags +faststart -max_muxing_queue_size 9999 \
         -deblock 1:1 -flags +loop -qcomp 0.60 -qblur 0.5 -coder 1 -me_range 6 -sc_threshold 42 -bf 10 -trellis 2 -mbtree 1 -qmin 0 -qmax 52 \
         $FILTERS \
         -preset veryfast -y "$TITLE/$i-$TITLE.mkv"
 
 
rm -f "$TITLE/$i-$TITLE.vob"
 
 
 
 
 
    fi
 
 
 
 
## VOB PRÉSENT.
## AVEC OU SANS AUDIO(S).
## SANS 0 CHANNEL.
## SANS LPCM.
if [[ -e "$TITLE/$i-$TITLE.vob" ]] && [[ "$COUNT_AUDIO" -ge "0" ]] && [[ "$O_CHANNELS" -eq "0" ]] && [[ "$COUNT_LPCM" -eq "0" ]]; then            
 
     ffmpeg -hide_banner -analyzeduration 1000M -probesize 1000M -vsync 2 -r "$FPS" -i "$TITLE/$i-$TITLE.vob" \
         -map 0:v -metadata title="$TITLE" \
         -c:v libx264 -b:v "$bitrate_k" -maxrate "$bitrate_k" -bufsize "$bufsize_k" \
         -loglevel repeat+verbose -movflags faststart \
         -x264opts 'keyint=300:min-keyint=25:8x8dct:sliced-threads=0' \
         ${MAP_ID_STREAMS} -c:a copy ${ALLSHOW_TAG} -movflags +faststart -max_muxing_queue_size 9999 \
         -deblock 1:1 -flags +loop -qcomp 0.60 -qblur 0.5 -coder 1 -me_range 6 -sc_threshold 42 -bf 10 -trellis 2 -mbtree 1 -qmin 0 -qmax 52 \
         $FILTERS \
         -preset veryfast -y "$TITLE/$i-$TITLE.mkv"
 
 
#        ffmpeg -hwaccel auto -c:v mpeg2_cuvid -analyzeduration 1000M -probesize 1000M -i "$TITLE/$i-$TITLE.vob" \
#            -map 0:v -metadata title="$TITLE" \
#            -c:v h264_nvenc -preset medium -b:v $BITRATE_K -bufsize $BUFSIZE_K -profile:v high -bf 3 -b_ref_mode 0 -temporal-aq 1 -rc-lookahead 20 -vsync 0 \
#            -loglevel repeat+verbose \
#            -filter:v hue=b=0.0:s=0.7,hqdn3d=1.5:1.5:4:4,unsharp=luma_msize_x=5:luma_msize_y=5:luma_amount=0.5,noise=c0s=2:c1s=2:c2s=2:c0f=a+t \
#            ${MAP_ID_STREAMS} -c:a copy $ALLSHOW_TAG -movflags +faststart \
#            -y "$TITLE/$i-$TITLE.mkv"  
 
 
rm -f "$TITLE/$i-$TITLE.vob"
 
 
 
 
 
     fi
 
 
 
## VOB PRÉSENT.
## AU MOINS UN AUDIO OU PLUS.
## UN 0 CHANNEL OU PLUS.
## SANS LPCM.
 
if [[ -e "$TITLE/$i-$TITLE.vob" ]] && [[ "$COUNT_AUDIO" -ge "1" ]] && [[ "$O_CHANNELS" -ge "1" ]] && [[ "$COUNT_LPCM" -eq "0" ]]; then
 
     ffmpeg -hide_banner -analyzeduration 1000M -probesize 1000M -vsync 2 -r "$FPS" -i "$TITLE/$i-$TITLE.vob" \
         -map 0:v -metadata title="$TITLE" \
         -c:v libx264 -b:v "$bitrate_k" -maxrate "$bitrate_k" -bufsize "$bufsize_k" \
         -loglevel repeat+verbose -movflags faststart \
         -x264opts 'keyint=300:min-keyint=25:8x8dct:sliced-threads=0' \
         ${REMOVE_O_CHANNELS} -c:a copy ${ALLSHOW_TAG} -movflags +faststart -max_muxing_queue_size 9999 \
         -deblock 1:1 -flags +loop -qcomp 0.60 -qblur 0.5 -coder 1 -me_range 6 -sc_threshold 42 -bf 10 -trellis 2 -mbtree 1 -qmin 0 -qmax 52 \
         $FILTERS \
         -preset veryfast -y "$TITLE/$i-$TITLE.mkv"
 
 
rm -f "$TITLE/$i-$TITLE.vob"
 
 
 
 
 
    fi
 
 
 
## VOB PRÉSENT.
## AVEC OU SANS AUDIO(S).
## SANS 0 CHANNEL.
## AU MOINS UN LPCM OU PLUS.
 
if [[ -e "$TITLE/$i-$TITLE.vob" ]] && [[ "$COUNT_AUDIO" -ge "0" ]] && [[ "$O_CHANNELS" -eq "0" ]] && [[ "$COUNT_LPCM" -ge "1" ]]; then
 
     ffmpeg -hide_banner -analyzeduration 1000M -probesize 1000M -vsync 2 -r "$FPS" -i "$TITLE/$i-$TITLE.vob" \
         -map 0:v -metadata title="$TITLE" \
         -c:v libx264 -b:v "$bitrate_k" -maxrate "$bitrate_k" -bufsize "$bufsize_k" \
         -loglevel repeat+verbose -movflags faststart \
         -x264opts 'keyint=300:min-keyint=25:8x8dct:sliced-threads=0' \
         ${MAP_ID_STREAMS_LPCM} -acodec pcm_s16be ${ALLSHOW_TAG} -movflags +faststart -max_muxing_queue_size 9999 \
         -deblock 1:1 -flags +loop -qcomp 0.60 -qblur 0.5 -coder 1 -me_range 6 -sc_threshold 42 -bf 10 -trellis 2 -mbtree 1 -qmin 0 -qmax 52 \
         $FILTERS \
         -preset veryfast -y "$TITLE/$i-$TITLE.mkv"
 
 
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"
 
for n in $AIDS_LPCM; do
        mplayer -noconfig all -nocache -benchmark -vc null -vo null \
                 -ao pcm:fast:file="$TITLE/WAVE/[$i-($n)]-$TITLE.wav" \
                 -identify -dvd-device "$DEVICE" dvdnav://"$i" -ni -aid "$n"
done  
 
 
 
 
    fi
 
 
 
 
 
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.
if [[ "$COUNT_AUDIO_FR" -ge "1" ]]; then
 
      mkvmerge -o "$TITLE/$i-$TITLE-[Language: Français].mkv" -a fre "$TITLE/$i-$TITLE.mkv"
 
rm -f "$TITLE/$i-$TITLE.mkv"
      mv "$TITLE/$i-$TITLE-[Language: Français].mkv" "$TITLE/$i-$TITLE.mkv"
 
 
 
 
    fi
 
 
 
 
## ON INDIQUE LA LANGUE DE L'AUDIO DANS LE RENOMAGE DU TITRE ET LE NOMBRE.
INFO=$(mplayer -vo null -ao null -frames 0 -identify "$TITLE/$i-$TITLE.mkv" 2>/dev/null | \
          awk '/alang/  { x = x $9 ""}
              END { sub(/,*$/, "", x); print x }')
COUNT_INFO=$(mplayer -vo null -ao null -frames 0 -identify "$TITLE/$i-$TITLE.mkv" 2>/dev/null | grep -c "alang")
COUNT=$(mplayer -vo null -ao null -frames 0 -identify "$TITLE/$i-$TITLE.mkv" 2>/dev/null | grep -c "aid")
 
## UNE OU PLUSIEURS INFOS SUR L'AUDIO ET UN OU PLUSIEURS AUDIOS.
## INTÉGRATION DES CHAPITRES.
if [[ -e "$TITLE/$i-$TITLE.mkv" ]] && [[ "$COUNT_INFO" -ge "1" ]] && [[ "$COUNT" -ge "1" ]] ; then      
      mv "$TITLE/$i-$TITLE.mkv" "$TITLE/$i-$TITLE-[Audio: $INFO].mkv"
      dvdxchap -t  "$i" "$DEVICE" > "$TITLE/$i-$TITLE-Chapters.txt"
      mkvmerge "$TITLE/$i-$TITLE-[Audio: $INFO].mkv" --chapters "$TITLE/$i-$TITLE-Chapters.txt" -o "$TITLE/$i-$TITLE-[Audio: $INFO + Chapters].mkv"        
      rm -f "$TITLE/$i-$TITLE-[Audio: $INFO].mkv"
      rm -f "$TITLE/$i-$TITLE-Chapters.txt"
      mediainfo "$TITLE/$i-$TITLE-[Audio: $INFO + Chapters].mkv" >> "$TITLE/IFOS/$i-$TITLE-[Audio: $INFO + Chapters].log"                
 
 
 
   fi
 
 
 
 
SIDFR=$(lsdvd -s "$DEVICE" -t "$i" 2> /dev/null |awk '/Subtitle:/ && /Language: fr/ { sub(/,$/ ,"", $2);
                                      if ($2 ~ /^[0-9]+$/) print (--$2) }')
 
 
 
COUNT_SID_FR=$(echo "$SIDFR" |wc -w)
 
## AU MOINS UN SUB FRANÇAIS OU PLUS (ON EXTRAIT TOUT ÇA).
if [[ "$COUNT_SID_FR" -ge "1" ]]; then
 
mkdir -p "$TITLE/VOBSUBS/$i-$TITLE"
 
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"
 
## ON CORRIGE LES ID VIDES SI BESOIN.
sed -i 's/id:.*,/id: fr,/g' "$TITLE/$n-vobsubs-fr.idx"
 
taille_idx=$(stat -c%s "$TITLE/$n-vobsubs-fr.idx")
taille_sub=$(stat -c%s "$TITLE/$n-vobsubs-fr.sub")
 
if [[ "$taille_idx" -gt 1000 ]] && [[ "$taille_sub" -gt 0 ]] ; then
 
echo "$n-vobsubs-fr.idx et $n-vobsubs-fr.sub sont bon"
 
   else
 
## ON ISOLE LES VOBSUBS INVALIDES DANS LE DOSSIER VOBSUBS
echo "$n-vobsubs-fr.idx ou $n-vobsubs-fr.sub est incorrect ... déplacement"
 
   mv "$TITLE/$n-vobsubs-fr.idx" "$TITLE/$n-vobsubs-fr.sub" "$TITLE/VOBSUBS/$i-$TITLE"
 
 
 fi
 
 
done          
 
 
   fi
 
 
## ON COMPTE CE QU'IL RESTE DE BON EN IDX/SUB.
COUNT_IDX_FR=$(find "$TITLE" -maxdepth 1 -name '*.idx' | wc -l)
COUNT_SUB_FR=$(find "$TITLE" -maxdepth 1 -name '*.sub' | wc -l)
 
 
## CONDITION : UN IDX/SUB OU PLUS.
if [[ -e "$TITLE/$i-$TITLE-[Audio: $INFO + Chapters].mkv" ]] && [ "$COUNT_IDX_FR" -ge "1" ] && [ "$COUNT_SUB_FR" -ge "1" ]
then
 
 
 
 
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.
mv "$TITLE"/*.idx "$TITLE"/*.sub "$TITLE/VOBSUBS/$i-$TITLE"
rm -f "$TITLE/$i-$TITLE-[Audio: $INFO + Chapters].mkv"
 
 
INFO_SUB=$(mplayer -vo null -ao null -frames 0 -identify "$TITLE/$i-$TITLE-[Audio: $INFO + Chapters + Sub].mkv" 2>/dev/null | \
          awk '/slang/ && /fre/  { x = x $9 ","}
              END { sub(/,*$/, "", x); print x }')
 
 
     mv "$TITLE/$i-$TITLE-[Audio: $INFO + Chapters + Sub].mkv" "$TITLE/$i-$TITLE-[Audio: $INFO + Chapters + Sub: $INFO_SUB].mkv"
     mediainfo "$TITLE/$i-$TITLE-[Audio: $INFO + Chapters + Sub: $INFO_SUB].mkv" >> "$TITLE/IFOS/$i-$TITLE-[Audio: $INFO + Chapters + Sub: $INFO_SUB].log"
 
rm -f "$TITLE/IFOS/$i-$TITLE-[Audio: $INFO + Chapters].log"  
 
 
 
 
    fi
 
 
 
## AUCUN IDX ou SUB.
if [[ -e "$TITLE/$i-$TITLE-[Audio: $INFO + Chapters].mkv" ]] && [ "$COUNT_IDX_FR" -eq "0" ] || [ "$COUNT_SUB_FR" -eq "0" ]
then
 
mv "$TITLE/$i-$TITLE-[Audio: $INFO + Chapters].mkv" "$TITLE/$i-$TITLE-[Audio: $INFO + Chapters NoSub].mkv"
mediainfo "$TITLE/$i-$TITLE-[Audio: $INFO + Chapters NoSub].mkv" >> "$TITLE/IFOS/$i-$TITLE-[Audio: $INFO + Chapters NoSub].log"
 
rm -f "$TITLE/IFOS/$i-$TITLE-[Audio: $INFO + Chapters].log"
 
 
 
    fi
 
 
 
## PAS D'INFO ET UN SEUL AUDIO.
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"
     mediainfo "$TITLE/$i-$TITLE-[Audio: Und].mkv" >> "$TITLE/IFOS/$i-$TITLE-[Audio: Und].log"
 
 
 
   fi
 
 
 
## PAS D'AUDIO DONC PAS D'INFO.
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"
    mediainfo "$TITLE/$i-$TITLE-[Audio: NoSound].mkv" >> "$TITLE/IFOS/$i-$TITLE-[Audio: NoSound].log"
 
 
 
   fi
 
 
 
done
 
rm -f "$TITLE/bitrate.txt"

Puis collez-le dans le fichier créé. Enregistrer

Modifier les droits de ce fichier pour votre user. Le droit d'appartenance :

chown user:user copie-dvd-1

Ajouter le droit d'exécution :

chmod u+x copie-dvd-1

Revenir à son home/user :

cd

Et quitter root avec le raccourci ; Ctrl d

Et voilà, plus qu'à insérer un dvd et à lancer la commande en user.

copie_dvd-1
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...
DVD-Vidéo : DVD_VIDEO_RECORDING
Ce nom convient-il ? [Y/n]

On valide n pour modifier le titre

Ce nom convient-il ? [Y/n] n


Réponse : Non
Entrer un nouveau nom:
nouveau_nom
Garder le bitrate d'origine ? [Y/n]
n

Réponse : Non Entrer un nouveau Bitrate: </code> Par exemple

1000

Plus il est élevé, plus la qualité sera grande.

Le bitrate du titre n°1 sera donc de : 1000k

Et c'est parti…

Si vous avez plusieurs vidéos, chacune pourra être régler à sa façon !
1)
N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !
doc/programmation/bash/ffmpeg.1587812730.txt.gz · Dernière modification: 25/04/2020 13:05 par smolski

Pied de page des forums

Propulsé par FluxBB