VOB-Konvertierungsqualität in FFmpeg
Ich versuche, eine VOB-Datei wie folgt in MPEG zu konvertieren:
./ffmpeg.exe -i VTS_01_2.VOB -r 24 out1.mpeg
Die Qualität ist jedoch sehr schlecht.
Ich habe versucht, ./ffmpeg.exe -i VTS_01_2.VOB -vcodec copy out1.mpeg
Aber die Dateigröße ist zu groß (90% des Originals-300 MB für 4 Minuten Video), und Windows Movie Maker hängt beim Versuch, es zu importieren.
Wie kann ich eine anständige Qualität MPEG von meinem VOB bekommen?
3 answers
ffmpeg -i input.vob -c:v copy -c:a copy output.mpg
Mit diesem Befehl wird die Größe nicht verringert oder die Qualität nicht verändert. Dies entmutigt lediglich den VOB und packt ihn als MPEG neu. Sie sollten genau die gleiche Qualität haben. Die Größe ändert sich minimal, da der Overhead des VOB-Containers verloren geht.
Wenn Sie die Qualität beibehalten und die Größe reduzieren möchten, müssen Sie sie mit einem anderen Encoder wie x264 oder XviD in einen MKV-oder MP4-Container konvertieren, zum Beispiel:
ffmpeg -i input.vob -c:v libx264 -c:a aac -strict experimental output.mp4
Dadurch erhalten Sie H. 264-Video und AAC-Audio. Set -crf 23
für die videoqualität, wo weniger bedeutet bessere Qualität (sane Werte sind von 18-28). Die Audioqualität kann mit -b:a 192k
für feste Bitrate geändert werden, oder wenn Sie einen anderen Encoder wie -c:a libfaac
verwenden möchten, können Sie VBR mit -q:a 100
(100% Standardqualität) wählen.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2013-02-02 17:06:52
Ich habe kürzlich eine VOB-Codierung durchgeführt, nachdem ich ein paar unersetzliche DVDs gerippt habe. Verwenden des ffmpeg version 1.2.4
aus Homebrew unter OSX:
ffmpeg -probesize 2G -analyzeduration 2G \
-i VTS_04.VOB \
-map 0:0 -map 0:1 -map 0:2 -map 0:9 \
-metadata:s:a:0 language=eng -metadata:s:a:0 title="English Stereo" \
-metadata:s:a:1 language=jap -metadata:s:a:1 title="Japanese Stereo" \
-metadata:s:s:0 language=eng -metadata:s:s:0 title="English"
-c:v libx264 -filter:v yadif -crf 18 -level 3.1 -tune film \
-c:a copy \
-c:s copy \
OutputMovie.mkv
Ich musste -probesize
und -analyzeduration
da in der VOB-Datei mit 5,4 GB Streams später in der Datei gestartet wurden, die ohne diese Optionen nicht gefunden werden.
Als nächstes kann ich mit dem Parameter -map
auswählen, welche Streams an die Ausgabe übergeben werden sollen - der Videostream, die ersten beiden Audiostreams und der 9.Stream, bei denen es sich um Untertitel handelt. Verwende ffprobe
(mit -probesize
& -analyzeduration
um die Liste der Streams zu sehen).
Fügen Sie den Audio-und Untertitelströmen in der Ausgabe einige -metadata
hinzu.
Video-encoding-Optionen nach -c:v
Lesen Sie woanders.
Kopieren Sie schließlich die Audio-und Untertitelströme in die Ausgabedatei as-is. Die Ausgabe muss MKV
sein, um die Untertitel und alle Metadaten korrekt einzubetten.
Auf meinem Macbook Air 2011 dauerte diese Kodierung ungefähr 6 Stunden und spuckte eine perfekte 2.4 GB MKV-Datei aus.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2014-02-01 21:08:25
Die Syntax in der vorherigen Antwort funktioniert unter meinem Mac OS nicht. Dieser schien gut zu funktionieren, mit etwas anderen Optionen (-sameq
passend zum Eingabemantifizierer, -ss
für den Startzeitversatz und -t
für die Dauer):
ffmpeg -i VTS_01_1.VOB -sameq -strict experimental -ss 1612 -t 28 test.mpg
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2013-02-16 08:11:22