[mplayer/mplex] DVD -> mpeg (sans perte)

Hello !
J’encode régulièrement mes DVDs à l’aide de vobcopy (avec l’option -l) et ai donc une collection de films sous la forme d’un unique .vob par film, que je regarde ensuite avec mplayer.
Pour réduire la taille de ces .vob sans compresser ni la vidéo ni le son, j’aimerais pouvoir supprimer toutes les pistes audios et sous-titres autres que la VO et la VF du film.
Je pense que ça doit être réalisable à l’aide de mencoder, mais je ne maîtrise absolument pas ce logiciel…

J’ai cité mencoder car je suppose qu’on peut réaliser ce genre de manip’ avec, mais toute méthode en ligne de commande est la bienvenue !

Merci d’avance !

Je pense avoir trouvé un début de solution dans ce tuto : bunkus.org/dvdripping4linux/index.html

L’utilisation de mplayer avec l’option -dumpstream permet de générer un nouveau .vob en partant de l’original.

Je suppose qu’en y ajoutant les bonnes options on doit parvenir à sélectionner des pistes audio et sous-titres et à en exclure d’autres…
Pour le moment j’ai testé avec -alang (totalement non-fonctionnel) et -aid (semble sélectionner une piste pour la lecture, mais pas pour le “dumpfile”) sans succès, mais je continue mes recherches !

A y est, j’y suis presque !

J’extrais tout simplement la (ou les) piste audio qui m’intéresse avec la commande ‘mplayer -aid ### -dumpaudio -dumpfile film-langue.ac3 film.vob’, puis la vidéo avec ‘mplayer -dumpvideo -dumpfile film.mpg film.vob’.
Il me suffit ensuite de lire le film avec la commande ‘mplayer -audiofile film-langue.ac3 film.mpg’ pour l’avoir dans la langue de mon choix !

Reste un problème : lorsque je veux naviguer au clavier dans le film (avancer/reculer dans le temps), je navigue efficacement dans la vidéo mais le fichier son est relancé au début !

Bon, je parviens à partir de mon .vob d’origine a obtenir d’un côté la piste vidéo (en .mpg) et les pistes audios qui m’intéressent (en .ac3).
La seule étape qu’il me reste est de refusionner ces différentes pistes en un fichier (.vob par exemple, mais n’importe quel format non-compressé m’intéresse).

Si quelqu’un connaît une méthode pour y parvenir, je le remercie d’avance de partager son savoir !

Ah, une piste semble se profiler avec mplex : viewtopic.php?p=208936#p208936

Juste 2 petits problèmes :
Où trouver ce fameux mplex (‘apt-cache search mplex’ ne m’aide pas vraiment…) ?
Ce programme permet-il de réunir une vidéo et plusieurs pistes audio dans un seul fichier final ?

Salut

Pour mplex, regarde du côté du paquet mjpegtools disponible dans le dépôt debian-multimedia.

En effet, mplex est bien le programme que je cherchais !
Il me reste juste un dernier obstacle : mplex ne réussit pas à lire les pistes videos que j’extrais à l’aide de la commande ‘mplayer -dumpvideo -dumpfile video.mpg video.vob’…
De plus, un ‘file video.mpg’ me retourne ‘data’…

Par contre, un ‘mplayer video.mpg’ me lit cette piste vidéo sans protester !

Comment devrais-je procéder pour extraire les séquences vidéos de façon à pouvoir les réutiliser avec mplex ?

bonjour

voila les notes que je garde pour réaliser ce que tu veux faire. Cela peut t’aider.
J’utilise transcode.

[code]nom=“CORTO_MALTESE"
vob=”/home/jeanclaude/video/dvdrip/CORTO_MALTESE/vob/"

#pour ripper
tccat -i /dev/dvd -T 1,-1 -P 1 > VTS_01_1.VOB

#pour savoir ce qu’il faut couper pour enlever les bandes noires
-J detectclipping

pour juste encoder de 1mn à 1mn30

-c 0:01:0-0:01:30

Pour séparer le vob en test.m2v (video) et test.ac3 (audio) 2 fois plus forte (-s 2) et normlisée (pas terrible)

