Unterstützt x264 zeitabhängige Ratensteuerungsbeschränkungen?

658
Louis

Ich kenne Techniken, um dem Encoder die Freiheit zu geben, die Bitrate für relativ komplexe Sequenzen hochzufahren, aber dies hat die Folge, dass die Gesamt-Bitrate im Vergleich zu dem, was für die typischeren Szenen gewünscht wird, aufgeblasen wird.

Ist es möglich, die Grenzen des Encoders zu lösen, um ihm mit der Bitrate mehr Freiheitsgrade über vordefinierte Intervalle zu geben?

6
Meinen Sie damit, dass die variable Bitrate (VBR) die Größe eines x264-Videos im Vergleich zur konstanten Bitrate (CBR) aufbläht? Oder etwas anderes? Ebenso hilft Ihnen das VBR-Konzept (http://superuser.com/questions/536001/variable-bit-rate-with-vb-and-minrate-maxrate-settings-in-ffmpeg) ? JakeGould vor 9 Jahren 0
@JakeGould Ich meinte damit, dass VBR eine Ziel-Bitrate haben kann, aber es gibt Ratensteuerungseinstellungen, die es ermöglichen, komplexeren Szenen mehr Bits zu geben ... Wenn Parameter wie die Bitratenvarianz oder die Quantisiererkomprimierung verwendet werden, können wir sicherere liberale Einstellungen anwenden Teile der Kodierung? Ein bisschen wie, wie es eine bestimmte Quantisierereinstellung für Abspann gibt. (Wenn Sie dem Encoder mehr Atempause geben, erzielen Sie bessere Ergebnisse für ansonsten etwas verhungerte Szenen, erhöhen jedoch die Bitrate auf der ganzen Linie.) Louis vor 9 Jahren 0
Ahhh… Okay… Dies ist definitiv eine gute Frage, aber aus meinem Können heraus. Was würdest du zur Kodierung verwenden? FFmpeg? Wenn ja, würde ich das in Ihrer Frage etwas klarer machen; Sie wissen, dass es hier jede Menge Experten für Videocodierung gibt. Viel Glück! JakeGould vor 9 Jahren 0
@JakeGould Ich erwarte auch eine Antwort auf das Zusammenfügen verschiedener Kodierungen ... Louis vor 9 Jahren 1
Gute Frage. Es ist nicht möglich, bestimmte Intervalle zu definieren, in denen die Einschränkungen gelockert werden. Ich bin neugierig. Wenn Sie sagen, die Erhöhung der "Freiheit" führt zu einer insgesamt höheren Bitrate, können Sie ein konkretes Beispiel geben? Machst du einen Pass oder zwei Pass CBR? Oder VBV-Codierung? slhck vor 9 Jahren 0
aus meinem Skillset auch, aber versucht 2-Pass das nicht? Tetsujin vor 9 Jahren 0
@slhck Okay, danke ... musste fragen. Ich habe über den 2-Pass-VBR- und CRF-Modus gesprochen. Der Fall ist der Fall, in dem der größte Teil des Films nur eine Bitrate um x kbps benötigt, die komplexen Szenen jedoch mindestens 4x benötigen: Angenommen, es gibt eine lange Szene mit einer festen Kamera, wenn jemand im Bett liegt und laut nachdenkt. Dann gibt es plötzlich eine Verfolgungsjagd durch die Apokalypse. Ich kann sehen, wie die Einschränkungen der plötzlichen Varianz in solchen Fällen zu blockigen Teilen der Codierung werden. Ich denke, ich sollte dem Encoder Dinge sagen, verwenden Sie ein größeres "qpstep", verwenden Sie ein hohes "Ratetol", deaktivieren Sie mbtree möglicherweise. Aber Trends gehen überall nach oben. Louis vor 9 Jahren 1
All das hört sich vernünftig an. Nicht sicher, was Sie sonst noch versuchen könnten. Ich nehme an, dass eine ausreichend niedrige CNI dies ohnehin tut, indem Bits gespart werden, wo psychovisuell nicht benötigt wird. Das hängt jedoch von der Anwendung und dem Endziel ab. slhck vor 9 Jahren 0
@slhck Heheh, ja, CRF ist gut genug, so dass es während der Wiedergabe nicht so auffällt. Louis vor 9 Jahren 0

1 Antwort auf die Frage

3
Mathias

Es gibt den Parameter x264 Zones:

x264 --fullhelp ... --zones <zone0>/<zone1>/... Tweak the bitrate of regions of the video Each zone is of the form <start frame>,<end frame>,<option> where <option> is either q=<integer> (force QP) or b=<float> (bitrate multiplier) 

Verwenden Sie es wie folgt :--zones 400,500,crf=10

Ich denke, das beschreibt es am besten.

Ich glaube, ich schulde jemandem eine Prämie. Ich freue mich darauf, dies zu versuchen. Louis vor 9 Jahren 0
Was für eine Belohnung? Ein Freund hat mich hierher geschickt, war das eine Art Diskussion? Ich bin nur mit dem Häkchen in Ordnung ... Mathias vor 9 Jahren 0
Ja, irgendwie. Ich hielt es nicht für möglich und sagte, ich gebe hier eine Prämie für eine Antwort. Louis vor 9 Jahren 0