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

#51 03-01-2020 10:43:24

Anonyme
Invité

Re : [Terminé] HANDBRAKECLI Script pour ripper un DVD-VIDEO.

Voilà mais je ne sais pas si c'est dans les règles de l'art smile


--pixel-aspect 16:9





HandBrakeCLI --no-dvdnav \
--input /dev/sr0 --title 01 \
--all-audio --audio-lang-list fr --all-subtitles --subtitle-lang-list fr \
-e x264 -b 8000 --pixel-aspect 16:9  \
--hqdn3d=y-spatial=1.5:cb-spatial=1.5:cr-spatial=1.5:y-temporal=4:cb-temporal=4:cr-temporal=4 --unsharp=y-strength=0.5:y-size=5:cb-strength=0.5:cb-size=5 \
--crop 0:0:0:0 \
--aencoder copy \
--output "OUTPUT.mkv"



En tout cas ça fonctionne wink

Dernière modification par Anonyme (03-01-2020 10:43:54)

#52 03-01-2020 11:47:53

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

Re : [Terminé] HANDBRAKECLI Script pour ripper un DVD-VIDEO.

j'y teste l'artiste smile

saque eud dun (patois chtimi : fonce dedans)

Hors ligne

#53 03-01-2020 12:06:37

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

Re : [Terminé] HANDBRAKECLI Script pour ripper un DVD-VIDEO.

OK J'ai du 16:9. Merci smile

saque eud dun (patois chtimi : fonce dedans)

Hors ligne

#54 03-01-2020 13:15:45

Anonyme
Invité

Re : [Terminé] HANDBRAKECLI Script pour ripper un DVD-VIDEO.

Je voudrais ton avis, tes remarques sur ces deux images :


Screenshot_-_130955.png



   + Output geometry

Image de gauche:    
Avec --crop 0:0:0:0 donc (Désativé)  Image Originale  
     
     + storage dimensions: 720 x 576
     + pixel aspect ratio: 64 : 45
     + display dimensions: 1024 x 576

Image de droite:    
Suppression de  --crop 0:0:0:0 donc (Activé)  Image Rognée  
     + storage dimensions: 684 x 576
     + pixel aspect ratio: 64 : 45
     + display dimensions: 972 x 576
 

Dernière modification par Anonyme (03-01-2020 13:20:06)

#55 03-01-2020 14:23:40

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

Re : [Terminé] HANDBRAKECLI Script pour ripper un DVD-VIDEO.

Peut-être un petit peu plus d'éclat, de finesse dans celle de gauche, mais c'est difficile sur un écran partiel. smile

Dernière modification par smolski (03-01-2020 14:24:07)


saque eud dun (patois chtimi : fonce dedans)

Hors ligne

#56 03-01-2020 17:28:03

Anonyme
Invité

Re : [Terminé] HANDBRAKECLI Script pour ripper un DVD-VIDEO.

Impeccable, donc tu ne remarque rien au niveau déformation ou portion manquante sur l'image de droite quand handbrake crop en auto les quatres bandes noires sur l'image de gauche 4:3

smile

Dernière modification par Anonyme (03-01-2020 17:29:03)

#57 03-01-2020 17:38: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 : [Terminé] HANDBRAKECLI Script pour ripper un DVD-VIDEO.

Alors, lorsque je copie sur le graveur, le format est 4:3, j'ai donc ajouté --pixel-aspect 16:9 pour obtenir le bon format au tuto #2.
Ça fonctionne. smile

saque eud dun (patois chtimi : fonce dedans)

Hors ligne

#58 04-01-2020 11:26:19

Anonyme
Invité

Re : [Terminé] HANDBRAKECLI Script pour ripper un DVD-VIDEO.

smolski a écrit :


Je souhaiterai aussi nommer moi-même les répertoires d'accueil, si c'est possible, sinon j'y ferai après la convertion du dvd.




Un truc comme ça :


