Welche CBR ist bei der Aufnahme mit OBS für Gameplays sinnvoll?

  • Hi,


    ich nehme Gameplays auf und mein gekauftes Adobe Premiere Elements kann nicht mit variablen Bitraten umgehen. Bedeutet, alle meine Aufnahmen flickern ein wenig bei 60 FPS, bei 30 FPS ist es deutlich besser, aber immernoch leicht zu sehen. Ich habe in OBS die ganze Zeit mit CQP 20 aufgenommen, möchte jetzt aber mit einer CBR aufnehmen. Nun bin ich in dieser Materie einfach immernoch nicht wirklich schlau. Ich nehme in 1440p und 60FPS auf. Auf der Renderseite von Youtube steht, dass Youtube empfiehlt mit max. 24 Mbits pro Sekunde zu rendern. Wäre es dann nicht einfach sinnvoll eine CBR von einfach nur 24000 Kbps in OBS zu nehmen? Das entspricht ja in etwa das gleiche oder? Was entspricht denn in etwa eine CQP von 18-20 im Vergleich zu CBR? Manche schreiben einfach 60000 zu nehmen aber dann haben meine Aufnahmen ziemlich schnell mehrere 100GB das ich ja dann am Ende wieder auf 24Mbits runter render und das wahrscheinlich ultralange dauert.


    Gibt es überhaupt noch Leute die mit CBR aufnehmen oder sind mittlerweile alle auf dieses CQP umgestiegen? Mein PC ist ein I7 13700Kf, 32GB RAM und einer 6650XT von AMD.


    Gruß und Danke im Voraus für eure Hilfe. :)

  • Adobe's Decoder sind ja nun echt nicht mein Favorit, aber das er nicht mit variablen Bitraten umgehen kann, halte ich doch auch selbst für Adobe Produkte sehr unwahrscheinlich.

    CBR ist die absolut ineffektivste Methode ein Video zu encodieren. Als Content Ersteller wundert mich auch die Wahl auf eine AMD Grafikkarte etwas. Mit NVEnc hätte man ein besseres Paket gehabt, ganz zu schweigen von den ganzen anderen Features die bei nvidia besser sind.

    Wenn der AMD Encoder dennoch eine Möglichkeit bietet in CRF oder auch Constant Quality genannt zu encodieren, wäre das auch erheblich effizienter als CQP. Dunkelheit wird dann besser aussehen weil der Encoder nicht auf 20er Quantizer gezwungen wird, und Komplexität wird kleinere Dateigrößen erzeugen bei identischer Qualität.


    Vergiss die Youtube Seite. Das sind nur grobe Anstöße.

  • Danke für die Antwort. Ich habe mir mal vor ein paar Jahren die Adobe Premiere Elements 2022 zugelegt. Würde ich aber auch heute nicht mehr kaufen und habe mir gestern auch Shotcut mal installiert und schau es mir soeben mal an. Ich habe das die Woche ins Adobe Forum gepostet, nachdem ich 3 Tage alles mögliche ausprobiert habe und das war eben die Antwort, die ich von Adobe bekommen habe. Adobe hat Probleme mit variablen Bitraten. Ja ich habe mal mit CBR 48000Kbit aufgenommen und mit Adobe gerendert und es hat immer noch geflackert. Gleiches Video mit Shotcut gerendert und es lief ohne Probleme. Ich probiers jetzt mal mit CQP 20 und render es nochmals im Shotcut und schau mir das Ergebnis an.


    Der Grund mit der ATI Karte ist ganz einfach. Es gab zu dieser Zeit keine Nvidia Grafikkarten für einen akzeptablen Preis. War eine richtig blöde Zeit eine Grafikkarte zu kaufen und bisher habe ich auch keine Probleme mit der ATI Karte. Hatte vorher fast immer eine Nvidia und würde mir jetzt auch wieder eine kaufen wenn demnächst eine ansteht, aber ich nutze diesen AMD Encoder unter OBS und bisher habe ich keine Probleme erkennen können.


    Wenn ich mit 48000kbit aufnehme und es dann wieder auf diese 24Mbit runter rendere, ist die Datei dann genauso groß wie wenn ich mit 100000kbit rendern würde? Ich muss gestehen, ich habe recht lange Videos und will mir mein Quellmaterial nach dem Rendern auch auf meinem NAS sichern, aber wenn ich mit 48Mbit statt mit 24 Mbit rendern würde, dann skaliert Youtube das ja auch wieder und ich habe diese rießigen Dateien hier rumliegen.

  • Also hier flackert nix mit Adobe, VBR kann der, nur hakt es manchmal mit den MP4-Dateien, die demuxe ich vorher und danach kann er dann problemlos mit getrennter Video- und Audio-Spur umgehen.

  • Nachdem hier schon der Tech-Gott De-M-on geantwortet hat, kann man als Laie ja höchstens noch ganz kleinlaut was hinterherschieben :S

    Hier kommt also meine vollkommen unqualifizierte Antwort:


    Ich nehme schon immer mit konstanter Bitrate auf, alles andere ist mir viel zu experimentell. Lieber konstant mit der Kanone auf Spatzen schießen anstatt dass durch einen Ausrutscher mal 'ne Taube auf dem Dach überlebt... oder so ähnlich ^^ ...einerseits ballern sich die Leute auf drölfzig Festplatten hunderte von GB mit Rohaufnahmen voll und dann will man mir erzählen, dass es der falsche Weg ist, an so einer Stelle eine höhere oder feste Datenrate zu haben, naja... es sind halt immer noch Meinungen - oder zumindest Vorlieben.

    Ich hab ja auch noch nie verstanden, warum man erst was in sonstwelcher übertriebener Bombenqualität aufnimmt, um es dann in einem längeren Prozess wieder runterzurechnen. Aber gut, das mag dann mein fehlendes technisches Verständnis gepaart mit einer genügsamen Philosophie sein :*


    Nach meinem Empfinden ist alles ab spätestens 30.000 vollkommen i.O., diesen Wert habe ich für mich irgendwann mal als "sicher" festgelegt, da sind für mich keinerlei Schwächen erkennbar. Mir reicht das so. Ich nehme aktuell auch in 1440 auf (allerdings sogar hochskaliert auf 3200x1800) und 60 FPS.

  • Ich hab ja auch noch nie verstanden, warum man erst was in sonstwelcher übertriebener Bombenqualität aufnimmt, um es dann in einem längeren Prozess wieder runterzurechnen. Aber gut, das mag dann mein fehlendes technisches Verständnis gepaart mit einer genügsamen Philosophie sein :*

    Hat den Grund damit der Generationsverlust (lossy zu lossy) https://de.wikipedia.org/wiki/Generationsverlust gemindert wird. Auch youtube sollte natürlich bessere Bitrate hochgeladen bekommen als die von ihren Transcodes, weil mit einer besseren Quelle kann der Encoder natürlich bessere Ergebnisse erzielen.


    30 Mbit Bitrate ist zu schwach für 1800p60 bei jedem Spiel was halbwegs Komplexität aufweist. Gerade moderne Spiele mit viel detailliertem Gebüsch, Motion Blur aus usw, oder auch Autorennen, oder gar Dirt Rally. Das wird niemals mit 30 mbit auskommen.

    30 Mbit dürfte bei einigen Spielen auf CRF 26+ hinaus laufen. Das ist definitiv zu hart komprimiert. Kenne 30 Mbit auch recht gut durch Youtube Livestreams wo youtube völlig genauso transcodiert wie die VODs, und die 30 Mbit Streams sahen zwar recht anschaubar aus, aber mit der Qualität die youtube hinbekommt von den lokalen Aufnahmen kann das halt nicht wirklich mithalten. Die bessere Quelle hilft da youtube schon spürbar. Und ich habe da ja schon VBR benutzt für die Streams.

    Bei CBR kommt hinzu das es nicht auf Wechsel von Inkomplexität auf unerwarteter Komplexität reagieren kann. Sieht man auch oft bei Twitch Streams wenn die Leute nur CBR benutzen: Gerade ruhige Szene, auf einmal passiert unerwartet viel Action und du hast für paar Sekunden erstmal ordentlich kästchensalat. VBR kann für so einen Fall sofort kurz mehr Bitrate reingeben, es muss ja am Ende nur den Durchschnitt einhalten. Beide bitratenbasierten Encodings haben aber einfach den riesen Nachteil das die Qualität mit jedem Spiel eine Wundertüte ist. Dynamische Quantizer (CRF) hast du einheitliche Framequalität. Wenn dir 30 mbit ausreichen kannst du vermutlich gar auf CRF26 gehen.


    Mittlerweile ist es auch besser in volle 4k (3840x2160) hochzuladen. Ergibt mittlerweile bessere Qualität als 3200x1800.


    Aktuell am idealsten wäre zb für youtube:

    4k60 H.265 Level 6.2 mit P010 Farbe mit CRF/CQ 23 oder besser (nicht CQP. CQP ist nicht das gleiche wie CQ) (vielleicht sogar AV1 statt H.265, aber das kann meine 2080 Ti nicht)


    Beispielsweise:

    Aufnahme:

    OBS ffmpeg:


    Code
    preset=p3 rc=vbr b=0 maxrate=500M bufsize=0 cq=15

    und bei Erweitert Farbformat auf P010 (würde aber aufnahmedateigröße deutlich steigern, sieht aber schöner aus und ergibt die schöneren transcodeergebnisse nach youtube). Wenn keine lokale weitercodierung geplant ist und das OBS Video auf Youtube soll, dann kann der CQ Faktor auch direkt zwischen 20 und 23 sein. 15 hat ansonsten für die eigene weitercodierung sonst den besseren puffer gegen Generationsverlust.


    Für die weitercodierung könnte man dann zb in ffmpeg dies benutzen:


    Code
    ffmpeg -rtbufsize 2147M -thread_queue_size 1024 -probesize 10M -i "d:\XVideos\TRR_DirtRally2_S9_Race04\TRR_DirtRally2_S10_Race04.avs" -vcodec hevc_nvenc -preset p7 -pix_fmt p010le -profile:v main10 -level 6.2 -g 600 -fps_mode cfr -rc:v vbr -b:v 0 -cq 23 "d:\XVideos\TRR_DirtRally2_S9_Race04\TRR_DirtRally2_S10_Race04.mkv"


    aber ich nutze diesen AMD Encoder unter OBS und bisher habe ich keine Probleme erkennen können

    Problem ist halt das der Encoder wesentlich schlechter ist als der Encoder von Nvidia. Und das trifft ja auf quasi allen Features zu. Sei es nun der Video Encoder, Tensor Kerne Performance (Raytracing, DLSS, weitere KI Aufgaben) usw. Aber ja die GPUs sind teuer, das stimmt schon.


    z.B. hat der AV1 Encoder von AMD einen schlechteren VMAF Score als Nvidia mit H.265 😁

  • Ich habe hier einen sehr langen Text geschrieben, daher packe ich den mal in einen Spoiler.

    Im Text erkläre ich mit ein paar Beispielen, warum ein paar Dinge, die du im Ausgangspost beschreibst, nicht so empfehlenswert sind, bzw. deine Annahmen evtl. falsch sind.


    Hoffe, der Post hilft ein bisschen weiter, auch wenn ich keinen konkreten Tipp geben kann, wie du deine Aufnahmen besser machst. :)


  • CQP ist auch nicht ideal. Fixer Quantizer ist zwar besser als fixe bitrate, aber auch nicht ansatzweise so effizient wie adaptive Quantisierung. Bei fixer Quantisierung bekäme auch Dunkelheit zb Quantizer 20 was viel zu hoch für Dunkelheit wäre und gleichermaßen bekommt Komplexität mit quantizer 20 zu viel bitrate. Adaptive Quantisierung gibt jedem Frame einen eigenen Quantizerwert je nach komplexität. So wird Dunkelheit in sehr niedrigen Quantizerwerten behandelt und Komplexität bekommt dann entsprechend höhere Werte als im Beispiel 20. Das ist bei weitem effizienter in Dateigröße bei gleicher Qualität und in inkomplexen Szenen sogar wie gesagt besserer Qualität.


    Im Falle x264 wäre es CRF und im Falle NVEnc wäre es CQ (CQ, ohne dem P). CQ = Constant Quality, CQP = Constant Quantizer Parameter.


    CRF ist noch deutlich effizienter als das CQ vom Hardware Encoder, aber tut ansonsten auch seinen Job. Auf alle Fälle viel besser als CQP.


    x264 mit Preset slow und x265 mit preset slow sind natürlich jeweils immer noch deutlich NVEnc überlegen in Detailerhalt und Dateigrößeneffizienz, aber benötigen eben mehr encodierzeit als über die Grafikkarte. Bei seiner verwendeten CPU, und seiner nur AMD Grafikkarte wäre das für die nachcodierung nach OBS aber vielleicht sogar eine Überlegung wert.

Jetzt mitmachen!

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