===== Convertir un DVD en mkv =====
- Tout d'abord il s'assurer de n'avoir qu'un seul vob :$ cat *.VOB > input.vob
- Ensuite on regarde les flux disponibles, pour cela les options //"-analyzeduration 100M -probesize 100M"// sont nécessaires pour que ffmpeg aperçoivent tous les flux, sous-titres compris : $ ffmpeg -analyzeduration 100M -probesize 100M -i input.vob
Input #0, mpeg, from 'output.vob':
Duration: 01:50:40.99, start: 0.287267, bitrate: 7581 kb/s
Stream #0:0[0x1bf]: Data: dvd_nav_packet
Stream #0:1[0x1e0]: Video: mpeg2video (Main), yuv420p(tv, top first), 720x576 [SAR 64:45 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc
Stream #0:2[0x80]: Audio: ac3, 48000 Hz, 5.1(side), fltp, 384 kb/s
Stream #0:3[0x89]: Audio: dts (DTS), 48000 Hz, 5.1(side), fltp, 768 kb/s
Stream #0:4[0x82]: Audio: ac3, 48000 Hz, 5.1(side), fltp, 384 kb/s
Stream #0:5[0x21]: Subtitle: dvd_subtitle
Stream #0:6[0x20]: Subtitle: dvd_subtitle
- On peut maintenant lancer la conversion :$ ffmpeg \
-analyzeduration 100M -probesize 100M \
-i input.vob \
-map 0:1 -map 0:3 -map 0:4 -map 0:5 -map 0:6 \
-metadata:s:a:0 language=ita -metadata:s:a:0 title="Italian stereo" \
-metadata:s:a:1 language=eng -metadata:s:a:1 title="English stereo" \
-metadata:s:s:0 language=ita -metadata:s:s:0 title="Italian" \
-metadata:s:s:1 language=eng -metadata:s:s:1 title="English" \
-codec:v libx264 -crf 21 \
-codec:a libmp3lame -qscale:a 2 \
-codec:s copy \
output.mkv
Explication :
-map 0:1 -map 0:3 -map 0:4 -map 0:5 -map 0:6
signifie qu'on conserve ces flux.
-metadata
permet d'ajouter des indications sur les flux en question. //"s:a:0"// est le 1er flux audio, //"s:s:0"// est le 1er flux de sous-titres.
-codec:v libx264 -crf 21
concerne la conversion du flux vidéo.
-codec:a libmp3lame -qscale:a 2
concerne la conversion du flux audio.
-codec:s copy
permet de copier sans conversion les flux des sous-titres.
J'ai rédigé cette page en m'appuyant presque intégralement sur celle de [[https://www.internalpointers.com/post/convert-vob-files-mkv-ffmpeg|**internal / pointers]]