Nom du DVD: ALEXANDER_DVD1_VENTE
Garder ce nom ? [Y/n] n
No
Entrer un nouveau nom: ALEXANDRE
 



smile


EDIT: Ce sera cette partie à insérer dans ton scrip. Je teste chez moi et ça fonctionne bien.
      J'avais peur sur choix de nom avec espace, mais non ça passe bien.



echo "Nom du DVD: $TITLE"
read -r -p "Garder ce nom ? [Y/n] " input
 
case $input in
    [yY][eE][sS]|[yY])
 echo "Yes"
 FOLDER=$DIR/ARCHIVAGE_DVD/"$TITLE"
 mkdir -p "$FOLDER"
 ;;
    [nN][oO]|[nN])
 echo "No"
 read -p "Entrer un nouveau nom: " TITLE
 FOLDER=$DIR/ARCHIVAGE_DVD/"$TITLE"
 mkdir -p "$FOLDER"
       ;;
    *)
 echo "Invalid input..."
 echo "Quit"
 exit 1
 ;;
esac
 

Dernière modification par Anonyme (04-01-2020 11:38:09)

#59 04-01-2020 18:23: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 : [Terminé] HANDBRAKECLI Script pour ripper un DVD-VIDEO.

Oui, un truc du genre, je vais tester.
j'ai trouvé les réglages idoïnes avec le crop pour le 16:9.
Je vais bricoler pour les 4:3, mais ça devrait le faire plus facilement, moins d'essais pour caler l'affaire sur un autre script qui lui sera réservé.
Je ferai le tuto en conséquence sur le wiki, après les essais.
Merci encore pour tout l'boulot ! smile

saque eud dun (patois chtimi : fonce dedans)

Hors ligne

#60 04-01-2020 18:26:11

Anonyme
Invité

Re : [Terminé] HANDBRAKECLI Script pour ripper un DVD-VIDEO.

Smolski, post moi ton script que je mette l'option du nommage. wink

#61 04-01-2020 19:05:07

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

Re : [Terminé] HANDBRAKECLI Script pour ripper un DVD-VIDEO.

Voilà le script en cours actuellement.
Il faut dire que je le termine avec une commande ffmpeg pour le mettre en 16:9 proprement.
La commande :

ffmpeg -i video1.mp4 -aspect 16:9 -c copy video1b.mp4


Le script qui la précède :

#!/bin/bash

## Anonyme
## sudo pacman -S handbrake mplayer lsdvd xdg-user-dirs


##                               x264
##                               x264_10bit
##                               nvenc_h264
##                               x265
##                               x265_10bit
##                               x265_12bit
##                               nvenc_h265
##                               mpeg4
##                               mpeg2
##                               VP8
##                               VP9
##                               theora


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 du 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 fi
fi
echo "Proceed..."

UUID=$(blkid /dev/sr* | grep "UUID=" | awk '{print$2}')
# DIR=$(xdg-user-dir DESKTOP)
# DIR=$(~/mnt/ssd/film/1-reserve/telecharge)
FOLDER="$DIR/mnt/ssd/film/1-reserve/telecharge/ARCHIVAGE_DVD/$TITLE-$UUID"

if [[ ! -d "$FOLDER" ]]; then
    echo "$FOLDER n'existe pas !"
    echo "Création Du Dossier $FOLDER"
    mkdir -p "$FOLDER"
fi

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


## Titres d'une durée de plus de .... secondes [ ici, 2 seconde]
               
    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=2400
    [[ "$LENGTH" -le "$LIMIT" ]] && continue




