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).

#551 16-02-2020 09:38:34

Anonyme
Invité

Re : Script: FFMPEG : Ripper et Encoder ses DVD pour archivage (SUBFR,etc)

Bon, je viens de tester le script sur Debian Buster, il ne fonctionne pas. J'ai les même erreurs que toi !!!!  tongue

Sous Archlinux, je n'ai aucun problême.

Sous Buster :


[mpeg @ 0x8c3b80] Invalid stream specifier: 0-map.
[mpeg @ 0x8c3b80] Invalid stream specifier: i:0-map.
[mpeg @ 0x8c3b80] Invalid stream specifier: 0-map.
[mpeg @ 0x8c3b80] Invalid stream specifier: i:0-map.
[mpeg @ 0x8c3b80] Invalid stream specifier: 0-map.
[mpeg @ 0x8c3b80] Invalid stream specifier: i:0-map.
[mpeg @ 0x8c3b80] Invalid stream specifier: 0-map.
[mpeg @ 0x8c3b80] Invalid stream specifier: i:0-map.
[mpeg @ 0x8c3b80] Invalid stream specifier: 0-map.
[mpeg @ 0x8c3b80] Invalid stream specifier: i:0-map.
[mpeg @ 0x8c3b80] Invalid stream specifier: 0-map.
[mpeg @ 0x8c3b80] Invalid stream specifier: i:0-map.
[mpeg @ 0x8c3b80] Invalid stream specifier: 0-map.
[mpeg @ 0x8c3b80] Invalid stream specifier: i:0-map.
[mpeg @ 0x8c3b80] Invalid stream specifier: 0-map.
[mpeg @ 0x8c3b80] Invalid stream specifier: i:0-map.
[mpeg @ 0x8c3b80] Invalid stream specifier: 0-map.
[mpeg @ 0x8c3b80] Invalid stream specifier: i:0-map.
[mpeg @ 0x8c3b80] Invalid stream specifier: 0-map.
[mpeg @ 0x8c3b80] Invalid stream specifier: i:0-map.
 





REMOVE_O_CHANNELS=$(ffprobe "$TITLE/$i-$TITLE.vob" 2>&1 |awk '/Audio:/ && /Stream/ && /kb\/s|\(LC),/ { print $2 }' | \
          cut -d "[" -f2 | cut -d "]" -f1 | awk '{gsub (/^/,"-map i:")}1')



awk: line 1: regular expression compile failed (missing '(')
kb/s|\(LC),



il faut virer la virgule :

 && /kb\/s|\(LC),/



pour


 && /kb\/s|\(LC)/



REMOVE_O_CHANNELS=$(ffprobe "$TITLE/$i-$TITLE.vob" 2>&1 |awk '/Audio:/ && /Stream/ && /kb\/s|\(LC)/ { print $2 }' | \
          cut -d "[" -f2 | cut -d "]" -f1 | awk '{gsub (/^/,"-map i:")}1')

Dernière modification par Anonyme (16-02-2020 10:00:10)

#552 16-02-2020 10:12:20

Anonyme
Invité

Re : Script: FFMPEG : Ripper et Encoder ses DVD pour archivage (SUBFR,etc)

Bon le problème vient de là :

cette commande :


MAP_ID_STREAMS=$(lsdvd -a "$DEVICE" -t "$i" 2> /dev/null | \
         grep "Language:" | sed -n -e "s/.*\(0x\)/\1/p" | sed -e 's/c/1c/g' | \
         awk '/0x/{gsub (/^/,"-map i:")}1')
echo $MAP_ID_STREAMS
 



sous Arch ça me renvoie :

-map i:0x80 -map i:0x81 -map i:0x82 -map i:0x83



Ce qui est très bien.

Mais sous Debian Buster, c'est la pagaille :

-map i:0-map i:x-map i:8-map i:0-map i: -map i:0-map i:x-map i:8-map i:9-map i: -map i:0-map i:x-map i:8-map i:2-map i: -map i:0-map i:x-map i:8-map i:3-map i:

Dernière modification par Anonyme (16-02-2020 10:14:05)

#553 16-02-2020 14:34:15

Anonyme
Invité

Re : Script: FFMPEG : Ripper et Encoder ses DVD pour archivage (SUBFR,etc)

Sur ton DVD, que renvoie cette commande chez toi maintenant ?


MAP_ID_STREAMS=$(lsdvd -a /dev/sr0 -t 01 2> /dev/null | grep "Language:" | sed -e 's/c/1c/g'  | awk '{ printf " -map i:"$21" " }')
echo $MAP_ID_STREAMS  
 

#554 16-02-2020 15:01:31

smolski
quasi...modo
Lieu : AIN
Distrib. : backports (buster) 10
Noyau : Linux 4.19.0-8-amd64
(G)UI : gnome
Inscription : 21-10-2008

Re : Script: FFMPEG : Ripper et Encoder ses DVD pour archivage (SUBFR,etc)

ceci :

echo $MAP_ID_STREAMS


saque eud dun (patois chtimi : fonce dedans)

Hors ligne

#555 16-02-2020 15:17:23

Anonyme
Invité

Re : Script: FFMPEG : Ripper et Encoder ses DVD pour archivage (SUBFR,etc)

Toute la commande sur le dvd  DEMETRIUS_AND_THE_GLADIATORS ( en un bloc )  wink


MAP_ID_STREAMS=$(lsdvd -a /dev/sr0 -t 01 2> /dev/null | grep "Language:" | sed -e 's/c/1c/g'  | awk '{ printf " -map i:"$21" " }')
echo $MAP_ID_STREAMS  
 
 

Dernière modification par Anonyme (16-02-2020 15:18:24)

#556 16-02-2020 19:15:22

Anonyme
Invité

Re : Script: FFMPEG : Ripper et Encoder ses DVD pour archivage (SUBFR,etc)

Voilà, à tester sous Debian Buster pour voir :


#!/bin/bash

## Anonyme
## Testeur smolski
## 16/02/2020



PATH=$PATH:/sbin:/usr/sbin

## CONDITION : UN SEUL DVD-VIDÉO.
mapfile -t  BLKID < <(blkid /dev/sr* |sed -E 's/^([^:]+): .*/\1/')

if [[ "${#BLKID[@]}" -eq  "0" ]] ; then
    echo "Aucun DVD trouvé: abandon"
    exit 0
fi

idx=0
for dev in "${BLKID[@]}"; do
    mnt=$(mount |sed -n -E "s/^${dev//\//\\\/} on (.*) type .*\$/\\1/p")
    [[ -z "$mnt" ]] && continue
    if [[ -f "$mnt/VIDEO_TS/VIDEO_TS.IFO" ]]; then
        DEVICES[$idx]="$dev"
        MOUNT_POINTS[$idx]="$mnt"
        idx=$((idx+1))
    fi
done

if [[ "${#DEVICES[@]}" -eq 0 ]]; then
    echo "Aucun dvd vidéo monté : Abandon"
    exit 0
elif [[ "${#DEVICES[@]}" -gt 1 ]];  then
    echo "Il y a plus d'un dvd video détecté : Abandon"
    exit 0
fi

DEVICE=${DEVICES[0]}
MOUNT_POINT=${MOUNT_POINTS[0]}

