Gibt es eine Formel, die die endgültige erreichbare Datengröße abschätzen kann?
Nein. Die Größe hängt stark von den gewählten Codierungseinstellungen ab, d. H. Dem Ratensteuerungsmodus, der durchschnittlichen Bitrate oder Durchschnittsqualität, der Bildrate, dem Kompromiss zwischen Komprimierungseffizienz und Geschwindigkeit, dem spezifischen Encoder usw.
Wenn Sie einen trivialen Bitratencodierungsprozess mit konstanter Bitrate haben, lässt sich die Größe der Ausgabedatei natürlich leicht berechnen. In den meisten Fällen möchten Sie jedoch keine feste Bitrate erzwingen.
Für das Video versuche ich, die Größe des Videos und das Kodierungsformat zu schätzen, das ich verwenden sollte, um eine 1080p-Videoqualität zu erzeugen?
1080p bezieht sich nur auf eine vertikale Auflösung von 1080 Pixeln. Mit diesen Dimensionen ist keine inhärente "Qualität" verbunden. Wenn Sie über Qualität sprechen, kategorisieren Sie sie allgemein als:
- verlustfrei (mathematisch verlustfrei)
- visuell verlustfrei (Unterschiede zwischen Original und verschlüsselter Version für das menschliche Auge nicht sichtbar)
- verlustbehaftet
Wenn Sie einen verlustfreien Codec wie Raw YUV, FFV1 oder HuffYUV auswählen, ist die einzige Dateigröße die Sorge. Wenn Sie einen visuell verlustfreien Codec wie ProRes oder DNxHD wählen, werden möglicherweise immer noch große Dateigrößen angezeigt, die für das Online-Streaming ungeeignet sind.
Für den verlustbehafteten Teil sollten Sie über Ihre Anforderungen nachdenken. Ist eine schnelle Kodierung wichtiger als eine geringe Dateigröße? Haben Sie Angst vor Kompressionsartefakten oder sollte das Video durch das Web gestreamt und daher komprimiert werden? Planen Sie, den Stream einfach zu archivieren, um ihn später anzusehen?
Abhängig von der Antwort auf die oben genannten Fragen können Sie eine schnelle Codierung mit nur einem Durchgang und niedriger und eingeschränkter Bitrate vorziehen, um Webstreaming zu ermöglichen. Oder Sie möchten vielleicht eine langsame Kodierung mit zwei Durchläufen und einem konstanten Qualitätsmodus (z. B. CRF in x264 ) vorgeben, wenn Sie Wert auf die Wiedergabetreue legen, aber dennoch eine relativ kleine Größe haben möchten.
Und wie lässt sich die Zeit abschätzen, die für die Kodierung des Videos erforderlich wäre?
Dies hängt von Ihren CPU-Fähigkeiten, den Pixelabmessungen und der Bildrate des Videos, der räumlich-zeitlichen Komplexität und den Encoder-Optionen ab. Mit libx264
zum Beispiel haben Sie verschiedene Presets zur Auswahl. In der FFmpeg H.264-Codierungsanleitung finden Sie einige Tipps.