CQP Aufnahme mit Bitratenlimit?

  • Hallo zusammen,


    ich nutze seit längerer Zeit bei meinen Aufnahmen nun schon längere Zeit das CQP Verfahren via Qualitätsstufe, was für mich auch lange wunderbar funktioniert hat.

    Jetzt hatte ich allerdings in der Vergangenheit schon ein Projekt, bei dem ich meine Qualität herunterschrauben musste, da es - ich sag mal - zu bunt war. Auch aktuell bin ich wieder an etwas dran, was durch seine verschiedenen Postprocessing Effekte und unterschiedlicher "Buntheit" starke Spitzen in der benötigten Bitrate hat, so sehr dass die Aufnahmen teilweise bei ~10 GB landen für 30 Minuten, und teilweise dann auch mal welche dabei sind mit ~40 GB und vereinzelten OBS Meldungen dass der Codierer überlastet wäre. Es sind in dem konkreten Beispiel wirklich immer nur kurze Sequenzen im Spiel (alle X Stunden für paar Sekunden) die dann plötzlich die Bitrate in die Höhen schießen lassen.


    Daher meine Frage, weil ich bereits schon einmal beim recherchieren nicht wirklich was stichhaltiges gefunden habe: Kann man über OBS als erweiterten Paramenter irgendwie mitgeben, dass CQP nach oben hin ein Limit für die Bitrate hat? Erfahrungsgemäß tritt die Codierungsüberlastung bei mir auf, wenn die ~120000 Bitrate überschritten wird. Da würde ich auch gerne ein Limit ziehen.


    Dazu sei gesagt, ich nutze via OBS das StreamFX Plugin und den dort mitgelieferten AMD H264 Codec via ffmpeg.

    Aktuell bin ich dort bei CQP 19 oder inzwischen auch schon 20, allerdings kommt halt noch das Upscaling dazu für YT (von 1920x1080 auf eben 3200x1800), das erhöht den Bitratenbedarf ja ebenfalls nochmals.

    Diesbezüglich wüsste ich auch gerne, falls ihr upscaled, ob ihr dies schon via OBS macht oder ggf. nachträglich beim rendern. Letzteres hatte ich auch schon probiert, mir kam aber dabei vor, dass die Qualität im Direktvergleich schlechter ausfällt, als wenn man dies direkt über OBS macht.

  • Ich nehme (wenn ich dann mal OBS nutze) mit NVEnc in H264 auf mit einem CQP von 18 auf 1920x1080 Pixel. Das wird dann im Nachhinein auf 2560x1440 Pixel und H265 hochskaliert über StaxRIP, nachdem ich vorher die Tonspuren angepasst habe (Lautstärke, Noisegate, Kompressor und Normalisieren). Aber normalerweise nehme ich mittlerweile mit Shadowplay auf. Das liefert super Ergebnisse und die Nachbearbeitung der Dateien (Extrahieren) geht um ein Vielfaches schneller. Kann nur leider nicht mehrere Desktop-Tonspuren, was aber nur bei Together-Projekte zum Tragen kommt. Da habe ich mittlerweile nämlich die Spuren für Spiel und Discord/TS getrennt, dass ich die Tonspur meiner Mitspieler notfalls auch noch nachträglich an bestimmten Stellen stumm schalten kann.

  • Hast du kein CRF statt CQP?

    Halbe Dateigröße bei identischer Qualität


    Peacemaker zockt Du kannst via Cheat Engine auch die Bitrate auf Bitratenwert deiner Wahl hoch setzen. Beispielsweise 300 mbit wenn dir danach ist.

    130 mbit ist stellenweise mir etwas zu knapp gewesen (man sah die Kompression), da die nur eine GOP Größe von gerade mal 30 Frames verwenden. Bei einer derart kleinen GOP Größe sind die 130 mbit dann schneller knapp als man denkt bei 2560x1600.

    Aber auch die GOP Größe kann man mit Cheat Engine anpassen. Wenn da Interesse besteht, einfach bescheid sagen.

  • Du kannst via Cheat Engine auch die Bitrate auf Bitratenwert deiner Wahl hoch setzen. Beispielsweise 300 mbit wenn dir danach ist.

    130 mbit ist stellenweise mir etwas zu knapp gewesen (man sah die Kompression), da die nur eine GOP Größe von gerade mal 30 Frames verwenden. Bei einer derart kleinen GOP Größe sind die 130 mbit dann schneller knapp als man denkt bei 2560x1600.

    Aber auch die GOP Größe kann man mit Cheat Engine anpassen. Wenn da Interesse besteht, einfach bescheid sagen.

    Ah stimmt, da hattest du ja mal was erwähnt. Ich hatte tatsächlich vor kurzem mal ein bisschen mit Cheat Engine gearbeitet, aber wirklich fürs Cheating bei Teil 2 und 3 von Driver. Für die 1080p-Aufnahmen reichen mir die 130 Mbit erst mal noch aus, aber ich kann mir vorstellen, dass es bei 2K dann knapp wird. Da ich aber eh mit einem 2K-Monitor liebäugel, komme ich da glaube ich demnächst nochmal drauf zurück. Dann würde ich auch gleich in 2K aufnehmen und mir nachher das Hochskalieren sparen. Sollte mit der Grafikkarte ja auch noch locker gehen.

  • Hast du kein CRF statt CQP?

    Halbe Dateigröße bei identischer Qualität

    Seh ich nur bei x264 im OBS, also nur wenns über die CPU läuft. Via Grafikkarte gibts nur CBR, VBR, CQP.

    Allerdings bin ich auch nicht auf der allerletzten OBS Version, falls das an der Stelle eine Unterschied gemacht hätte (aufgrund von Inkompatibilität mit StreamFX).


    Naja, da es bislang nur Ausreißer sind, die so in Erscheinung treten, belass ich wohl einfach erst einmal alles wie es ist. Bzw. in schwerwiegenden Fällen wird halt zukünftig nachträglich hochskaliert, wenns nicht anders gehen sollte.

  • Allerdings bin ich auch nicht auf der allerletzten OBS Version, falls das an der Stelle eine Unterschied gemacht hätte (aufgrund von Inkompatibilität mit StreamFX).

    Ah, ich dachte grad schon, ich hab ja irgendwann mal die Meldung gekriegt, dass StreamFX nicht mehr kompatibel ist. Aber ich benutze OBS ja auch nur noch für die wöchentlichen Pen & Paper-Runden und wenn ich mal Let's Plays mit anderen Leuten aufnehme aufgrund der verschiedenen Tonspuren.

  • Also nach meinen Recherchen kann auch NV kein richtiges CRF ...


    Siehe hier: https://www.xaymar.com/guides/…-quality-recording/nvenc/

    und hier: https://github.com/Xaymar/obs-…wiki/Encoder-FFmpeg-NVENC


    NVIDIAs NVENC offers several different options for bitrate control, such as CBR, VBR, CQP and CQ. Each mode has different targets, which have to be taken into account when selecting the mode to use:

    • Constant Quantization Parameter (CQP) is used for indistinguishable or lossless recording. It produces constant compression output, based on the values set in the Quantization Parameters, with lower values being large while also being higher quality.
    • Constant Bitrate (CBR) is used for streaming on older protocols where a relatively constant and controllable packet size matters a lot. CBR uses the Buffer Size and Bitrate Limits to achieve its goal. There is also a High Quality variant of this which enables additional options by default.
    • Variable Bitrate (VBR) is used for local archiving as well as for modern streaming protocols. It can save space when there isn't much to encode, which pushing out high quality content when it matters. VBR uses the Buffer Size, Bitrate Limits and Quantization Parameters to achieve its goal. This also comes with a High Quality variant that enables additional options by default.
      • Constant Quality (CQ) is a subset of VBR which attempts to achieve a certain quality level. It works similar to x264s CRF, but is not a replacement for CRF and should not be treated as CRF. It requires that the Buffer Size and Target Bitrate are set to 0, while Target Quality is set to any value equal to or above 1.0.

    Das was dem am nächsten kommt ist VBR-CQ, was aber kein vollwertiges CRF ist, wie man es über die CPU Codecs aktivieren kann...


    Jedenfalls wäre die Frage jetzt eh geklärt. Ich danke für die Antworten.

  • Ja war zu erwarten das x264's CRF besser ist, aber es ist dennoch angenehmer als CQP wo die Dateigrößen halt echt aufblähen. Wenn man da Sorge hat kann man ja 1 oder 2 Stufen besser wählen z.B. 19 statt 21 oder so.

    Interessant fand ich aber die Aussage:


    Performance wise it is far slower and has much more impact on the machine


    Weil bei Dirt Rally 2.0 in VR ist Leistung schon ein Thema.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!