## LABEL DVD-VIDÉO & NOMBRE TOTAL DE TITRES SUR CELUI-CI.
idx=0
TITLE_COUNT=0
regexp='^Title: '
while read -r line; do
    idx=$((idx+1))
    if [[ "$idx" -eq 1 ]]; then
        TITLE=${line#*: }
    elif [[ "$line" =~ $regexp ]]; then
        TITLE_COUNT=$((TITLE_COUNT+1))
    fi
done < <(lsdvd "$DEVICE" 2>/dev/null)

unset regexp dev mnt idx BLKID DEVICES MOUNT_POINTS

if [[ -z "$TITLE" ]]; then
    echo "Pas de dvd vidéo trouvé : abandon"
    exit 0
fi

echo "Proceed..."





echo "DVD-Vidéo : $TITLE"
read -r -p "Ce nom convient-il ? [Y/n] " input
 
case $input in
    [yY][eE][sS]|[yY])
 echo "Yes"

 mkdir -p "$TITLE/IFOS"
 ;;
    [nN][oO]|[nN])
 echo "No"
 read -p "Entrer un nouveau nom: " TITLE
 
 mkdir -p "$TITLE/IFOS"
       ;;
    *)
 echo "Invalid input..."
 echo "Quit"
 exit 1
 ;;
esac



for (( i=1; i<=TITLE_COUNT; i++ ))
do

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=-1
    [[ "$LENGTH" -le "$LIMIT" ]] && continue


    mplayer -noconfig all -nocache -dvd-device "$DEVICE" dvdnav://"$i" \
            -dumpstream -dumpfile "$TITLE/$i-$TITLE.vob"
           

COUNT_AUDIO=$(ffprobe "$TITLE/$i-$TITLE.vob" 2>&1 | grep -c "Audio:")

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')

## ORIGINAL
#BITRATE_K=$(echo $BITRATE)k          
#BUFSIZE_K=$(echo $(($BITRATE*2)))k

# DIVISÉ / 4
#BITRATE_K=$(echo $(($BITRATE/4)))k          
#BUFSIZE_K=$(echo $(($BITRATE/2)))k

# DIVISÉ / 2
BITRATE_K=$(echo $(($BITRATE/2)))k          
BUFSIZE_K=$(echo $(($BITRATE)))k            

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 "Language:" | awk '{ printf " -map i:"$22" " }')
                                                                                                                 
COUNT_LPCM=$(lsdvd -a "$DEVICE" -t "$i" |grep -c 'lpcm')
   
AIDS_LPCM=$(lsdvd -a "$DEVICE" -t "$i" | awk '/lpcm|id:/ { print $22 }')        
         
         
                       
## 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 -analyzeduration 1000M -probesize 1000M -vsync passthrough -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 \
         -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 \
         -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 -analyzeduration 1000M -probesize 1000M -vsync passthrough -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 \
         -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 \
         -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 -analyzeduration 1000M -probesize 1000M -vsync passthrough -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 \
         -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 \
         -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) }'
)
                                     
                                     
INFO_SUB=$(mplayer -vo null -ao null -frames 0 -identify "$TITLE/$i-$TITLE-[Audio: $INFO + CHAPTERS].mkv" 2>/dev/null | \
          awk '/slang/ && /fre/  { x = x $9 ","}
              END { sub(/,*$/, "", x); print x }'
)                                    
                                     
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

for n in $SIDFR; do mencoder -dvd-device $DEVICE dvdnav://"$i" -nosound -ovc copy -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 ; done          

find -type f \( -name "*.idx" -o -name "*.sub" \) -size -500c -delete



   fi


## ON VÉRIFIE CE QUI RESTE DE BON EN IDX.
COUNT_IDX_FR=`ls -1 $TITLE/*.idx 2>/dev/null | wc -l`

