Selur's Little Message Board
Wie Key-Frame bei Szenenwechsel erzwingen - Printable Version

+- Selur's Little Message Board (https://forum.selur.net)
+-- Forum: Talk, Talk, Talk (https://forum.selur.net/forum-5.html)
+--- Forum: A/V Talk (https://forum.selur.net/forum-6.html)
+--- Thread: Wie Key-Frame bei Szenenwechsel erzwingen (/thread-3609.html)



Wie Key-Frame bei Szenenwechsel erzwingen - Bob.Dig - 02.03.2024

Mit welcher Encoder-Einstellung (x265, NvEnc) kann man erreichen, dass bei jedem, selbst kleinen, Szenenwechsel ein Key-Frame gesetzt wird? Ich weiß, dass ich durch Reduzieren von max GOP den Key-Frame früher erzwingen kann, aber das ist noch nicht das, was ich suche, selbst wenn dadurch die Filesize steigt.


RE: Wie Key-Frame bei Szenenwechsel erzwingen - Selur - 03.03.2024

Sofern der Encoder es unterstützt, kann man ihm mit einem 'qp'-Datei sagen, dass bestimmte Frames Key-Frames sein sollen.
'x265->Quantization->Custom qt file' wäre z.B. der Ort wo man so eine Datei bei x265 angeben kann, NVEncC hat keine Option, welche dies erlaubt. (Da müsstest Du bei https://github.com/rigaya/NVEnc/issues fragen, ob dies möglich wäre und ob rigaya bereit wäre so eine Option einzubauen.)
Standard mäßig nutzt Hybrid dies um zu erzwingen, dass an Kapitelmarken Key-Frames erzeugt werden ('Create qp file for chapters').

Hybrid hat keine automatische Option, welche Key-Frames an Szenenwechsel erstellt.
Wenn Du nur wenige Szenenwechsel hast und weißt, wo sie sind, könntest Du diese Funktionalität in Hybrid verwenden und einfach je eine Kapitelmarke an der Stelle erstellen.

Ideen:
  • vielleicht (ungetestet) kriegst Du den Effekt auch hin, wenn Du die Szenenwechseleinstellung des Encoders änderst und so vielleicht sagen kannst, dass bei jedem Szenenwechsel er ein Key-Frame erzeugen soll.
    Lies Dir mal den Tool-Tips bei x265->Frames->General Slice Decision->Scene change (thres/bias)' durch.
    (bzw.: https://x265.readthedocs.io/en/latest/cli.html?highlight=--scenecut#cmdoption-scenecut und https://x265.readthedocs.io/en/latest/cli.html?highlight=--scenecut#cmdoption-scenecut-bias)
  • vielleicht (ungetestet) kriegt man, was Du willst, auch (als Nebenprodukt) hin, wenn man 'Config->Chunked encoding *experimental*" mit einer 'min chunk size' von 2 verwendet und nicht Szenenwechsel mindestens 2 Frames Abstand haben. Weiß aus dem Kopf nicht, ob so eine kleine chunk size nicht eventuell Probleme macht und ob die Szenenwechselerkennung beim 'Chunked encoding' dafür sensibel genug ist.

Cu Selur


RE: Wie Key-Frame bei Szenenwechsel erzwingen - Bob.Dig - 03.03.2024

Da lese ich mich erst mal ein, danke. 
Mit Szenenwechsel meine ich auch jeden Kamerawechsel, das händisch zu machen scheidet für mich aus.