Do FFMPEG H264 Kompression-Vorgaben betreffen die video-Qualität?

Ich bin definitiv nicht ein FFMPEG-Experte, aber nach dieses Dokument:

Eine Vorlage ist eine Sammlung von Optionen, die in einer bestimmten Kodierung Geschwindigkeit der Kompression Verhältnis. Eine langsamere Einstellung eine bessere Kompression (compression ist Qualität pro Dateigröße). Allgemeine Verwendung ist die Verwendung der langsamsten Vorgabe, dass Sie Geduld haben für. Aktuellen presets in absteigender Reihenfolge der Drehzahl sind: ultrafast, superfast, veryfast, faster, fast, medium, langsam, langsamer, veryslow, placebo.

So wie ich es verstehe, die ffmpeg Vorgaben sollte keinen Einfluss auf die Qualität der video-Ausgang, sollte aber nur festzustellen, die Kompression /Größe der Ausgabedatei. Folglich, vorausgesetzt, die gleiche Einstellung für die Qualität (ich verwende -crf 24), die Dateien größer werden soll für z.B. faster als Vorgabe für die slower voreingestellt. Das wäre der einzige Grund für die Verwendung einer langsamer preset -, um eine kleinere Dateigröße.

Dieses stellt sich heraus nicht der Fall zu sein. Ich encode ein HD stream von einer handycam mit verschiedenen presets, alles andere ist gleich:

ffmpeg -y -i "$fname" -vf yadif=1,scale=-1:720 -acodec aac -ab 128k -ac 2 -strict experimental -vcodec libx264 -vpre slow -threads 2 -crf 24 "$outp"

Erstaunlicherweise bekomme ich die kleinste Dateigröße für veryfast preset! Zum Beispiel:

  • slower: output bitrate 3500kbps, encoding-Geschwindigkeit 17 fps, Datei-Größe 29 MB groß
  • veryfast: output bitrate 3050kbps, encoding-Geschwindigkeit von 34 fps, Dateigröße 25MB

Denen ich denke, dass ist nicht wie es sein sollte. Jetzt Frage ich mich, ist, dass aufgrund einer schlechteren encoding-Qualität für die veryfast preset? Oder in meinem Fall mit slower macht einfach keinen Sinn aus irgendeinem Grund?

  • Ihre ffmpeg ist alt. Die alte text-Datei-basierte "emuliert" - presets wurden abgeschrieben, für die eigentlichen presets mit -preset. Ich empfehle, mit einer neueren ffmpeg bauen, wenn möglich, da die Entwicklung so aktiv. Auch -threads 0 (auto) ist standardmäßig mit nicht-alten ffmpeg, so dass Sie nicht haben, zu erklären. Sie können auch sehen wollen, die AAC-Encoding-Guide.
InformationsquelleAutor angainor | 2013-01-13
Schreibe einen Kommentar