2 votes

convertir des .vobs décryptés en .avi avec ffmpeg sur ubuntu

J'ai un fichier .vob qui a été extrait d'un dvd, lorsque je regarde le .vob, la vidéo est de très bonne qualité et le son anglais 5.1, mais lorsque j'utilise ffmpeg, la vidéo est nulle et le son français mono.

C'était en utilisant cette commande :

ffmpeg -i /samba/ripping/vobs/12161840#2.vob -f avi /samba/ripping/avis/test.avi

J'ai essayé plusieurs variantes, mais je n'ai jamais obtenu de bons résultats, juste des fichiers plus gros avec une mauvaise vidéo et un son incorrect.

Je sais que les vidéos sont bonnes et que les flux audio corrects existent, alors comment sélectionner une piste 5.1 et obtenir une bonne vidéo ?

ffmpeg donne les détails du .vob comme :

Input #0, mpeg, from '/samba/ripping/vobs/12161840#2.vob':
   Duration: 00:42:05.56, start: 0.287267, bitrate: 5738 kb/s
    Stream #0.0[0x1e0]: Video: mpeg2video, yuv420p, 720x576 [PAR 64:45 DAR 16:9], 8436 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0.1[0x80]: Audio: ac3, 48000 Hz, 5.1, s16, 384 kb/s
    Stream #0.2[0x81]: Audio: ac3, 48000 Hz, 5.1, s16, 384 kb/s
    Stream #0.3[0x82]: Audio: ac3, 48000 Hz, mono, s16, 192 kb/s
Output #0, avi, to '/samba/ripping/avis/test.avi':
  Metadata:
    ISFT            : Lavf52.64.2
    Stream #0.0: Video: mpeg4, yuv420p, 720x576 [PAR 64:45 DAR 16:9], q=2-31, 200 kb/s, 25 tbn, 25 tbc
    Stream #0.1: Audio: mp2, 48000 Hz, mono, s16, 64 kb/s
Stream mapping:
   Stream #0.0 -> #0.0
   Stream #0.3 -> #0.1

2voto

Stefan Schweizer Points 151

Les options d'encodage par défaut sont faibles, le débit binaire audio est de 64k par exemple. Vous pouvez augmenter ces valeurs avec des options de ligne de commande supplémentaires :

ffmpeg -i sourcefile.vob -ab 128kb -qscale 4 newfile.avi

-ab 128kb fixe le débit binaire audio moyen à 128 kb, et -qscale 3 définit l'échelle du quantificateur vidéo, où q est égal à 1 (meilleure) ou 31 (pire) qualité.

A titre de comparaison, pour une vidéo de 5 minutes d'une résolution de 700x576 avec 128kb audio :

  • q 10 = ~40MB
  • q 4 = ~80MB

Pour aller plus loin, vous pouvez convertir par lots un grand nombre de vob's dans un répertoire avec cette commande bash :

for f in *.vob; do ffmpeg -i "$f" -ab 128kb -qscale 4 "${f%%.vob}.avi"; done;

Nous mettons $f entre guillemets au cas où il y aurait des espaces dans les noms de fichiers, et ${f%%.vob} supprime l'extension vob avant d'ajouter notre propre extension avi. (C'est la substitution de paramètres en bash, très utile ! http://tldp.org/LDP/abs/html/parameter-substitution.html )

Il existe de nombreuses autres options que vous pouvez consulter sur le site : http://www.ffmpeg.org/ffmpeg-doc.html

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X