## UN IDX OU PLUS.
if [[ -e "$TITLE/$i-$TITLE-[Audio: $INFO + CHAPTERS].mkv" ]] && [ $COUNT_IDX_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"


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



## 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



rm -f "$TITLE"/*.idx
rm -f "$TITLE"/*.sub  
 
done  
 

Dernière modification par Anonyme (17-02-2020 19:25:35)

#557 16-02-2020 20:28:31

Anonyme
Invité

Re : Script: FFMPEG : Ripper et Encoder ses DVD pour archivage (SUBFR,etc)

Testé sur Debian Buster.

C'est OK wink

#558 17-02-2020 09:16:24

Anonyme
Invité

Re : Script: FFMPEG : Ripper et Encoder ses DVD pour archivage (SUBFR,etc)

Mince, dans le script, j'ai oublié de prendre en charge les titres sans audio.
Je rectifie le truc. Cette fonction n'est pas trop utile mais on évite un warning dans le terminal .

Il reste plus que le :

non-strictly-monotonic PTS



et


[libx264 @ 0x55f987f8a240] non-strictly-monotonic PTS:04.22 bitrate=4187.2kbits/s speed=4.22x    
[libx264 @ 0x55f987f8a240] invalid DTS: PTS is less than DTS
[matroska @ 0x55f987f43a40] Invalid DTS: 65400 PTS: 65360 in output stream 0:0, replacing by guess
[matroska @ 0x55f987f43a40] Non-monotonous DTS in output stream 0:0; previous: 65361, current: 65360;
changing to 65361. This may result in incorrect timestamps in the output file.
 



je ne trouve pas d'explication, mais bon, ça ne pose pas de problème.

Dernière modification par Anonyme (17-02-2020 09:19:52)

#559 17-02-2020 09:24:44

Anonyme
Invité

Re : Script: FFMPEG : Ripper et Encoder ses DVD pour archivage (SUBFR,etc)

Je post le script dans 2 minutes, je pense que j'ai fait le tour des options .... big_smile


Le Job :



├── [ 52K]  10-DAS0EFW1-[Audio: NoSound].mkv
├── [165K]  11-DAS0EFW1-[Audio: unknown + CHAPTERS].mkv
├── [110M]  12-DAS0EFW1-[Audio: fre + CHAPTERS].mkv
├── [103M]  13-DAS0EFW1-[Audio: fre + CHAPTERS].mkv
├── [103M]  14-DAS0EFW1-[Audio: fre + CHAPTERS].mkv
├── [ 52K]  15-DAS0EFW1-[Audio: NoSound].mkv
├── [ 49K]  16-DAS0EFW1-[Audio: NoSound].mkv
├── [ 51K]  17-DAS0EFW1-[Audio: NoSound].mkv
├── [ 47K]  18-DAS0EFW1-[Audio: NoSound].mkv
├── [ 50K]  19-DAS0EFW1-[Audio: NoSound].mkv
├── [ 21M]  1-DAS0EFW1-[Audio: fre,fre + CHAPTERS + Sub: fre,fre,fre,fre].mkv
├── [ 51K]  20-DAS0EFW1-[Audio: NoSound].mkv
├── [ 49K]  21-DAS0EFW1-[Audio: NoSound].mkv
├── [ 51K]  22-DAS0EFW1-[Audio: NoSound].mkv
├── [ 52K]  23-DAS0EFW1-[Audio: NoSound].mkv
├── [ 48K]  24-DAS0EFW1-[Audio: NoSound].mkv
├── [110M]  25-DAS0EFW1-[Audio: fre + CHAPTERS].mkv
├── [226K]  26-DAS0EFW1-[Audio: en + CHAPTERS].mkv
├── [233K]  27-DAS0EFW1-[Audio: en + CHAPTERS].mkv
├── [ 49K]  28-DAS0EFW1-[Audio: NoSound].mkv
├── [127M]  29-DAS0EFW1-[Audio: en + CHAPTERS].mkv
├── [ 49K]  2-DAS0EFW1-[Audio: NoSound].mkv
├── [127M]  30-DAS0EFW1-[Audio: en + CHAPTERS].mkv
├── [ 30M]  31-DAS0EFW1-[Audio: en + CHAPTERS + Sub: fre].mkv
├── [ 30M]  32-DAS0EFW1-[Audio: en + CHAPTERS + Sub: fre].mkv
├── [ 93M]  33-DAS0EFW1-[Audio: fre + CHAPTERS + Sub: fre].mkv
├── [ 51K]  34-DAS0EFW1-[Audio: NoSound].mkv
├── [ 38M]  35-DAS0EFW1-[Audio: fre + CHAPTERS + Sub: fre].mkv
├── [ 93M]  36-DAS0EFW1-[Audio: fre + CHAPTERS + Sub: fre].mkv
├── [ 51K]  37-DAS0EFW1-[Audio: NoSound].mkv
├── [ 51K]  38-DAS0EFW1-[Audio: NoSound].mkv
├── [ 52K]  39-DAS0EFW1-[Audio: NoSound].mkv
├── [106K]  3-DAS0EFW1-[Audio: en + CHAPTERS].mkv
├── [ 47K]  40-DAS0EFW1-[Audio: NoSound].mkv
├── [ 49K]  41-DAS0EFW1-[Audio: NoSound].mkv
├── [ 50K]  42-DAS0EFW1-[Audio: NoSound].mkv
├── [ 38M]  43-DAS0EFW1-[Audio: fre + CHAPTERS + Sub: fre].mkv
├── [4,8M]  44-DAS0EFW1-[Audio: en + CHAPTERS].mkv
├── [100K]  45-DAS0EFW1-[Audio: NoSound].mkv
├── [181K]  4-DAS0EFW1-[Audio: en + CHAPTERS].mkv
├── [ 26M]  5-DAS0EFW1-[Audio: fre + CHAPTERS + Sub: fre].mkv
├── [8,9M]  6-DAS0EFW1-[Audio: unknown + CHAPTERS].mkv
├── [ 50K]  7-DAS0EFW1-[Audio: NoSound].mkv
├── [9,7M]  8-DAS0EFW1-[Audio: unknown + CHAPTERS + Sub: fre].mkv
├── [ 52K]  9-DAS0EFW1-[Audio: NoSound].mkv
└── [162K]  IFOS
    ├── [2,7K]  10-DAS0EFW1-[Audio: NoSound].log
    ├── [3,8K]  11-DAS0EFW1-[Audio: unknown + CHAPTERS].log
    ├── [4,1K]  13-DAS0EFW1-[Audio: fre + CHAPTERS].log
    ├── [4,1K]  14-DAS0EFW1-[Audio: fre + CHAPTERS].log
    ├── [2,7K]  15-DAS0EFW1-[Audio: NoSound].log
    ├── [2,7K]  16-DAS0EFW1-[Audio: NoSound].log
    ├── [2,7K]  17-DAS0EFW1-[Audio: NoSound].log
    ├── [2,7K]  18-DAS0EFW1-[Audio: NoSound].log
    ├── [2,7K]  19-DAS0EFW1-[Audio: NoSound].log
    ├── [8,4K]  1-DAS0EFW1-[Audio: fre,fre + CHAPTERS + Sub: fre,fre,fre,fre].log
    ├── [2,7K]  20-DAS0EFW1-[Audio: NoSound].log
    ├── [2,7K]  21-DAS0EFW1-[Audio: NoSound].log
    ├── [2,7K]  22-DAS0EFW1-[Audio: NoSound].log
    ├── [2,7K]  23-DAS0EFW1-[Audio: NoSound].log
    ├── [2,7K]  24-DAS0EFW1-[Audio: NoSound].log
    ├── [3,9K]  26-DAS0EFW1-[Audio: en + CHAPTERS].log
    ├── [3,9K]  27-DAS0EFW1-[Audio: en + CHAPTERS].log
    ├── [2,7K]  28-DAS0EFW1-[Audio: NoSound].log
    ├── [3,9K]  29-DAS0EFW1-[Audio: en + CHAPTERS].log
    ├── [2,7K]  2-DAS0EFW1-[Audio: NoSound].log
    ├── [3,9K]  30-DAS0EFW1-[Audio: en + CHAPTERS].log
    ├── [4,6K]  31-DAS0EFW1-[Audio: en + CHAPTERS + Sub: fre].log
    ├── [4,6K]  32-DAS0EFW1-[Audio: en + CHAPTERS + Sub: fre].log
    ├── [4,6K]  33-DAS0EFW1-[Audio: fre + CHAPTERS + Sub: fre].log
    ├── [2,7K]  34-DAS0EFW1-[Audio: NoSound].log
    ├── [4,5K]  35-DAS0EFW1-[Audio: fre + CHAPTERS + Sub: fre].log
    ├── [4,6K]  36-DAS0EFW1-[Audio: fre + CHAPTERS + Sub: fre].log
    ├── [2,7K]  37-DAS0EFW1-[Audio: NoSound].log
    ├── [2,7K]  38-DAS0EFW1-[Audio: NoSound].log
    ├── [2,7K]  39-DAS0EFW1-[Audio: NoSound].log
    ├── [2,7K]  40-DAS0EFW1-[Audio: NoSound].log
    ├── [2,7K]  41-DAS0EFW1-[Audio: NoSound].log
    ├── [2,7K]  42-DAS0EFW1-[Audio: NoSound].log
    ├── [4,5K]  43-DAS0EFW1-[Audio: fre + CHAPTERS + Sub: fre].log
    ├── [3,9K]  44-DAS0EFW1-[Audio: en + CHAPTERS].log
    ├── [2,7K]  45-DAS0EFW1-[Audio: NoSound].log
    ├── [4,6K]  5-DAS0EFW1-[Audio: fre + CHAPTERS + Sub: fre].log
    ├── [3,8K]  6-DAS0EFW1-[Audio: unknown + CHAPTERS].log
    ├── [2,7K]  7-DAS0EFW1-[Audio: NoSound].log
    ├── [4,6K]  8-DAS0EFW1-[Audio: unknown + CHAPTERS + Sub: fre].log
    └── [2,7K]  9-DAS0EFW1-[Audio: NoSound].log

 1.0G used in 1 directory, 90 files
 

Dernière modification par Anonyme (17-02-2020 09:26:52)

#560 17-02-2020 09:49:20

Anonyme
Invité

Re : Script: FFMPEG : Ripper et Encoder ses DVD pour archivage (SUBFR,etc)

Voilà pour Monsieur smolski :



#!/bin/bash

## Anonyme
## Testeur smolski
## 17/02/2020



PATH=$PATH:/sbin:/usr/sbin

## CONDITION : UN SEUL DVD-VIDÉO.
mapfile -t  BLKID < <(blkid /dev/sr* |sed -E 's/^([^:]+): .*/\1/')

if [[ "${#BLKID[@]}" -eq  "0" ]] ; then
    echo "Aucun DVD trouvé: abandon"
    exit 0
fi

idx=0
for dev in "${BLKID[@]}"; do
    mnt=$(mount |sed -n -E "s/^${dev//\//\\\/} on (.*) type .*\$/\\1/p")
    [[ -z "$mnt" ]] && continue
    if [[ -f "$mnt/VIDEO_TS/VIDEO_TS.IFO" ]]; then
        DEVICES[$idx]="$dev"
        MOUNT_POINTS[$idx]="$mnt"
        idx=$((idx+1))
    fi
done

if [[ "${#DEVICES[@]}" -eq 0 ]]; then
    echo "Aucun dvd vidéo monté : Abandon"
    exit 0
elif [[ "${#DEVICES[@]}" -gt 1 ]];  then
    echo "Il y a plus d'un dvd video détecté : Abandon"
    exit 0
fi

DEVICE=${DEVICES[0]}
MOUNT_POINT=${MOUNT_POINTS[0]}

## LABEL DVD-VIDÉO & NOMBRE TOTAL DE TITRES SUR CELUI-CI.
idx=0
TITLE_COUNT=0
regexp='^Title: '
while read -r line; do
    idx=$((idx+1))
    if [[ "$idx" -eq 1 ]]; then
        TITLE=${line#*: }
    elif [[ "$line" =~ $regexp ]]; then
        TITLE_COUNT=$((TITLE_COUNT+1))
    fi
done < <(lsdvd "$DEVICE" 2>/dev/null)

unset regexp dev mnt idx BLKID DEVICES MOUNT_POINTS

if [[ -z "$TITLE" ]]; then
    echo "Pas de dvd vidéo trouvé : abandon"
    exit 0
fi

echo "Proceed..."





echo "DVD-Vidéo : $TITLE"
read -r -p "Ce nom convient-il ? [Y/n] " input
 
case $input in
    [yY][eE][sS]|[yY])
 echo "Yes"

 mkdir -p "$TITLE/IFOS"
 ;;
    [nN][oO]|[nN])
 echo "No"
 read -p "Entrer un nouveau nom: " TITLE
 
 mkdir -p "$TITLE/IFOS"
       ;;
    *)
 echo "Invalid input..."
 echo "Quit"
 exit 1
 ;;
