entschlüsselte .vobs in .avi umwandeln mit ffmpeg auf Ubuntu

2

Ich habe eine .vob-Datei, die von einer DVD gerissen wurde, wenn ich mir die .vob-Videos von sehr guter Qualität und 5.1-Englisch-Audio anschaue, aber wenn ich ffmpeg verwende, hat es Müll-Video und Mono-French-Audio.

Das verwendete diesen Befehl:

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

Ich habe ein paar verschiedene Varianten ausprobiert, aber es kommt nie etwas Gutes, nur größere Dateien mit schlechtem Video und falschem Ton.

Ich kenne die Videos gut und die richtigen Audioströme sind vorhanden. Wie wähle ich eine 5.1-Spur aus und bekomme gutes Video?

ffmpeg gibt die .vob-Details als an:

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
Arcath
quelle

Antworten:

2

Die Standard-Kodierungsoptionen sind niedrig, die Audio-Bitrate beträgt beispielsweise 64 KB. Sie können diese Werte mit zusätzlichen Befehlszeilenoptionen aufrüsten:

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

-ab 128kb Setzt die durchschnittliche Audio-Bitrate auf 128 kb und -qscale 3 Legt die Video-Quantisiererskala fest, wobei q 1 (beste) oder 31 (schlechteste) Qualität ist.

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

Mit diesem weiteren Schritt können Sie mit diesem bash-Befehl eine ganze Reihe von vobs in einem Verzeichnis stapelweise konvertieren:

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

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

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

invert
quelle