## COMPARAISON ENTRE DVDNAV (INFO RÉEL) & LSDVD (INFO) SUR LA RÉALITÉ EXISTANTE DES STREAMS AUDIOS.
LAVF_STREAM_DVDNAV=$(mplayer -vo null -ao null -frames 0 -identify -dvd-device "$DEVICE" dvdnav://"$i"  2>/dev/null | awk '/-aid/ { print $7 }')
COUNT_LAVF_STREAM_DVDNAV=$(echo "$LAVF_STREAM_DVDNAV" |wc -w)
COUNT_AUDIO_LSDVD=$(lsdvd -a "$DEVICE" -t "$i"  2>/dev/null | grep -c "Audio:" )


## POUR N'AVOIR QUE LE FRANÇAIS.
AUDIO_FRENCH=$(lsdvd -a "$DEVICE" -t "$i" 2> /dev/null | grep "Language: fr" | awk '{print$4}' )
COUNT_AUDIO_FRENCH=$(lsdvd -a "$DEVICE" -t "$i" 2> /dev/null |grep -c 'Language: fr')  
AUDIO_LANG_LIST_FRENCH=$(echo $AUDIO_FRENCH | sed 's/[[:blank:]]/,/g')

## BITRATE ORIGINAL.
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')

## [ OPTION 1 ALL ]
## ICI, ON ÉVITERA UN MKV SANS AUDIO. STREAM(S) SIGNALÉ(S) FR MAIS D'UNE DURÉE NUL PAR RAPPORT AU(X) AUTRE(S) SUPPRIMÉES EN [ OPTION 2 ]
## EX : PLUTO T15 (fr null ===> eng seul valide) = OK  
if [[ "$COUNT_LAVF_STREAM_DVDNAV" != "$COUNT_AUDIO_LSDVD" ]]; then

 HandBrakeCLI --no-dvdnav \
--input $DEVICE --title $i \
--all-audio --all-subtitles --subtitle-lang-list fr \
-e x264 -b $BITRATE \
--crop 0:0:0:0 \
--aencoder copy \
--output "$FOLDER/$i - $TITLE-[ OPTION 1 ALL ].mp4"



   fi



## [ OPTION 2 ]
## QUE FRANÇAIS SI PRÉSENT OU AUTRES SI PAS LE CHOIX.
## SOUSTITRES FRANÇAIS DANS LES DEUX CAS.
## SANS AUDIO = OK
## ANY (UNKNOWN AUDIO) = OK
## LPCM ==> AAC = OK
if [[ "$COUNT_LAVF_STREAM_DVDNAV" == "$COUNT_AUDIO_LSDVD" ]]; then

 HandBrakeCLI --no-dvdnav \
--input $DEVICE --title $i \
--all-audio --audio-lang-list "$AUDIO_LANG_LIST_FRENCH" --all-subtitles --subtitle-lang-list fr \
-e x264 -b $BITRATE \
--crop 0:0:0:0 \
--aencoder copy \
--output "$FOLDER/$i - $TITLE-[ OPTION 2 ].mkv"



  fi
 

## SAUVEGARDER UN LPCM EN WAVE D'UN DVD DE CONCERT LIVE.
#AIDS_LPCM=$(lsdvd -a "$DEVICE" -t "$i" 2>/dev/null | awk '/lpcm|id:/ { print $22 }')  
#COUNT_AUDIO_LPCM=$(lsdvd -a "$DEVICE" -t "$i" 2>/dev/null | grep -c "lpcm" )  
#
#if [[ "$COUNT_AUDIO_LPCM" -ge "1" ]]; then
#
#mkdir -p "$FOLDER/WAVE"
#
#for n in $AIDS_LPCM; do
#        mplayer -noconfig all -nocache -benchmark -vc null -vo null \
#                 -ao pcm:fast:file="$FOLDER/WAVE/[$i-($n)]-$TITLE.wav" \
#                 -identify -dvd-device "$DEVICE" dvdnav://$i -ni -aid $n
#done  
#                                      
#
#
#  fi


done


Ensuite, j'utilise kdenlive (qui ne reconnait pas les mkv, donc je programme en mp4) pour effacer les pubs et mettre au propre les débuts, je ratisse un peu plus large lorsque je programme des copies replays des films. wink

Dernière modification par smolski (04-01-2020 20:00:39)


saque eud dun (patois chtimi : fonce dedans)

Hors ligne

#62 04-01-2020 19:13:29

Anonyme
Invité

Re : [Terminé] HANDBRAKECLI Script pour ripper un DVD-VIDEO.

Une coquille dans ton script ligne  70

   exit 0fi



c'est :
   

exit 0

#63 04-01-2020 19:23:32

Anonyme
Invité

Re : [Terminé] HANDBRAKECLI Script pour ripper un DVD-VIDEO.

Script pour smolski



#!/bin/bash

## Anonyme
## sudo pacman -S handbrake mplayer lsdvd xdg-user-dirs


##                               x264
##                               x264_10bit
##                               nvenc_h264
##                               x265
##                               x265_10bit
##                               x265_12bit
##                               nvenc_h265
##                               mpeg4
##                               mpeg2
##                               VP8
##                               VP9
##                               theora


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 du 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..."

#UUID=$(blkid /dev/sr* | grep "UUID=" | awk '{print$2}')
# DIR=$(xdg-user-dir DESKTOP)
# DIR=$(~/mnt/ssd/film/1-reserve/telecharge)
#FOLDER="$DIR/mnt/ssd/film/1-reserve/telecharge/ARCHIVAGE_DVD/$TITLE-$UUID"



echo "DVD-Vidéo : $TITLE"
read -r -p "Ce nom convient-il ? [Y/n] " input
 
case $input in
    [yY][eE][sS]|[yY])
 echo "Yes"
 FOLDER="$DIR/mnt/ssd/film/1-reserve/telecharge/ARCHIVAGE_DVD/$TITLE"
 mkdir -p "$FOLDER"
 ;;
    [nN][oO]|[nN])
 echo "No"
 read -p "Entrer un nouveau nom: " TITLE
 FOLDER="$DIR/mnt/ssd/film/1-reserve/telecharge/ARCHIVAGE_DVD/$TITLE"
 mkdir -p "$FOLDER"
       ;;
    *)
 echo "Invalid input..."
 echo "Quit"
 exit 1
 ;;