esac



for (( i=1; i<=TITLE_COUNT; i++ ))
do

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=-1
    [[ "$LENGTH" -le "$LIMIT" ]] && continue


    mplayer -noconfig all -nocache -dvd-device "$DEVICE" dvdnav://"$i" \
            -dumpstream -dumpfile "$TITLE/$i-$TITLE.vob"
           

COUNT_AUDIO=$(ffprobe "$TITLE/$i-$TITLE.vob" 2>&1 | grep -c "Audio:")

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')

## ORIGINAL
#BITRATE_K=$(echo $BITRATE)k          
#BUFSIZE_K=$(echo $(($BITRATE*2)))k

# DIVISÉ / 4
#BITRATE_K=$(echo $(($BITRATE/4)))k          
#BUFSIZE_K=$(echo $(($BITRATE/2)))k

# DIVISÉ / 2
BITRATE_K=$(echo $(($BITRATE/2)))k          
BUFSIZE_K=$(echo $(($BITRATE)))k            

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 "Language:" | awk '{ printf " -map i:"$22" " }')
                                                                                                                 
COUNT_LPCM=$(lsdvd -a "$DEVICE" -t "$i" |grep -c 'lpcm')
   
AIDS_LPCM=$(lsdvd -a "$DEVICE" -t "$i" | awk '/lpcm|id:/ { print $22 }')



## VOB PRÉSENT.
## AUCUN AUDIO.
if [[ -e "$TITLE/$i-$TITLE.vob" ]] && [[ "$COUNT_AUDIO" -eq "0" ]]; then


     ffmpeg -analyzeduration 1000M -probesize 1000M -vsync passthrough -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 \
         -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 \
         -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 -analyzeduration 1000M -probesize 1000M -vsync passthrough -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 \
         -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 \
         -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 -analyzeduration 1000M -probesize 1000M -vsync passthrough -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 \
         -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 \
         -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 -analyzeduration 1000M -probesize 1000M -vsync passthrough -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 \
         -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 \
         -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) }'
)
                                     
                                     
INFO_SUB=$(mplayer -vo null -ao null -frames 0 -identify "$TITLE/$i-$TITLE-[Audio: $INFO + CHAPTERS].mkv" 2>/dev/null | \
          awk '/slang/ && /fre/  { x = x $9 ","}
              END { sub(/,*$/, "", x); print x }'
)                                    
                                     
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

for n in $SIDFR; do mencoder -dvd-device $DEVICE dvdnav://"$i" -nosound -ovc copy -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 ; done          

find -type f \( -name "*.idx" -o -name "*.sub" \) -size -500c -delete



   fi


## ON VÉRIFIE CE QUI RESTE DE BON EN IDX.
COUNT_IDX_FR=`ls -1 $TITLE/*.idx 2>/dev/null | wc -l`

## UN IDX OU PLUS.
if [[ -e "$TITLE/$i-$TITLE-[Audio: $INFO + CHAPTERS].mkv" ]] && [ $COUNT_IDX_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"


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



## 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



rm -f "$TITLE"/*.idx
rm -f "$TITLE"/*.sub  
 
done  
 

Dernière modification par Anonyme (17-02-2020 19:26:19)

#561 17-02-2020 10:57:18

smolski
quasi...modo
Lieu : AIN
Distrib. : backports (buster) 10
Noyau : Linux 4.19.0-8-amd64
(G)UI : gnome
Inscription : 21-10-2008

Re : Script: FFMPEG : Ripper et Encoder ses DVD pour archivage (SUBFR,etc)

Impec !
J'ai plus le dvd, rendu au propriétaire, je testerai le script demain sur un autre, là je suis un peu pris par un dualboot sur un portable pour un nouvel utlisateur, problème de batterie et de pad... wink

saque eud dun (patois chtimi : fonce dedans)

Hors ligne

#562 18-02-2020 06:18:18

Anonyme
Invité

Re : Script: FFMPEG : Ripper et Encoder ses DVD pour archivage (SUBFR,etc)

Bonjour,

18-02-2020


#!/bin/bash

## Anonyme
## Testeur smolski
## 17/02/2020



PATH=$PATH:/sbin:/usr/sbin

## CONDITION : UN SEUL DVD-VIDÉO.
mapfile -t  BLKID < <(blkid /dev/sr* |sed -E 's/^([^:]+): .*/\1/')

if [[ "${#BLKID[@]}" -eq  "0" ]] ; then
    echo "Aucun DVD trouvé: abandon"
    exit 0
fi

idx=0
for dev in "${BLKID[@]}"; do
    mnt=$(mount |sed -n -E "s/^${dev//\//\\\/} on (.*) type .*\$/\\1/p")
    [[ -z "$mnt" ]] && continue
    if [[ -f "$mnt/VIDEO_TS/VIDEO_TS.IFO" ]]; then
        DEVICES[$idx]="$dev"
        MOUNT_POINTS[$idx]="$mnt"
        idx=$((idx+1))
    fi
done

if [[ "${#DEVICES[@]}" -eq 0 ]]; then
    echo "Aucun dvd vidéo monté : Abandon"
    exit 0
elif [[ "${#DEVICES[@]}" -gt 1 ]];  then
    echo "Il y a plus d'un dvd video détecté : Abandon"
    exit 0
fi

DEVICE=${DEVICES[0]}
MOUNT_POINT=${MOUNT_POINTS[0]}

## LABEL DVD-VIDÉO & NOMBRE TOTAL DE TITRES SUR CELUI-CI.
idx=0
TITLE_COUNT=0
regexp='^Title: '
while read -r line; do
    idx=$((idx+1))
    if [[ "$idx" -eq 1 ]]; then
        TITLE=${line#*: }
    elif [[ "$line" =~ $regexp ]]; then
        TITLE_COUNT=$((TITLE_COUNT+1))
    fi
done < <(lsdvd "$DEVICE" 2>/dev/null)

unset regexp dev mnt idx BLKID DEVICES MOUNT_POINTS

if [[ -z "$TITLE" ]]; then
    echo "Pas de dvd vidéo trouvé : abandon"
    exit 0
fi

echo "Proceed..."





echo "DVD-Vidéo : $TITLE"
read -r -p "Ce nom convient-il ? [Y/n] " input
 
case $input in
    [yY][eE][sS]|[yY])
 echo "Yes"

 mkdir -p "$TITLE/IFOS"
 ;;
    [nN][oO]|[nN])
 echo "No"
 read -p "Entrer un nouveau nom: " TITLE
 
 mkdir -p "$TITLE/IFOS"
       ;;
    *)
 echo "Invalid input..."
 echo "Quit"
 exit 1
 ;;