#transcode -i VTS_01_1.VOB --export_prof dvd --export_par 4 -y ffmpeg -o test -a 1 -s 2 -J normalize=smooth=0.1 -m test.ac3 -j 108,2,110,0

#pour créer les fichiers d’information
tcprobe -i /dev/cdrom
tcprobe -i /dev/cdrom 1> $nom.info 2>chap
cat chap | grep Chapter | sed ‘s/^.Chapter.] (.),.$/\1/’ > $nom.chap
rm -f chap
(ou lsdvd /ledossier/)

#pour créer la video
rm -f $nom.m2v
for i in ls $vob*.vob; do tcextract -i $i -t vob -x mpeg2 >> $nom.m2v; done
ou
tcextract -i video.vob -t vob -x mpeg2 > $nom.m2v

#test
transcode -i …/video/dvdrip/CORTO_MALTESE/vob/001/CORTO_MALTESE-001.vob -J normalize=smooth=0.1 -o test.0.1.vov -y raw

#pour créer l’audio
rm -f $nom.ac3
for i in ls $vob*.vob; do tcextract -i $i -a 0 -x ac3 -t vob >> $nom.ac3; done
ou
tcextract -i video.vob -a 0 -x ac3 -t vob >>$nom.ac3

#pour augmenter l’audio
transcode -i CORTO_MALTESE.ac3 -a 0 -x vob -s 3 -J normalize=smooth=0.1 -y null,raw -m $nom.new.ac3
transcode -i $vob/movie.vob -J normalize=smooth=0.1 -a 0 -x null,ac3 -n 0x2000 -y null,raw -m $nom.ac3

#pour réduire la video d’un facteur 1.4
tcrequant -i $nom.m2v -o $nom-reduit.m2v -f 1.4

#pour réunir audio et video
mplex -f 8 -o final.mpg $nom-reduit.m2v $nom.ac3

#pour dvdauthor
echo “<dvdauthor dest=“DVD”>



<audio lang=“fr” />
<video widescreen=“nopanscan” />” > $nom.xml
for i in cat $nom.chap; do echo “<vob file=“final.mpg” chapters=”$i"/> " >> $nom.xml; done
echo “

” >> $nom.xml
dvdauthor -x $nom.xml

#graver le dvd
growisofs -Z /dev/hdc -dvd-video DVD/

#couper
j=00:00:00.000
k=0
for i in cat $nom.chap | sed 1,1d; do
echo "entre $j et $i"
k=expr $k + 1
transcode -i final.mpg -o $nom-$k.mpg -y raw -c $j-$i
j=$i
done

mencoder -endpos 1:00:00 film.avi -o first_half.avi -oac copy -ovc copy mencoder
-ss 1:00:00 film.avi -o second_half.avi -oac copy -ovc copy[/code]

[quote=“limax”]#pour créer la video tcextract -i video.vob -t vob -x mpeg2 > $nom.m2v[/quote]
C’est cette commande là qui m’intéresse le plus !
Je ne comprends pas pourquoi ‘mplayer -dumpvideo -dumpfile $nom.m2v video.vob’ ne donne pas le même résultat…

Après relecture du man de mplayer, il semble en effet que -dumpvideo n’est pas très utilisable…
Pourtant les fichiers résultants sont parfaitement lisibles par mplayer !

Il semble par contre que ‘mplayer -dumpstream -dumpfile $nom.m2v video.vob’ donne le résultat souhaité…
Je teste ça et je vous fait part de mes résultats !


Raté, cette commande n’extrait pas la vidéo seule…

Les recherches continuent !

Ça y est, je tiens ma solution, qui ne requiert que mplayer et mplex !

$ mplayer -dumpvideo -dumpfile film.m2v dvd:// $ mplayer -aid ### -dumpaudio -dumpfile film-langue1.ac3 dvd:// $ mplayer -aid ### -dumpaudio -dumpfile film-langue2.ac3 dvd:// $ mplex -f 3 -o film.mpg film.m2v film-*.ac3

Merci à martin_mtl et limax pour s’être penchés sur mon problème !