esac



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


## Titres d'une durée de plus de .... secondes [ ici, 2 seconde]
               
    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=2400
    [[ "$LENGTH" -le "$LIMIT" ]] && continue




## COMPARAISON ENTRE DVDNAV (INFO RÉEL) & LSDVD (INFO) SUR LA RÉALITÉ EXISTANTE DES STREAMS AUDIOS.
LAVF_STREAM_DVDNAV=$(mplayer -vo null -ao null -frames 0 -identify -dvd-device "$DEVICE" dvdnav://"$i"  2>/dev/null | awk '/-aid/ { print $7 }')
COUNT_LAVF_STREAM_DVDNAV=$(echo "$LAVF_STREAM_DVDNAV" |wc -w)
COUNT_AUDIO_LSDVD=$(lsdvd -a "$DEVICE" -t "$i"  2>/dev/null | grep -c "Audio:" )


## POUR N'AVOIR QUE LE FRANÇAIS.
AUDIO_FRENCH=$(lsdvd -a "$DEVICE" -t "$i" 2> /dev/null | grep "Language: fr" | awk '{print$4}' )
COUNT_AUDIO_FRENCH=$(lsdvd -a "$DEVICE" -t "$i" 2> /dev/null |grep -c 'Language: fr')  
AUDIO_LANG_LIST_FRENCH=$(echo $AUDIO_FRENCH | sed 's/[[:blank:]]/,/g')

## BITRATE ORIGINAL.
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')

## [ OPTION 1 ALL ]
## ICI, ON ÉVITERA UN MKV SANS AUDIO. STREAM(S) SIGNALÉ(S) FR MAIS D'UNE DURÉE NUL PAR RAPPORT AU(X) AUTRE(S) SUPPRIMÉES EN [ OPTION 2 ]
## EX : PLUTO T15 (fr null ===> eng seul valide) = OK  
if [[ "$COUNT_LAVF_STREAM_DVDNAV" != "$COUNT_AUDIO_LSDVD" ]]; then

 HandBrakeCLI --no-dvdnav \
--input $DEVICE --title $i \
--all-audio --all-subtitles --subtitle-lang-list fr \
-e x264 -b $BITRATE \
--crop 0:0:0:0 \
--aencoder copy \
--output "$FOLDER/$i - $TITLE-[ OPTION 1 ALL ].mp4"



   fi



## [ OPTION 2 ]
## QUE FRANÇAIS SI PRÉSENT OU AUTRES SI PAS LE CHOIX.
## SOUSTITRES FRANÇAIS DANS LES DEUX CAS.
## SANS AUDIO = OK
## ANY (UNKNOWN AUDIO) = OK
## LPCM ==> AAC = OK
if [[ "$COUNT_LAVF_STREAM_DVDNAV" == "$COUNT_AUDIO_LSDVD" ]]; then

 HandBrakeCLI --no-dvdnav \
--input $DEVICE --title $i \
--all-audio --audio-lang-list "$AUDIO_LANG_LIST_FRENCH" --all-subtitles --subtitle-lang-list fr \
-e x264 -b $BITRATE \
--crop 0:0:0:0 \
--aencoder copy \
--output "$FOLDER/$i - $TITLE-[ OPTION 2 ].mkv"



  fi
 

## SAUVEGARDER UN LPCM EN WAVE D'UN DVD DE CONCERT LIVE.
#AIDS_LPCM=$(lsdvd -a "$DEVICE" -t "$i" 2>/dev/null | awk '/lpcm|id:/ { print $22 }')  
#COUNT_AUDIO_LPCM=$(lsdvd -a "$DEVICE" -t "$i" 2>/dev/null | grep -c "lpcm" )  
#
#if [[ "$COUNT_AUDIO_LPCM" -ge "1" ]]; then
#
#mkdir -p "$FOLDER/WAVE"
#
#for n in $AIDS_LPCM; do
#        mplayer -noconfig all -nocache -benchmark -vc null -vo null \
#                 -ao pcm:fast:file="$FOLDER/WAVE/[$i-($n)]-$TITLE.wav" \
#                 -identify -dvd-device "$DEVICE" dvdnav://$i -ni -aid $n
#done  
#                                      
#
#
#  fi


done
 

#64 04-01-2020 19:56:33

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

Re : [Terminé] HANDBRAKECLI Script pour ripper un DVD-VIDEO.

Ok, je suis en cours de copie, je teste ce soir ou demain...
yes.gif

saque eud dun (patois chtimi : fonce dedans)

Hors ligne

#65 04-01-2020 20:01:02

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

Re : [Terminé] HANDBRAKECLI Script pour ripper un DVD-VIDEO.

Coquille corrigée sur le forum. wink

saque eud dun (patois chtimi : fonce dedans)

Hors ligne

#66 05-01-2020 09:43:36

Anonyme
Invité

Re : [Terminé] HANDBRAKECLI Script pour ripper un DVD-VIDEO.

Sur le titre 15 pour mon exemple si je lance la commande :


HandBrakeCLI --no-dvdnav \
--input /dev/sr0 --title 15 \
--all-audio --all-subtitles --subtitle-lang-list fr \
-e nvenc_h265 -b 8000 --loose-anamorphic --modulus 2 \
--hqdn3d=y-spatial=1.5:cb-spatial=1.5:cr-spatial=1.5:y-temporal=4:cb-temporal=4:cr-temporal=4 --unsharp=y-strength=0.5:y-size=5:cb-strength=0.5:cb-size=5 \
--crop 0:0:0:0 \
--aencoder copy \
--output "15.mkv"
 




on voit au niveau des streams audios, sur le fichier de sortie 15.mkv, qu'il y a 4 streams :


ffmpeg -i "15.mkv"






Stream #0:1(eng): Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s (default)
Stream #0:2(fre): Audio: ac3, 48000 Hz, stereo, fltp
Stream #0:3(ita): Audio: ac3, 48000 Hz, stereo, fltp
Stream #0:4(eng): Audio: ac3, 48000 Hz, stereo, fltp

Guessed Channel Layout for Input Stream #0.2 : stereo
Guessed Channel Layout for Input Stream #0.3 : stereo
Guessed Channel Layout for Input Stream #0.4 : stereo
 



Mais voilà si je visionne cette vidéo 15.mkv, je m'apperçois que seule la première en anglais est audible. Dans les infos ci-dessus (192 kb/s), c'est visible et que pour les autres rien au niveau débit. On a juste pour celles-ci un message "Guessed Channel Layout for Input Stream". Le truc, c'est que sur MPV, j'ai le choix de changer l'audio sur une de ces 4 langues, qui sont bien tagguées par ailleurs. Et comme je suis "maniaque", ça ne me plait pas.
J'ai cherché un moyen de sortir ou de modifier ce fichier 15.mkv pour n'avoir que la ou les bandes audios valides.


J'ai commencé par extraire du fichier 15.mkv les 4 streams audios. Je me retrouve donc avec mes 4 fichiers audio

0.ac3  1.ac3  2.ac3  3.ac3



je m'apperçois que :
"0.ac3" fait 9,9 Mo
et que
"1.ac3  2.ac3  3.ac3" ne font que 16,1 ko chacun

Il fallait donc trouver une combine sans toucher la commande HandBrakeCLI et surtout garder le ou les tags des streams valides.

je suis parti de cette commande pour trouver une combine :
https://blog.programster.org/strip-audi … mkvtoolnix



mkvmerge \
-o output.mkv \
--atracks 1,2 \
myvideo.mkv
 



un mkvmerge -i 15.mkv me donne les infos suivantes :


Identifiant de piste 0 : video (MPEG-H/HEVC/H.265)
Identifiant de piste 1 : audio (AC-3)
Identifiant de piste 2 : audio (AC-3)
Identifiant de piste 3 : audio (AC-3)
Identifiant de piste 4 : audio (AC-3)
Identifiant de piste 5 : subtitles (VobSub)
Identifiant de piste 6 : subtitles (VobSub)
Chapitres : 1 entrée
Balises globales : 1 entrée
Balises pour la piste d'identifiant 0 : 1 entrée
Balises pour la piste d'identifiant 1 : 1 entrée
Balises pour la piste d'identifiant 2 : 1 entrée
Balises pour la piste d'identifiant 3 : 1 entrée
Balises pour la piste d'identifiant 4 : 1 entrée
Balises pour la piste d'identifiant 5 : 1 entrée
Balises pour la piste d'identifiant 6 : 1 entrée
 



on voit que la numérotation des streams audios débutent par le numéro 1 (0 est toujours pour la vidéo)
Mais voilà, mais fichiers audio que j'ai extrais commence par "0.ac3  1.ac3  2.ac3  3.ac3"
il a fallu que je trouve une combine pour arriver par divers bidouillage à arriver à ça :

Changer :
"0.ac3  1.ac3  2.ac3  3.ac3"

pour ça :
"1,2,3,4"

Donct pour mon fichier 15.mkv qui lui a sur les 4 audios, 3 foireuses

un find -name "*.ac3" -size -1000k -delete, plus ma bidouille


mkvmerge \
-o output.mkv \
--atracks 1 \
myvideo.mkv
 



Règle le problème dans le script.

Dernière modification par Anonyme (05-01-2020 09:48:50)

#67 05-01-2020 17:15:32

Anonyme
Invité

Re : [Terminé] HANDBRAKECLI Script pour ripper un DVD-VIDEO.

Ma bidouille, j'ose même pas la poster lol

mais elle fonctionne et mes fichiers finaux sont nettoyer des ces streams sans audios.

#68 06-01-2020 12:50:32

Anonyme
Invité

Re : [Terminé] HANDBRAKECLI Script pour ripper un DVD-VIDEO.

Je peux dire que le script est terminé et me donne le résultat voulu. Je le met en forme et ce sera bon.


├── [726M]  1-ABBA In Concert-[Language: eng,eng,eng].mkv
├── [ 68M]  2-ABBA In Concert-[Language: any].mkv
├── [275M]  3-ABBA In Concert-[Language: eng,eng,eng].mkv
├── [269M]  4-ABBA In Concert-[Language: eng,eng,eng].mkv
├── [224M]  5-ABBA In Concert-[Language: eng,eng,eng].mkv
├── [941M]  6-ABBA In Concert-[Language: swe].mkv
├── [689M]  7-ABBA In Concert-[Language: swe].mkv
├── [274M]  8-ABBA In Concert-[Language: any].mkv
└── [ 74M]  9-ABBA In Concert-[Language: any].mkv
 





├── [212M]  12-Les 101 Dalmatiens-[Language: fre].mkv
├── [199M]  13-Les 101 Dalmatiens-[Language: fre].mkv
├── [198M]  14-Les 101 Dalmatiens-[Language: fre].mkv
├── [682M]  1-Les 101 Dalmatiens-[Language: fre,fre].mkv
├── [212M]  25-Les 101 Dalmatiens-[Language: fre].mkv
├── [245M]  29-Les 101 Dalmatiens-[Language: eng].mkv
├── [245M]  30-Les 101 Dalmatiens-[Language: eng].mkv
├── [ 61M]  31-Les 101 Dalmatiens-[Language: eng].mkv
├── [ 61M]  32-Les 101 Dalmatiens-[Language: eng].mkv
├── [160M]  33-Les 101 Dalmatiens-[Language: fre].mkv
├── [ 74M]  35-Les 101 Dalmatiens-[Language: fre].mkv
├── [160M]  36-Les 101 Dalmatiens-[Language: fre].mkv
├── [ 74M]  43-Les 101 Dalmatiens-[Language: fre].mkv
├── [7,8M]  44-Les 101 Dalmatiens-[Language: eng].mkv
├── [ 48M]  5-Les 101 Dalmatiens-[Language: fre].mkv
├── [ 16M]  6-Les 101 Dalmatiens-[Language: any].mkv
└── [ 17M]  8-Les 101 Dalmatiens-[Language: any].mkv

 



Tous les titres d'une durée infèrieure à 10 secondes ne seront pas traités.
Les fichiers de sortie sont tous bien nommés.
Il vire bien tout ce qui ne va pas sur les bandes audios. (Si problème il y a) par un dumpaudio et l'utilisation de mkvmerge ----atracks (ex 2,4 )
Il se focalisera sur le Français et si il n'y en a pas, il sortira le fichier en VO + Soutitres en Français.
Il garde le ou les soustitres français sur l'audio français aussi.
Je garde le bitrate d'origine.
Je ne découpe pas la vidéo.
Je garde le ration d'origine.
On peut accepter le nom du DVD, ou le modifier. (une idée de smolski)
FOLDER est imposé mais on peut facilement changer la direction pour la sortie.

Voilà les grands points.

Par contre, je ne me suis pas penché sur les Vobsubs foireux, un peu comme les streams audios déclarés mais existants.

Dernière modification par Anonyme (06-01-2020 13:04:27)

#69 07-01-2020 09:57:34

Anonyme
Invité

Re : [Terminé] HANDBRAKECLI Script pour ripper un DVD-VIDEO.

smolski a écrit :

Ok, je suis en cours de copie, je teste ce soir ou demain...
https://debian-facile.org/img/smilies/xtras/yes.gif



Bonjour

ça fonctionne ? tongue

#70 07-01-2020 10:07:08

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

Re : [Terminé] HANDBRAKECLI Script pour ripper un DVD-VIDEO.

Salut Anonyme,

Là, je suis parti sur la récupération des films gravés, je ne teste pas, j'applique le script tel qu'il a été.
J'aimerai que tu me postes ici le dernier script complet, et je le teste dans la journée.

Je suis spassé au  mp4, cependant une sortie VOB m'interaisserai aussi, notamment pour le passage à la moulinette de kdenlive directement en VOB.
En effet, en MP4, le fichier est drastiquement dégrossi, de 4 GO à 600MO.

Si tu as le temps, tu le fais ici, je suis les nouvelles du forum assez régulièrement et le testerai dans la journée. cool

Dernière modification par smolski (07-01-2020 10:07:45)


saque eud dun (patois chtimi : fonce dedans)

Hors ligne

#71 07-01-2020 10:25:17

Anonyme
Invité

Re : [Terminé] HANDBRAKECLI Script pour ripper un DVD-VIDEO.

OK,

moi je suis sur un bug. C'est au niveau des DVD qui ont parfois une bande audio mp2 "mpeg". Il y en a pas beaucoup mais voilà...
Le script quand il tombe dessus me met une jolie erreur en rouge " mp2 header missing".
Il encode sans bronché, c'est donc pas grave.
J'ai donc voulu vérifié avec le programme Handbrake "GUI" et son onglet Activity -- Show activity window. L'info error est signalé aussi. Donc c'est une régression du programme et mon script n'est pas à mettre en cause.

Pour ce qui est de ton post 70 :

4 GO à 600MO  ... ça, j'aime pas "destruction"
VOB  "mpeg2"  faudrait tout refaire hmm

Dernière modification par Anonyme (08-01-2020 15:08:11)

#72 07-01-2020 11:16: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 : [Terminé] HANDBRAKECLI Script pour ripper un DVD-VIDEO.

Ah ok.
Merci Anonyme, je vas continuer comme c'est smile

saque eud dun (patois chtimi : fonce dedans)

Hors ligne

#73 08-01-2020 15:10:15

Anonyme
Invité

Re : [Terminé] HANDBRAKECLI Script pour ripper un DVD-VIDEO.

Repasser les mkv ou mp4 en vobs nous ferait perdre les infos des audios et des sous-titres.

#74 08-01-2020 15:37:34

Anonyme
Invité

Re : [Terminé] HANDBRAKECLI Script pour ripper un DVD-VIDEO.

Volià la partie correction des audios à 0 ko sans avoir à dumper tous les streams et de supprimer les mauvais.


#### AJOUT CORRECTION STREAMS AUDIOS INVALIDES
DETECT_VALID_AUDIO=$(ffprobe "$FOLDER/$i-$TITLE-[OPTION 1 ALL].mkv" 2>&1 | \
          awk '/Audio:/ && /Stream/ && /ac3,/ && /kb\/s/ { print $2 }' | cut -c4-4)        
VALID_AUDIO_PREPARE=$(echo $DETECT_VALID_AUDIO | sed -e 's/\ /\,/g' >> "$FOLDER/choix.txt")

VALID_AUDIO=$(head -n 1 "$FOLDER/choix.txt" | tail -n 1)

 
       mkvmerge -o "$FOLDER/$i-$TITLE-[OPTION 1 RETOUCHE].mkv" --atracks $VALID_AUDIO "$FOLDER/$i-$TITLE-[OPTION 1 ALL].mkv"

rm -f "$FOLDER/$i-$TITLE-[OPTION 1 ALL].mkv"
rm -f $FOLDER/choix.txt
 

Dernière modification par Anonyme (09-01-2020 09:29:30)

#75 09-01-2020 09:55:14

Anonyme
Invité

Re : [Terminé] HANDBRAKECLI Script pour ripper un DVD-VIDEO.

@smolski

Encore une petite retouche et je post le script dans l'état.
Tu remettras la sortie à ta sauce et h264 au lieu de nvenc_h265  wink

Dernière modification par Anonyme (09-01-2020 09:56:10)

Pied de page des forums