esac



for (( i=1; i<=TITLE_COUNT; i++ ))
do

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=5
    [[ "$LENGTH" -le "$LIMIT" ]] && continue


    mplayer -noconfig all -nocache -dvd-device "$DEVICE" dvdnav://"$i" \
            -dumpstream -dumpfile "$TITLE/$i-$TITLE.vob"
           

COUNT_AUDIO=$(ffprobe "$TITLE/$i-$TITLE.vob" 2>&1 | grep -c "Audio:")

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')

## ORIGINAL
#BITRATE_K=$(echo $BITRATE)k          
#BUFSIZE_K=$(echo $(($BITRATE*2)))k

# DIVISÉ / 4
#BITRATE_K=$(echo $(($BITRATE/4)))k          
#BUFSIZE_K=$(echo $(($BITRATE/2)))k

# DIVISÉ / 2
BITRATE_K=$(echo $(($BITRATE/2)))k          
BUFSIZE_K=$(echo $(($BITRATE/4)))k            

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 "Language:" | awk '{ printf " -map i:"$22" " }')
                                                                                                                 
COUNT_LPCM=$(lsdvd -a "$DEVICE" -t "$i" |grep -c 'lpcm')
   
AIDS_LPCM=$(lsdvd -a "$DEVICE" -t "$i" | awk '/lpcm|id:/ { print $22 }')



## VOB PRÉSENT.
## AUCUN AUDIO.
if [[ -e "$TITLE/$i-$TITLE.vob" ]] && [[ "$COUNT_AUDIO" -eq "0" ]]; then


     ffmpeg -analyzeduration 1000M -probesize 1000M -vsync passthrough -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 \
         -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 \
         -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 -analyzeduration 1000M -probesize 1000M -vsync passthrough -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 \
         -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 \
         -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 -analyzeduration 1000M -probesize 1000M -vsync passthrough -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 \
         -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 \
         -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 -analyzeduration 1000M -probesize 1000M -vsync passthrough -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 \
         -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 \
         -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) }'
)
                                     
                                     
INFO_SUB=$(mplayer -vo null -ao null -frames 0 -identify "$TITLE/$i-$TITLE-[Audio: $INFO + CHAPTERS].mkv" 2>/dev/null | \
          awk '/slang/ && /fre/  { x = x $9 ","}
              END { sub(/,*$/, "", x); print x }'
)                                    
                                     
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

for n in $SIDFR; do mencoder -dvd-device $DEVICE dvdnav://"$i" -nosound -ovc copy -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 ; done          

find -type f \( -name "*.idx" -o -name "*.sub" \) -size -1000c -delete



   fi


## ON VÉRIFIE CE QUI RESTE DE BON EN IDX.
COUNT_IDX_FR=`ls -1 $TITLE/*.idx 2>/dev/null | wc -l`

