OBS Studio - Verlustfreie Aufnahme & Sammelthread

Ich brauche deine Hilfe, um den Fortbestand des LetsPlayForums zu sichern: Mehr Informationen findest du hier!
  • Kurze Frage:
    Ich habe jetzt, weil ich öfters die Videos bearbeite und weil es generell einige Vorteile bringt, angefangen, die Facecam nicht in der Gameaufnahme einzublenden sondern in der Stimmaufnahme als Bild zu verwenden (anstatt des 100x100 Blackscreens).
    Problem ist nun, mir ist bei einem Spiel (The Other 99) in der OBS Vorschau einmal die Facecamvorschau eingefroren und einmal die Spielvorschau.
    Die Aufnahme der eingefrorenen Facecamvorschau läuft einwandfrei, allerdings ist die Aufnahme der eingefrorenen Spielvorschau nicht abspielbar und auch ein anderes Video aus der selben Aufnahmesession nicht abspielbar. (Hab schon versucht über den von Sem erstellten Thread zur Aufnahmenreparatur das zu beheben, ging nicht. VirtualDub, MPC-HC, stürzen dennoch ab.)


    Einstellungen sind in dem Bild unten.
    Frage nun, ist es generell ein Fehler gewesen so aufnehmen zu wollen?
    Als ich noch anders aufgenommen habe (Stimme mit 100x100 Blackscreen und Webcam direkt in der Spielaufnahme) hat alles, auch bei dem Spiel. einwandfrei geklappt.


  • lossless müsste in high444predictive. Aber ich glaub da macht OBS gerad nich so mit. Probier mal QP 1 und mit high.

    Habe CQP gewählt, einen Wert von 18 (war default), Keyframe 1 und Profile auf high.
    Läuft soweit ganz gut, die Performance ist auch gut.
    Aber auf 4:2:2 zu kommen scheint nicht möglich, zumindest ist es das, was ich aus den OBS Foren rauslese.
    Die Qualität ist in meinen Augen in Ordnung, im SSM entsprechend auf 4:2:0 gestellt und aus Versehen etwas zu viel Sättigung drin...
    Ergebnis [YouTube]





    Profil Main mit i444? Da passt was nich zusammen

    :)



    Weil OBS immer noch hooken muss, weil bei Descent 2's 200 fps limit 320fps laufen (wie auch immer OBS das schafft) und sagenhafte 1 ghz VRAM weniger sind, solange mit NVEnc aufgenommen wird (auch bei Afterburner so mit dem VRAM)


    Ich verstehe davon zwar nur die Hälfte, aber bei CPU intensiven Spielen wie Rainbow Six Siege oder BF1 merke ich einen DEUTLICHEN Unterschied zwischen meiner jetzigen OBS Konfiguration und MSI AB mit MagicYUV im Farbraum 4:2:0, leider.
    Das macht im Schnitt einen Unterschied von an die 50fps!


    Da liegt es doch nahe den NVENC via OBS zu nutzen...

  • Ich liste mal alle Modis auf die man bei Encoder so antrifft, damit man weiß wofür sie stehen:


    CRF = Constant Rate Factor
    CQP = Constant Quantizer Parameter
    QP = Quantizer Parameter
    RF = Rate Factor
    CBR = Constant Bitrate
    VBR = Variable Bitrate
    ABR = Average bitrate
    CVBR = Constrained Variable Bitrate
    AVBR = Average Variable Bitrate
    LA (VBR) = Look Ahead Variable Bitrate (Ist besser als das Standard VBR)
    ICQ = Intelligent Constant Quality (Ist eine bessere Version des CQP Modus)
    LA (ICQ) = Look Ahead Intelligent Constant Quality (besser als der übliche ICQ Modus)
    VCM = Video Conferencing Mode (zeichnet sich durch schlechte Qualität und Bitrate aus)


    Für den CQP oder den QP Modus werden oft weitere Angaben benötigt wie QPI, QPP und QPB
    Im Falle von x264 und NVEnc werden diese 3 Werte optimal automatisch durch Angabe eines Wertes bestimmt.


    Habe CQP gewählt, einen Wert von 18 (war default), Keyframe 1 und Profile auf high.

    Wieso nimmst du so ein Wert für den QP Modus? Für CRF währe er ok, wenn du danach nicht weiter bearbeiten willst. Aber für Aufnahmen schon Lossy? Wieso?
    Kann ich leider nicht ganz nachvollziehen grad.
    QP=0 für Lossless, weil du encodierst doch dein Video dann eh noch mal bestimmt mit MeGUI, nach dem SSM.


    Weil Verlust (Aufnahme) + Verlust (x264 Encoding MeGUI) = Noch mehr Verlust

    ^^

    Und YT gibt dem Video den Rest. xD


    Also Optimal ist dein Workflow nicht grad.



    Aber auf 4:2:2 zu kommen scheint nicht möglich, zumindest ist es das, was ich aus den OBS Foren rauslese.

    Keine Ahnung ob das deine Grafikkarte zulässt die der NVEnc unterstützt.


    Die erste Generation kann nämlich noch keine höheren Farbräume verstehen als YUV 4:2:0


    Erst die zweite, die Maxwell (GM107/GM108) oder halt höhere Generationen von Grafikkarten, können bis YUV 4:4:4 supporten.


    Und @De-M-oN würde dir ohnehin bei der Verwendung von NVEnc zu einer Pascal Grafikkarten Generation raten. Alles andere taugt da doch sowieso nix ;D


    Unter Erweitert kannste dann ja mal versuchen mit i422 als Farbformat (Farbraum) einzustellen für eine YUV 4:2:2 Aufnahme.



    Ich verstehe davon zwar nur die Hälfte, aber bei CPU intensiven Spielen wie Rainbow Six Siege oder BF1 merke ich einen DEUTLICHEN Unterschied zwischen meiner jetzigen OBS Konfiguration und MSI AB mit MagicYUV im Farbraum 4:2:0, leider.
    Das macht im Schnitt einen Unterschied von an die 50fps!


    Da liegt es doch nahe den NVENC via OBS zu nutzen...

    Er wollte damit sagen das OBS den NVEnc nur für das Encoding verwendet, jedoch nicht über die NVIDIA aufnimmt, sondern immer noch auf die DirectX Oberfläche sich hooken muss um die Frames abzugreifen.


    Das heißt das dieser Prozess gegenüber dem was Shadowplay tut viel langsamer ist und die FPS runter zieht.


    Denn Shadowplay hookt sich nicht in das Spiel ein, sondern vielmehr greift er Hardwaretechnisch auf der Grafikkarte die Frames schon ab via NVFBC.


    NVFBC ist nämlich das Aufnehmen des Frontspeichers ohne die OpenGL oder Direct3D APIs in Anspruch zu nehmen.


    Daher ist Shadowplay auch so extrem performant.


    Was OBS jedoch nur nutzen tut ist NVEnc, sprich den Encoder, den sie dann höstwahrscheinlich über NVIFR laufen lassen. Ist nicht ganz so performant als die NVFBC Variante, wenn das so solo läuft.



    Beide zusamm und man habe Shadowplay.
    Und wenn Shadowplay einen mehr Optionen geben würde, könnte man damit sogar Lossless aufnehmen und sogar in höheren Farbräumen. Was NVIDIA aber nicht machen wird, da ja die meisten User eh nur schlechte Qualität haben möchten und damit halt voll zufrieden sind. Und sich halt darüber auch noch freuen

    ^^
  • Wieso nimmst du so ein Wert für den QP Modus? Für CRF währe er ok, wenn du danach nicht weiter bearbeiten willst. Aber für Aufnahmen schon Lossy? Wieso?Kann ich leider nicht ganz nachvollziehen grad.
    QP=0 für Lossless, weil du encodierst doch dein Video dann eh noch mal bestimmt mit MeGUI, nach dem SSM.


    Liegt es mir oder an dir, dass ich mich ständig wiederholen muss?


    Ich habe einen CQP Wert von 18, zumal mir explizit QP gar nicht angeboten wird.
    Auf dem Guide von OBS steht, man soll einen CQP Wert zwischen 15 und 25 wählen.
    Und offenbar gibt es einen Unterschied zwischen QP und CQP.


    Ein 4:2:2 wird mir nicht angeboten, nur nv12, i420, i444 und rgb.


    Des Weiteren habe ich eine Pascal, die GTX 1060, steht hier auch schon irgendwo.


    Für mein Empfinden läuft der OBS, so wie er gerade bei mir läuft, um einiges besser als der MSI mit der schondensten Einstellung für die CPU.

  • Und offenbar gibt es einen Unterschied zwischen QP und CQP.

    Nein, gibt es keinen. QP ist der Constant Quantizer Parameter Modus. Für absolute DAUs wie User des OBS hat man halt eben dann auch das C noch davor gesetzt, damit wirklich jeder weiß das es sich um den Constant Quantizer Parameter Modus handelt.


    Sprich QP = CQP


    Da gibt es 0 Unterschied.



    Auf dem Guide von OBS steht, man soll einen CQP Wert zwischen 15 und 25 wählen.

    Welcher Guide denn bitte? Kannste den mal bitte posten.


    Weil das ist totaler Blödsinn irgendwie was du da schreibst. Gerade 15. xD


    Nein, ehrlich. Diesen Guide würde ich gern mal sehen bitte.


    Für mein Empfinden läuft der OBS, so wie er gerade bei mir läuft, um einiges besser als der MSI mit der schondensten Einstellung für die CPU.

    Weil OBS, als auch der MSI AB oder auch Fraps oder DXTory alle voneinander ganz andere Hooking Verfahren nutzen sich in Spiele zu hooken um dort die Direct3D oder OpenGL APIs abzugreifen nach Frames aus dem Backbuffer.


    Und da jede Software anderes arbeitet bei Spiel xyz, kannste nicht pauschal jetzt sagen das OBS besser läuft.


    Es ist dein Empfinden bei den jetzigen Spielen die du grad hast. Kann sein. Gibt auch Games, da würdeste mit OBS verzweifeln. Da würde dann wieder MSI AB oder DxTory wieder besser funktionieren. Ist einfach so.

  • XD Genial der Guide xD


    Jo. mit x264 sollste CRF nehmen und bei NVEnc ist CRF ja blödsinn, da nimmt man dann CQP xD Weil ja x264 ja kein CQP besitzt xD


    Köstlich xD


    Hör bitte auf, sonst weine ich noch vor Lachen xD


    Nutze mal lieber bei NVEnc entweder den Lossless Mode bzw ein CQP Wert von 0 oder verwende halt ein CRF Wert von 18 - 24


    Weil ein Unterschied von 15 und 18, den musste mir erst mal zeigen xD




    PS: Die schreiben ja auch das man bei QPI, QPP und QPB jeweils 15 - 25 eingeben sollte. xD Aber keiner schreibt das man 3 unterschiedliche Werte dort angeben sollte ;D

  • Guter Guide, danke für die Mühe


    Bei Farbraum sollte jedoch NV12 verwendet werden (außer man nutzt utvideo dann I420)


    Das wird auch von den Entwicklern empfohlen, da die Szene von der GPU berechnet wird und diese auf NV12 optimiert ist.

  • Das wird auch von den Entwicklern empfohlen, da die Szene von der GPU berechnet wird und diese auf NV12 optimiert ist.

    Jein. NV12 an sich als Farbraum ist bereits schon ein optimierter YV12 Farbraum vom Aufbau her. NV12 ist also egal wo er eingesetzt wird immer Leistungsstärker als z.B. I420 oder andere YUV4:2:0 Konsorten.


    Das hat mit NVEnc oder überhaupt der GPU so ziemlich gar nix zu tun

    ^^



    Und eins noch obendrein: Wenn die GPU die Szene eines Spieles auf NV12 optimiert, glaube ich nicht das du das noch nutzen wollen würdest ;D


    Die GPU berechnet nach wie vor die Spielszenen mit RGB32.


    Und das Aufnahmeprogramm greift sich dieses RGB32 Bild ab und schickt es dann im Falle von OBS durch einen RGB->YUV Wandler und dann zum Encoder.


    Die Umwandlung dauert auch nicht lange, da NV12 schnell errechnet werden kann als z.B. I420


    Und dann kann x264 oder NVEnc oder AMD VCE oder Intel Quick Sync oder oder oder... damit was anfangen. Halt alle Codecs die diesen NV12 Farbraum unterstützen.


    So ist der Ablauf an sich.


    Mirillis Action z.B. macht das ganz Hardcoremäßig und hat einen expliziten RGB -> I420 Wandler drin. Egal mit welchen Codec du aufnehmen willst und diesen Codec auch sagst das er einen höheren Farbraum nutzen soll für die Aufnahme, du wirst dabei immer dieses YUV 4:2:0 erhalten.
    Die Mediainfo sagt dir bei einer RGB oder YUV 4:2:2 Aufnahme zwars diese Farbräume an, aber wenn man sie betrachtet hast du darin die YUV 4:2:0 Variante drin. Zu erkennen an den Bildern dann mit ihrer Farbunterabtastung. Sieht an einigen Stellen recht verschwommen halt aus.



    DXTory arbeitet übrigens mit keinen Wandler
    Genauso wie MSI Afterburner.


    Diese beiden Programme lassen den Codec entscheiden in was es gewandelt werden soll. Weil einige Codecs wie der MagicYUV hat ebenfalls einen Farbraum Wandler drin.

  • Mirillis Action z.B. macht das ganz Hardcoremäßig und hat einen expliziten RGB -> I420 Wandler drin. Egal mit welchen Codec du aufnehmen willst und diesen Codec auch sagst das er einen höheren Farbraum nutzen soll für die Aufnahme, du wirst dabei immer dieses YUV 4:2:0 erhalten.

    Das war bei Bandicam.

  • Kurze Frage zur einer Problemlösung. Ich habe alle einstellungen zur x264 übernommen und möchte nun gerne League of Legends aufnehmen. Sobald ich das Programm starte ändern sich die FPS auf 30 und gehen kein stück höher oder runter. Sobald ich OBS schließe gehen sie wieder auf 240-300 FPS. Selbst wenn ich alle Einstellungen von Ultra auf very Low stelle ändert sich nichts. Überall sind 60 FPS eingestellt oder mehr darüber.

Jetzt mitmachen!

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