Konvertieren Sie entschlüsselte .vobs mit ffmpeg auf Ubuntu in .avi

Konvertieren Sie entschlüsselte .vobs mit ffmpeg auf Ubuntu in .avi

Ich habe eine .vob-Datei, die von einer DVD gerippt wurde. Wenn ich mir die .vob-Datei ansehe, ist die Videoqualität sehr gut und der englische 5.1-Ton ist zu hören. Wenn ich jedoch ffmpeg verwende, ist die Videoqualität schlecht und der französische Ton ist nur in Mono verfügbar.

Dazu wurde dieser Befehl verwendet:

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

Ich habe ein paar verschiedene Varianten ausprobiert, aber das Ergebnis war nie gut, sondern nur größere Dateien mit schlechter Videoqualität und falschem Ton.

Ich weiß, dass die Videos gut sind und die richtigen Audio-Streams vorhanden sind. Wie wähle ich also eine 5.1-Spur aus und erhalte ein gutes Video?

ffmpeg gibt die .vob-Details wie folgt aus:

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

Antwort1

Die Standardkodierungsoptionen sind niedrig, die Audiobitrate beträgt beispielsweise 64k. Sie können diese Werte mit zusätzlichen Befehlszeilenoptionen erhöhen:

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

-ab 128kbsetzt die durchschnittliche Audio-Bitrate auf 128 KB und -qscale 3legt die Videoquantisierungsskala fest, wobei q der Qualität 1 (beste) oder 31 (schlechteste) entspricht.

Zum Vergleich: für ein 5-minütiges Video mit einer Auflösung von 700 x 576 und 128 KB Audio:

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

Wenn Sie noch einen Schritt weiter gehen, können Sie mit diesem Bash-Befehl eine ganze Reihe von VOB-Dateien in einem Verzeichnis stapelweise konvertieren:

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

Wir setzen $f in Anführungszeichen, falls die Dateinamen Leerzeichen enthalten, und ${f%%.vob} entfernt die VOB-Erweiterung, bevor wir unsere eigene AVI-Erweiterung hinzufügen. (Dies ist eine Parametersubstitution in Bash, sehr nützlich!http://tldp.org/LDP/abs/html/parameter-substitution.html)

Es gibt noch viele weitere Optionen, die Sie hier nachlesen können:http://www.ffmpeg.org/ffmpeg-doc.html

verwandte Informationen