## UN IDX OU PLUS.
if [[ -e "$TITLE/$i-$TITLE-[Audio: $INFO + CHAPTERS].mkv" ]] && [ $COUNT_IDX_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"


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



## 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



rm -f "$TITLE"/*.idx
rm -f "$TITLE"/*.sub  
 
done  
 

#563 18-02-2020 07:18:00

smolski
quasi...modo
Lieu : AIN
Distrib. : backports (buster) 10
Noyau : Linux 4.19.0-8-amd64
(G)UI : gnome
Inscription : 21-10-2008

Re : Script: FFMPEG : Ripper et Encoder ses DVD pour archivage (SUBFR,etc)

test en court... wink

saque eud dun (patois chtimi : fonce dedans)

Hors ligne

#564 18-02-2020 08:54:25

smolski
quasi...modo
Lieu : AIN
Distrib. : backports (buster) 10
Noyau : Linux 4.19.0-8-amd64
(G)UI : gnome
Inscription : 21-10-2008

Re : Script: FFMPEG : Ripper et Encoder ses DVD pour archivage (SUBFR,etc)

Raté smile

handbrake_dvd11



Proceed...
DVD-Vidéo : J_BREL_DVD2
Ce nom convient-il ? [Y/n] y
Yes
MPlayer 1.3.0 (Debian), built with gcc-8 (C) 2000-2016 MPlayer Team
Can't open joystick device /dev/input/js0: No such file or directory
Can't init input joystick
mplayer: could not open config files /home/admijoel/.lircrc and /etc/lirc/lircrc
mplayer: No such file or directory
Failed to read LIRC config file ~/.lircrc.

Playing dvdnav://1.
libdvdnav: Using dvdnav version 6.0.0
libdvdnav: DVD Title: J_BREL_DVD2
libdvdnav: DVD Serial Number: c2e614ba        
libdvdnav: DVD Title (Alternative): J_BREL_DVD2
libdvdnav: DVD disk reports itself with Region mask 0x00c00000. Regions: 1 2 3 4 5 6

libdvdread: Attempting to retrieve all CSS keys
libdvdread: This can take a _long_ time, please be patient

libdvdread: Get key for /VIDEO_TS/VIDEO_TS.VOB at 0x00000139
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_01_0.VOB at 0x00018b84
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_01_1.VOB at 0x0001adef
libdvdread: Elapsed time 0
libdvdread: Found 1 VTS's
libdvdread: Elapsed time 0
audio stream: 0 format: ac3 (stereo) language: fr aid: 128.
audio stream: 1 format: ac3 (5.1) language: fr aid: 129.
audio stream: 2 format: dts (5.1/6.1) language: fr aid: 2.
subtitle ( sid ): 0 language: en

INIT ERROR: couldn't get init pos New position not yet determined.
Remember to disable MPlayer's cache when playing dvdnav:// streams (adding -nocache to your command line)
DVDNAV, switched to title: 1
audio stream: 0 format: ac3 (stereo) language: fr aid: 128.
audio stream: 1 format: ac3 (5.1) language: fr aid: 129.
audio stream: 2 format: dts (5.1/6.1) language: fr aid: 2.
subtitle ( sid ): 0 language: en
dump: 7625625600 bytes written (~100.0%)
DVDNAV, switched to title: 1
audio stream: 0 format: ac3 (mono) language: unknown aid: 128.
audio stream: 1 format: ac3 (mono) language: unknown aid: 129.
audio stream: 2 format: ac3 (mono) language: unknown aid: 130.
audio stream: 3 format: ac3 (mono) language: unknown aid: 131.
audio stream: 4 format: ac3 (mono) language: unknown aid: 132.
audio stream: 5 format: ac3 (mono) language: unknown aid: 133.
audio stream: 6 format: ac3 (mono) language: unknown aid: 134.
audio stream: 7 format: ac3 (mono) language: unknown aid: 135.
subtitle ( sid ): 0 language: unknown
subtitle ( sid ): 0 language: unknown
subtitle ( sid ): 0 language: unknown
subtitle ( sid ): 0 language: unknown
subtitle ( sid ): 0 language: unknown
subtitle ( sid ): 0 language: unknown
subtitle ( sid ): 0 language: unknown
subtitle ( sid ): 0 language: unknown
subtitle ( sid ): 0 language: unknown
subtitle ( sid ): 0 language: unknown
subtitle ( sid ): 0 language: unknown
subtitle ( sid ): 0 language: unknown
subtitle ( sid ): 0 language: unknown
subtitle ( sid ): 0 language: unknown
subtitle ( sid ): 0 language: unknown
subtitle ( sid ): 0 language: unknown
subtitle ( sid ): 0 language: unknown
subtitle ( sid ): 0 language: unknown
subtitle ( sid ): 0 language: unknown
subtitle ( sid ): 0 language: unknown
subtitle ( sid ): 0 language: unknown
subtitle ( sid ): 0 language: unknown
subtitle ( sid ): 0 language: unknown
subtitle ( sid ): 0 language: unknown
subtitle ( sid ): 0 language: unknown
subtitle ( sid ): 0 language: unknown
subtitle ( sid ): 0 language: unknown
subtitle ( sid ): 0 language: unknown
subtitle ( sid ): 0 language: unknown
subtitle ( sid ): 0 language: unknown
subtitle ( sid ): 0 language: unknown
subtitle ( sid ): 0 language: unknown

dump: 7627952128 bytes written to 'J_BREL_DVD2/1-J_BREL_DVD2.vob'.
Core dumped ;)

Exiting... (End of file)
ffmpeg version 4.1.4-1~deb10u1 Copyright (c) 2000-2019 the FFmpeg developers
  built with gcc 8 (Debian 8.3.0-6)
  configuration: --prefix=/usr --extra-version='1~deb10u1' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
  libavutil      56. 22.100 / 56. 22.100
  libavcodec     58. 35.100 / 58. 35.100
  libavformat    58. 20.100 / 58. 20.100
  libavdevice    58.  5.100 / 58.  5.100
  libavfilter     7. 40.101 /  7. 40.101
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  3.100 /  5.  3.100
  libswresample   3.  3.100 /  3.  3.100
  libpostproc    55.  3.100 / 55.  3.100
[mpeg @ 0x557db9663440] max_analyze_duration 1000000000 reached at 1000000000 microseconds st:4
Input #0, mpeg, from 'J_BREL_DVD2/1-J_BREL_DVD2.vob':
  Duration: 01:09:22.25, start: 0.060000, bitrate: 14661 kb/s
    Stream #0:0[0x1bf]: Data: dvd_nav_packet
    Stream #0:1[0x1e0]: Video: mpeg2video (Main), 1 reference frame, yuv420p(tv, bt470bg, top first, left), 720x576 [SAR 16:15 DAR 4:3], 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0:2[0x80]: Audio: ac3, 48000 Hz, stereo, fltp, 224 kb/s
    Stream #0:3[0x81]: Audio: ac3, 48000 Hz, 5.1(side), fltp, 448 kb/s
    Stream #0:4[0x8a]: Audio: dts (DTS), 48000 Hz, 5.1(side), fltp, 768 kb/s
    Stream #0:5[0x20]: Subtitle: dvd_subtitle
Stream mapping:
  Stream #0:1 -> #0:0 (mpeg2video (native) -> h264 (libx264))
  Stream #0:2 -> #0:1 (copy)
  Stream #0:3 -> #0:2 (copy)
  Stream #0:4 -> #0:3 (copy)
Press [q] to stop, [?] for help
[Parsed_hue_0 @ 0x557dba904900] H_expr:(null) h_deg_expr:(null) s_expr:0.7 b_expr:0.0
[Parsed_hqdn3d_1 @ 0x557db96ed0c0] ls:1.500000 cs:1.500000 lt:4.000000 ct:4.000000
[graph 0 input from stream 0:1 @ 0x557db99d0440] w:720 h:576 pixfmt:yuv420p tb:1/90000 fr:25/1 sar:16/15 sws_param:flags=2
[Parsed_unsharp_2 @ 0x557db977f1c0] effect:sharpen type:luma msize_x:5 msize_y:5 amount:0.50
[Parsed_unsharp_2 @ 0x557db977f1c0] effect:none type:chroma msize_x:5 msize_y:5 amount:0.00
[libx264 @ 0x557db966a340] using SAR=16/15
[libx264 @ 0x557db966a340] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 0x557db966a340] profile High, level 3.0
[libx264 @ 0x557db966a340] 264 - core 155 r2917 0a84d98 - H.264/MPEG-4 AVC codec - Copyleft 2003-2018 - http://www.videolan.org/x264.html - options: cabac=1 ref=1 deblock=1:1:1 analyse=0x3:0x113 me=hex subme=2 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=6 chroma_me=1 trellis=2 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=12 lookahead_threads=4 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=10 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=1 keyint=300 keyint_min=25 scenecut=42 intra_refresh=0 rc_lookahead=10 rc=cbr mbtree=1 bitrate=4150 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=52 qpstep=4 vbv_maxrate=4150 vbv_bufsize=2075 nal_hrd=none filler=0 ip_ratio=1.40 aq=1:1.00
Output #0, matroska, to 'J_BREL_DVD2/1-J_BREL_DVD2.mkv':
  Metadata:
    title           : J_BREL_DVD2
    encoder         : Lavf58.20.100
    Stream #0:0: Video: h264 (libx264), 1 reference frame (H264 / 0x34363248), yuv420p(left), 720x576 [SAR 16:15 DAR 4:3], q=0-52, 4150 kb/s, 25 fps, 1k tbn, 25 tbc
    Metadata:
      encoder         : Lavc58.35.100 libx264
    Side data:
      cpb: bitrate max/min/avg: 4150000/0/4150000 buffer size: 2075000 vbv_delay: -1
    Stream #0:1(fr): Audio: ac3 ([0] [0][0] / 0x2000), 48000 Hz, stereo, fltp, 224 kb/s
    Metadata:
      title           : ac3(stereo)
    Stream #0:2(fr): Audio: ac3 ([0] [0][0] / 0x2000), 48000 Hz, 5.1(side), fltp, 448 kb/s
    Metadata:
      title           : ac3(5.1)
    Stream #0:3(fr): Audio: dts (DTS) ([1] [0][0] / 0x2001), 48000 Hz, 5.1(side), fltp, 768 kb/s
    Metadata:
      title           : dts(5.1/6.1)
[matroska @ 0x557db96670c0] Non-monotonous DTS in output stream 0:3; previous: 4423627, current: 4423595; changing to 4423627. This may result in incorrect timestamps in the output file.
[matroska @ 0x557db96670c0] Non-monotonous DTS in output stream 0:3; previous: 4423627, current: 4423605; changing to 4423627. This may result in incorrect timestamps in the output file.
[libx264 @ 0x557db966a340] non-strictly-monotonic PTS
[matroska @ 0x557db96670c0] Non-monotonous DTS in output stream 0:3; previous: 4423627, current: 4423616; changing to 4423627. This may result in incorrect timestamps in the output file.
[libx264 @ 0x557db966a340] invalid DTS: PTS is less than DTSbitrate=4748.8kbits/s speed=4.93x    
[matroska @ 0x557db96670c0] Invalid DTS: 4423640 PTS: 4423600 in output stream 0:0, replacing by guess
[matroska @ 0x557db96670c0] Non-monotonous DTS in output stream 0:0; previous: 4423601, current: 4423600; changing to 4423601. This may result in incorrect timestamps in the output file.
No more output streams to write to, finishing.e=02:23:03.20 bitrate=4783.9kbits/s speed=4.91x    
frame=214647 fps=123 q=-1.0 Lsize= 5014136kB time=02:23:05.80 bitrate=4784.2kbits/s speed=4.91x    
video:3508232kB audio:1495088kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.216172%
Input file #0 (J_BREL_DVD2/1-J_BREL_DVD2.vob):
  Input stream #0:0 (data): 0 packets read (0 bytes);
  Input stream #0:1 (video): 214647 packets read (5950387307 bytes); 214647 frames decoded;
  Input stream #0:2 (audio): 268309 packets read (240404864 bytes);
  Input stream #0:3 (audio): 268309 packets read (480809728 bytes);
  Input stream #0:4 (audio): 804926 packets read (809755556 bytes);
  Input stream #0:5 (subtitle): 0 packets read (0 bytes);
  Total: 1556191 packets (7481357455 bytes) demuxed
Output file #0 (J_BREL_DVD2/1-J_BREL_DVD2.mkv):
  Output stream #0:0 (video): 214647 frames encoded; 214647 packets muxed (3592429429 bytes);
  Output stream #0:1 (audio): 268309 packets muxed (240404864 bytes);
  Output stream #0:2 (audio): 268309 packets muxed (480809728 bytes);
  Output stream #0:3 (audio): 804926 packets muxed (809755556 bytes);
  Total: 1556191 packets (5123399577 bytes) muxed
[AVIOContext @ 0x557db99c9c00] Statistics: 4830 seeks, 23224 writeouts
[libx264 @ 0x557db966a340] frame I:1437  Avg QP:16.20  size: 56744
[libx264 @ 0x557db966a340] frame P:30333 Avg QP:18.86  size: 33430
[libx264 @ 0x557db966a340] frame B:182877 Avg QP:22.67  size: 13653
[libx264 @ 0x557db966a340] consecutive B-frames:  2.7%  0.3%  0.7%  2.8%  4.0% 12.1% 12.5%  6.7%  9.4%  7.5% 41.1%
[libx264 @ 0x557db966a340] mb I  I16..4: 16.7% 35.2% 48.1%
[libx264 @ 0x557db966a340] mb P  I16..4: 14.6% 33.2% 15.5%  P16..4: 12.4%  9.7%  9.7%  0.0%  0.0%    skip: 4.8%
[libx264 @ 0x557db966a340] mb B  I16..4:  3.4% 11.3%  1.3%  B16..8: 20.9% 11.3%  3.1%  direct:20.8%  skip:27.9%  L0:31.4% L1:33.6% BI:35.1%
[libx264 @ 0x557db966a340] 8x8 transform intra:62.6% inter:47.2%
[libx264 @ 0x557db966a340] coded y,uvDC,uvAC intra: 88.6% 18.9% 15.8% inter: 45.0% 1.8% 0.4%
[libx264 @ 0x557db966a340] i16 v,h,dc,p: 23% 13% 52% 12%
[libx264 @ 0x557db966a340] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 14% 13% 40%  5%  5%  5%  5%  6%  7%
[libx264 @ 0x557db966a340] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 17% 19% 18%  7%  8%  8%  8%  7%  8%
[libx264 @ 0x557db966a340] i8c dc,h,v,p: 91%  4%  4%  1%
[libx264 @ 0x557db966a340] Weighted P-Frames: Y:21.6% UV:0.2%
[libx264 @ 0x557db966a340] kb/s:3347.32
[AVIOContext @ 0x557db966c600] Statistics: 8533745808 bytes read, 2 seeks
mkvmerge v31.0.0 ('Dolores In A Shoestand') 64-bit
« J_BREL_DVD2/1-J_BREL_DVD2.mkv » : Utilisation du démultiplexeur pour le format « Matroska ».
« J_BREL_DVD2/1-J_BREL_DVD2.mkv » piste 0 : Utilisation du module de sortie pour le format « AVC/H.264 ».
« J_BREL_DVD2/1-J_BREL_DVD2.mkv » piste 1 : Utilisation du module de sortie pour le format « AC-3 ».
« J_BREL_DVD2/1-J_BREL_DVD2.mkv » piste 2 : Utilisation du module de sortie pour le format « AC-3 ».
« J_BREL_DVD2/1-J_BREL_DVD2.mkv » piste 3 : Utilisation du module de sortie pour le format « DTS ».
Le fichier « J_BREL_DVD2/1-J_BREL_DVD2-[Language: Français].mkv » est ouvert en écriture.
Progression : 100%
Les entrées CUE (l'index) sont en cours d'écriture…
Le multiplexage a pris 27 secondes.
/usr/local/bin/handbrake_dvd11: ligne 306: dvdxchap : commande introuvable
mkvmerge v31.0.0 ('Dolores In A Shoestand') 64-bit
Erreur : Format de fichier de chapitrage inconnu dans « J_BREL_DVD2/1-J_BREL_DVD2-CHAPTERS.txt ». Ce fichier ne contient pas de format de chapitrage géré.
 


saque eud dun (patois chtimi : fonce dedans)

Hors ligne

#565 18-02-2020 09:20:23

Anonyme
Invité

Re : Script: FFMPEG : Ripper et Encoder ses DVD pour archivage (SUBFR,etc)

Et ben non, pas raté .... ça fonctionne bien wink

Attention, ici on est plus sur le script Handbrake wink

et ici,


dvdxchap : commande introuvable
 



je pense qu'il te manque le programme ogmtools qui contient l'utilitaire dvdxchap

https://packages.debian.org/buster/ogmtools

apt install ogmtools



EDIT: Sur ce dernier script post 562, j'ai réduit la taille "BITRATE" du fichier par deux :


BITRATE_K=$(echo $(($BITRATE/2)))k          
BUFSIZE_K=$(echo $(($BITRATE/4)))k
 

Dernière modification par Anonyme (20-02-2020 05:33:28)

#566 18-02-2020 12:19:26

Anonyme
Invité

Re : Script: FFMPEG : Ripper et Encoder ses DVD pour archivage (SUBFR,etc)

Une coquille dans la partie lpcm que je viens de modifier.

l'effet aurait été dans le même style que :


[mpeg @ 0x8c3b80] Invalid stream specifier: 0-map.
[mpeg @ 0x8c3b80] Invalid stream specifier: i:0-map.
 

Dernière modification par Anonyme (18-02-2020 12:23:58)

#567 18-02-2020 12:45:01

Anonyme
Invité

Re : Script: FFMPEG : Ripper et Encoder ses DVD pour archivage (SUBFR,etc)

Un ajout "NoSub" dans le nommage du titre quand il n'y a pas de sous-titres ( à la suite de Chapters en fait ). C'est plus visuel.



├── [165K]  11-DAS0EFW1-[Audio: unknown + Chapters NoSub].mkv
├── [ 13M]  12-DAS0EFW1-[Audio: fre + Chapters NoSub].mkv
├── [ 12M]  13-DAS0EFW1-[Audio: fre + Chapters NoSub].mkv
├── [9,2M]  14-DAS0EFW1-[Audio: fre + Chapters NoSub].mkv
├── [ 18M]  1-DAS0EFW1-[Audio: fre,fre + Chapters + Sub: fre,fre,fre,fre].mkv
├── [6,3M]  25-DAS0EFW1-[Audio: fre + Chapters NoSub].mkv
├── [226K]  26-DAS0EFW1-[Audio: en + Chapters NoSub].mkv
├── [233K]  27-DAS0EFW1-[Audio: en + Chapters NoSub].mkv
├── [ 29M]  29-DAS0EFW1-[Audio: en + Chapters NoSub].mkv
├── [ 16M]  30-DAS0EFW1-[Audio: en + Chapters NoSub].mkv
├── [ 18M]  31-DAS0EFW1-[Audio: en + Chapters + Sub: fre].mkv
├── [8,9M]  32-DAS0EFW1-[Audio: en + Chapters + Sub: fre].mkv
├── [6,1M]  33-DAS0EFW1-[Audio: fre + Chapters + Sub: fre].mkv
├── [ 11M]  35-DAS0EFW1-[Audio: fre + Chapters + Sub: fre].mkv
├── [3,8M]  36-DAS0EFW1-[Audio: fre + Chapters + Sub: fre].mkv
├── [106K]  3-DAS0EFW1-[Audio: en + Chapters NoSub].mkv
├── [5,9M]  43-DAS0EFW1-[Audio: fre + Chapters + Sub: fre].mkv
├── [4,1M]  44-DAS0EFW1-[Audio: en + Chapters NoSub].mkv
├── [181K]  4-DAS0EFW1-[Audio: en + Chapters NoSub].mkv
├── [ 23M]  5-DAS0EFW1-[Audio: fre + Chapters + Sub: fre].mkv
├── [7,6M]  6-DAS0EFW1-[Audio: unknown + Chapters NoSub].mkv
├── [8,4M]  8-DAS0EFW1-[Audio: unknown + Chapters + Sub: fre].mkv
└── [101K]  IFOS
    ├── [3,8K]  11-DAS0EFW1-[Audio: unknown + Chapters NoSub].log
    ├── [4,1K]  13-DAS0EFW1-[Audio: fre + Chapters NoSub].log
    ├── [4,1K]  14-DAS0EFW1-[Audio: fre + Chapters NoSub].log
    ├── [8,4K]  1-DAS0EFW1-[Audio: fre,fre + Chapters + Sub: fre,fre,fre,fre].log
    ├── [3,9K]  26-DAS0EFW1-[Audio: en + Chapters NoSub].log
    ├── [3,9K]  27-DAS0EFW1-[Audio: en + Chapters NoSub].log
    ├── [4,6K]  31-DAS0EFW1-[Audio: en + Chapters + Sub: fre].log
    ├── [4,6K]  32-DAS0EFW1-[Audio: en + Chapters + Sub: fre].log
    ├── [4,6K]  33-DAS0EFW1-[Audio: fre + Chapters + Sub: fre].log
    ├── [4,6K]  35-DAS0EFW1-[Audio: fre + Chapters + Sub: fre].log
    ├── [4,6K]  36-DAS0EFW1-[Audio: fre + Chapters + Sub: fre].log
    ├── [4,6K]  43-DAS0EFW1-[Audio: fre + Chapters + Sub: fre].log
    ├── [3,9K]  44-DAS0EFW1-[Audio: en + Chapters NoSub].log
    ├── [4,6K]  5-DAS0EFW1-[Audio: fre + Chapters + Sub: fre].log
    ├── [3,9K]  6-DAS0EFW1-[Audio: unknown + Chapters NoSub].log
    └── [4,6K]  8-DAS0EFW1-[Audio: unknown + Chapters + Sub: fre].log

 201M used in 1 directory, 44 files

 

Dernière modification par Anonyme (18-02-2020 13:02:04)

#568 20-02-2020 12:40:23

Anonyme
Invité

Re : Script: FFMPEG : Ripper et Encoder ses DVD pour archivage (SUBFR,etc)

Que donne le post 565 ? wink

#569 20-02-2020 12:42:49

smolski
quasi...modo
Lieu : AIN
Distrib. : backports (buster) 10
Noyau : Linux 4.19.0-8-amd64
(G)UI : gnome
Inscription : 21-10-2008

Re : Script: FFMPEG : Ripper et Encoder ses DVD pour archivage (SUBFR,etc)

effectivement avec l'installation ogmtools le script fonctionne. smile

saque eud dun (patois chtimi : fonce dedans)

Hors ligne

#570 20-02-2020 16:43:44

smolski
quasi...modo
Lieu : AIN
Distrib. : backports (buster) 10
Noyau : Linux 4.19.0-8-amd64
(G)UI : gnome
Inscription : 21-10-2008

Re : Script: FFMPEG : Ripper et Encoder ses DVD pour archivage (SUBFR,etc)

oups non, y'a un blème :

ligne 403: Hors : commande introuvable


saque eud dun (patois chtimi : fonce dedans)

Hors ligne

#571 20-02-2020 18:58:31

Anonyme
Invité

Re : Script: FFMPEG : Ripper et Encoder ses DVD pour archivage (SUBFR,etc)

Dans le script, il n'y a pas de ligne 403. Regardes ton copié/collé smile

#572 20-02-2020 19:09:36

smolski
quasi...modo
Lieu : AIN
Distrib. : backports (buster) 10
Noyau : Linux 4.19.0-8-amd64
(G)UI : gnome
Inscription : 21-10-2008

Re : Script: FFMPEG : Ripper et Encoder ses DVD pour archivage (SUBFR,etc)

Ah oui, il était écrit hors ligne. J'ai supprimé. smile

saque eud dun (patois chtimi : fonce dedans)

Hors ligne

#573 27-02-2020 11:03:49

smolski
quasi...modo
Lieu : AIN
Distrib. : backports (buster) 10
Noyau : Linux 4.19.0-8-amd64
(G)UI : gnome
Inscription : 21-10-2008

Re : Script: FFMPEG : Ripper et Encoder ses DVD pour archivage (SUBFR,etc)

Le script post#562 décale sensiblement en avant le son de l'image.
Je ne m'en suis pas aperçu de suite, désolé du retard pour avertir. smile

saque eud dun (patois chtimi : fonce dedans)

Hors ligne

#574 27-02-2020 12:53:42

Anonyme
Invité

Re : Script: FFMPEG : Ripper et Encoder ses DVD pour archivage (SUBFR,etc)

Pour ce qui est du décalage, il faut se méfier.

Le film est-il en français d'origine ?
Est-ce un dessin animé ?
etc etc ....

J'ai vérifié tout ça et j'y ai prêté une attention toute particulière.

C'est un dump direct sans démultiplexage donc moins de rique.
Pour mes tests, je me base par exemple sur une porte qui claque, un homme qui souffle sur une allumette pour l'éteindre etc etc etc ...

Pour ma part r.a.s  wink

Dernière modification par Anonyme (27-02-2020 12:54:33)

#575 27-02-2020 13:34:19

smolski
quasi...modo
Lieu : AIN
Distrib. : backports (buster) 10
Noyau : Linux 4.19.0-8-amd64
(G)UI : gnome
Inscription : 21-10-2008

Re : Script: FFMPEG : Ripper et Encoder ses DVD pour archivage (SUBFR,etc)

Le décalage est très sensible, c'est (entre autres) un film 16:9 en couleur qui m'a alerté, comme c'est une copie depuis un dvd, en le visionnant directement depuis le dvd actionné dans le poste lecteur graveur via HDMI vers le poste de télévision couleur, le décalage n'apparaît pas.

Le test est fait sur le film Dr No, le premier de la série des Bond... James Bond !

C'est ballot, hein ! big_smile

saque eud dun (patois chtimi : fonce dedans)

Hors ligne

Pied de page des forums