Kopieren von Streams
Wenn Sie anrufen -c:v:1 copy
, nimmt FFmpeg den vorhandenen Video-Bitstream und kopiert diesen Stream . Der Video-Bitstream ist nur im externen Container eingeschlossen, z. B. WMV, AVI oder MP4 - Ihr eigentlicher Video-Bitstream ist msmpeg4
und bleibt so.
Wenn Sie mehr darüber erfahren möchten, worüber ich spreche, lesen Sie hier: Was ist ein Codec (z. B. DivX?) Und wie unterscheidet er sich von einem Dateiformat (z. B. MPG)?
Beim Kopieren des Bitstroms muss FFmpeg das eigentliche Video nicht wirklich decodieren und erneut codieren. Es muss lediglich der Video-Bitstrom in ein neues Containerformat zusammengeführt werden. Dies ist häufig eine recht einfache Operation und dauert daher nicht lange.
Codierung
Im Gegensatz dazu wird FFmpeg beim Aufruf -vcodec libx264
(oder -c:v libx264
der Syntax, die Sie verwenden sollten, weil vcodec
es veraltet ist) gezwungen, den Video-Bitstream msmpeg4
in ein Rohformat zu decodieren und dann in x264
einen H.264-Encoder zu leiten.
x264 ist zwar schnell, aber das Kodieren von Videos benötigt Zeit - insbesondere, wenn es sich um 720p-Inhalte handelt. Es kann mehr als eine Stunde dauern, insbesondere wenn Ihre Eingabe bereits länger als eine Stunde dauert. Außerdem ist Ihre CPU möglicherweise nicht die schnellste. Dies ist der Hauptgrund, warum ältere MPEG-4 Visual Encoder wie XviD immer noch in der Nähe sind und sehr beliebt sind: Sie benötigen weniger Zeit zum Codieren als H.264-Codecs. Sie bieten möglicherweise nicht die beste Leistung in Bezug auf die Qualität im Vergleich zur Dateigröße, sind aber schnell.
Das alles wird gesagt: Sie können die x264-Kodierung beschleunigen, indem Sie eine Voreinstellung erzwingen. Presets sind Encoder-Optimierungseinstellungen und reichen von: ultraschnell, superschnell, sehr schnell, schneller, schnell, mittel, langsam, langsamer, sehr langsam. Ihr Befehl könnte dann so aussehen:
ffmpeg -i input.wmv -c:v libx264 -preset ultrafast out.mp4
Es sollte schneller laufen als ohne Preset. Der einzige Nachteil ist, dass es bei gleichen Kompressionsraten im Vergleich zu beispielsweise nicht so gute Qualität erzielt -preset veryslow
.
Abgesehen davon können Sie nicht viel tun, außer in eine schnelle CPU zu investieren und sicherzustellen, dass Sie eine aktuelle Version von FFmpeg mit x264-Unterstützung ausführen.
Weitere Informationen finden Sie im FFmpeg Wiki: H.264 Encoding Guide .