OBS Studio - Verlustfreie Aufnahme & Sammelthread

  • Ich weiß nicht, ob es daran liegt, dass ich Spiele aufnehme, die eine d3d9.dll nutzen und zusätzlich SweetFX eingebunden haben über eine ProxyLibrary.

    Mit SweetFX musste bei RTSS Custom Direct3D Support entsprechend anschalten. Es wird aber nicht empfohlen diese Option global aktiv zu halten, solltest du also nur bei Spielen machen, die es benötigen wie zb mit dem SweetFX.

  • Du könntest es bei einem Spiel testen, das mit OBS und Afterburner funktioniert. ;)

    Es funktioniert ja bei keinem



    Mit SweetFX musste bei RTSS Custom Direct3D Support entsprechend anschalten. Es wird aber nicht empfohlen diese Option global aktiv zu halten, solltest du also nur bei Spielen machen, die es benötigen wie zb mit dem SweetFX.

    Könnte das der Grund sein, weshalb die Aufnahme nicht startet? Hab vor heute Abend keine Zeit es zu testen.


    Ich frage mich dennoch, wieso OBS mit demselben Codec so schlechte Qualität liefert ?(

  • Ich frage mich dennoch, wieso OBS mit demselben Codec so schlechte Qualität liefert

    Welche Videobitrate hast du denn eingestellt? Ich habe nämlich das Gefühl, dass OBS trotz UTVideo-Codec nicht wirklich lossless aufnimmt. Ich hab's bei mir auf 25.000 gestellt und wenn ich dann die fertige Datei anschaue, hat sie tatsächlich auch nur eine Bitrate von 25 Mbit.


    Mit den 25 Mbit sieht es für mich allerdings gut genug aus, daher behalte ich die Einstellung so bei. Aber wenn du da eine deutlich niedrigere Zahl eingestellt hast, kann das vielleicht der Grund für die schlechte Auflösung sein. Kann es gerne die Tage noch mal testen, wenn ich den nächsten Livestream aufgenommen habe.

  • Mit den 25 Mbit sieht es für mich allerdings gut genug aus

    25mbit reichen nicht lossless für's Auge bei komplexeren Spielen. Viel brauchts da nicht, das die 25 mbit zu knapp werden.
    Aber vllt kannste das ja mal mit einer sehr niedrigen bitrate zeigen, ob das tatsächlich so ist, das utvideo dann nur lossy video kriegt.

  • UTVideo akzeptiert keine benutzerdefinierten Bitraten, da es sonst kein Lossless Codec wäre. Selbst bei FFmpeg nicht.
    Sobald es benutzerdefinierte Bitraten akzeptieren würde, wäre der Codec ein Lossy Codec.


    Es muss jedoch bei OBS drauf geachtet werden das OBS die für den Codec passenden Einstellungen bekommt.


    UTVideo akzeptiert z.B. kein NV12 Farbraum.
    Auch sollten Auflösungsfilter zwecks Resizer deaktiviert werden, indem sie identisch eingestellt werden. Halt um Resize Verlust zu vermeiden.



    Weil ich kann hier mit OBS die Bitrate bei UTVideo gern auf 2500 stellen und er nimmt mir trotzdem mit 104MB/s auf.
    Wird also nix limitiert. So wie es sich auch gehört.


    Daher weiß ich nicht was ihr damit angestellt habt. ^^


    UTVideo nimmt zur Aufnahme soviel Bitrate wie es braucht.
    Das heißt: Wenn es ein Standbild ist kann gut komprimiert werden und die Bitrate kann ziemlich niedrig werden.
    Bei komplexen Material wird die Bitrate halt größer. Aber ist immer kleiner als wenn es unkomprimiert wäre. Die Unkomprimierte Größe wäre dann das maximum was es geben könnte. Die Bitrate wäre dann Auflösung mal FPS mal BBP des Farbraums. Und bei UTVideo wäre das immer kleiner, da es ein Kompressions Codec ist. ^^


    Wie gesagt, ich kann bei OBS machen was ich will, UTVideo akzeptiert dort keine individuellen Bitraten. Und sieht beim Ergebnis halt identisch aus wie der gleichnamige VFW Codec.


    Drauf achten sollte man wie gesagt beim Resizer und beim Farbraum.


    Wird NV12 als Farbraum genommen, wird UTVideo automatisch das Ganze als RGB32 aufnehmen.
    Und die Resizer lassen meist die Aufnahme verwaschen die bei OBS genutzt werden. Unbedingt abschalten, indem sie identisch eingestellt werden.


    PS:
    Basisauflösung sollte die Auflösung der Software haben.
    Heißt: Wenn man Desktop aufnehmen will, sollte da die Auflösung des Desktops stehen
    Läuft ein Game in 800x600, dann sollte dort 800x600 stehen.


    Die Ausgabe Auflösung sollte genauso dann eingestellt werden.


    Wenn das nicht so gemacht wird, verwischt das Video oder wird sogar abgeschnitten.
    Wenn es aber so gemacht wird wie eben beschrieben, dann ist Basis Auflösung = Ausgabe Auflösung und somit muss kein Skalierer arbeiten. Ergebnis ist dann ein sauberes ungeänderte Bild.


    Würde man dann noch den Farbraum auf RGB32 einstellen, so nimmt UTVideo 1:1 auf. So wie man die Anwendungen auch sieht. Ohne Verluste von Subsampling oder Skalierer.

  • Welche Videobitrate hast du denn eingestellt? Ich habe nämlich das Gefühl, dass OBS trotz UTVideo-Codec nicht wirklich lossless aufnimmt. Ich hab's bei mir auf 25.000 gestellt und wenn ich dann die fertige Datei anschaue, hat sie tatsächlich auch nur eine Bitrate von 25 Mbit.


    Mit den 25 Mbit sieht es für mich allerdings gut genug aus, daher behalte ich die Einstellung so bei. Aber wenn du da eine deutlich niedrigere Zahl eingestellt hast, kann das vielleicht der Grund für die schlechte Auflösung sein. Kann es gerne die Tage noch mal testen, wenn ich den nächsten Livestream aufgenommen habe.

    WTF, bei mir steht da 2.500 Bit/s eingestellt. Wie kann es dann sein, dass die Dateien trotzdem so groß werden wie von lossless gewohnt? Kann man das irgendwie einstellen, dass er das nicht begrenzt? Denn so ist lossless ja für die Katz mit OBS.
    Würde aber die super schlechte Qualität erklären.


    Sagaras: ich habe alles so eingestellt, wie auf der ersten Seite beschrieben. Die Qualität ist gegen MSI Afterburner echt grottig. Das sieht man mit bloßem Auge - und das mit demselben Codec. Da muss irgendwas im Argen sein mit OBS.


    Hier meine Einstellungen (Audio hab ich außenvor gelassen, weil ich eh immer Musik reinmache):



    Und hier ein Video mit OBS aufgenommen. Settings in SSM, MeGUI sind dieselben wie vorher mit MSI Afterburner, also 1152p30, CRF19, 10bit Encoding aktiviert: https://youtu.be/Vdp0J7nbDBM


    Wie es vorher aussah, seht ihr ja auf meinem Spieluin-Kanal.


    Also ich kapiere es nicht.


    Was mich stört: Farben sind nicht wie im Spiel, das war vorher anders mit Afterburner (selbe Farbeinstellung). Es ruckelt bei seitlichen Bewegungen im Video. Und die allgemeine Qualität ist schon bei der Originaldatei recht artefaktreich.


  • Bei mir steht, wenn ich es umgestellt habe, UTVideo als Standard-Codierer.


    Habe auch OBS Studio v18.0.1


    UTVideo nimmt auch nur mit I-Frames auf (Keyframes). Daher ist die Keyframeeinstellung auch total Nutzlos bei UTVideo.



    Das hier ist dann noch wichtig, damit es nicht Verschmieren tut:


    Basis Auflösung = Ausgabe Auflösung


    Und das hier ist halt wichtig:


    I420 = YV12 = YUV420
    I444 = YV24 = YUV444
    RGB = RGB24


    Matrix: BT.709
    PC Range: Begrenzt
    Gilt nur für I420 und I444, da RGB keine Matrix hat und nur im Vollbereich läuft.
    Für weitere Infos siehe hier: Farbräume (Tutorial) - erweiterte Erklärung und Zusammenhänge

  • Nehmt halt mal nur 2000 kbit und nehmt was mit UTVideo auf und zeigt Screenshot, dann würde man es ja klar sehen. Selbstverständlich encodiert UTVideo Lossless, aber man weiß ja nicht was OBS denn letztendlich senden tut. Ich halte Spieluin schon für in der Lage zwischen Farbraumverluste und schwere Kompressionsverluste unterscheiden zu können.

  • Jetzt hab ich auch mal 25000 eingetragen. Aber OBS nimmt bei mir mit UTVideo mit über 120Mbit auf bei einer Auflösung von 1600x900 und 60 FPS bei YV12.


    Also ich kann es nicht reproduzieren das die eingegebene Bitrate genommen wird.


    Und das Bild ist sauber. Keine Artefakte oder sonstwas was als Verlust gilt. Außer halt der Subsampling Verlust von YV12. Aber der würde auch wenn man den VFW nutzen würde zu ein identischen Bild führen.


    @De-M-oN
    Anscheinend trifft bei ihr beides zu. Einmal unterschiedliche Farben zwischen MSI AB und OBS und einmal das OBS bei UTVideo angeblich mit einer individuellen Bitrate aufnimmt und Kompressionsverluste somit auftreten.


    So lese ich es bei ihr raus wenn ich richtig gelesen habe. ^^


    Kann ich aber halt nicht reproduzieren, solange ich nicht 100% weiß wie und was sie bei MSI AB eingestellt hat und bei OBS.
    Denn wenn beide gleich moderat eingestellt wurden sehen die Bilder zwischen MSI AB und OBS identisch aus ohne Unterschiede. So jedenfalls bei mir hier.

  • So hier einmal die Originaldatei damals (hatte ich Gott sei Dank noch auf der Platte) mit MSI Afterburner und UT Video mit SSM das Skript erstellt und mit MeGUI enkodiert:



    Und hier dieselbe Bearbeitungsweise, nur mit OBS aufgenommen:



    Da sieht man einen sehr deutlichen Unterschied in der Qualität.


    Hier nochmal ein Ingame-Screenshot:



    Ausschnitt aus dem Video von derselben Stelle (nur halt als Video und nicht als Screenshot):



    OBS scheint halt auch nicht in der Lage zu sein die SweetFX-Effekt mit aufzuzeichnen, sondern nur die ENB-Effekte aus der d3d9.dll.

  • Ist jetzt der Unterschied zwischen den Windows-Eigenschaften und der Media-Info. Der Wert von der Media-Info würde dann stimmen, der von Windows ausnahmsweise nicht.

    Die Funktion der Windows Eigenschaften lesen lediglich den im AVI Header befindlichen Wert aus. Nicht den aus dem Stream.


    Der AVI Header ist so aufgebaut:


    Die MaxBytesPerSec beinhalten dann die Bitrate die du unter Windows Eigenschaften siehst.
    z.B. wird dort gespeichert: 488900 Bytes/sec (4Bytes - 0xC4750700) = 2500 kbit/s


    Unter STRH wird dann noch mal der Codec Header von UTVideo seperat angegeben.


    Die Struktur sieht aber so in jedem AVI Header gleich aus. Erst die Codec spezifischen Header geben die genauen Angaben zwecks Bitrate an. Das kann z.B. der Decoder dann auswerten oder Programme die die Codecs kennen. z.B. Mediainfo.


    Kurz und gut: Der unter AVIH angegebene Wert muss nicht korrekt sein. Da kann auch 1 kbit/s stehen und trotzdem ist ein Lossless MagicYUV darin gespeichert der ohne Probleme angezeigt werden kann.


    Dann würde dir Windows über die Windows Eigenschaften sagen das das Video nur 1Kbit/s hat. ^^
    Das ist halt etwas Fail dann. ^^




    @Spieluin
    Die Bilder in JPG hier zu posten ist etwas Fail, da JPG schon Verlustbehaftet ist und somit der Vergleich hinkt da von UTVideo die Kompressionsverluste zu ersehen.


    Die letzten zwei Bilder jedoch sehen für mich nach einem PC vs TV Range Problem aus. Sprich Begrenzter Bereich vs Vollbereich.


    Bei VFW UTVideo kann man das nicht einstellen, das obliegt der Aufnahmesoftware was sie hergibt.
    Sprich MSI AB würde im Vollbereich aufnehmen, wenn man UTVideo YUV420 BT.720 VCM nutzt. Da MSI AB die Bilder als RGB abgreift.
    Sofern MSI AB das auch so mach ;D


    Die MSI AB Aufnahmen müssen also nachträglich in TV Range umgeändert werden. Das kann man z.B. mit SSM machen.


    Wenn man mit OBS nun gleich in TV Bereich aufnimmt, dann muss auch im SSM das so angegeben werden das sich da nix ändert, sonst wird TV auf TV aufgewertet und das ergibt eine Doppel Limitierung des Farbbereiches. Und das muss nicht sein.


    MagicYUV bietet z.B. von Haus aus an in welchen Farbbereich man es nutzen will für die Konvertierung. ^^

  • Nun, ich habe die Bilder als PNG aufgenommen und gespeichert. Dass Imgur die umwandelt, kann ich nicht beeinflussen. Ich denke aber, dass der Unterschied trotzdem sehr deutlich zu sehen ist. Aber deine Wortwahl mir gegenüber scheint sich wohl immer noch nicht geändert zu haben ("Fail").


    Ich habe in Riva Tuner gerade mal Custom Direct3D Support angeschaltet, was dazu führt, dass die d3d9.dll der ENB im Spiel nicht geladen wird und ich weiße Flecken im Bild habe. Und es ändert auch nichts, dass MSI AB nicht reagiert, wenn ich die Aufnahmetaste drücke. Er hookt sich ein, ich sehe das OSD, aber es nimmt nicht auf, egal welche Taste.

  • Ich hab jetzt nochmal eine alte Version vom AB installiert, aber auch diese startet die Aufnahme nicht.


    Fraps ist aber doch total veraltet, oder?
    Wie sieht es mit Dxtory aus?


    Ich habe jetzt nochmal testweise in RGB aufgenommen. Daran liegt es auch nicht. Die Farben sind trotzdem nicht wie im Spiel. Er nimmt einfach ein paar Effekte nicht mit auf. Wenn ich statt mit dem Steam-Overlay mit der ENB oder SweetFX Screenshots mache, fehlen die Effekte auch. Das hat was damit zu tun, an welchem Punkt die BIlder abgegriffen werden. Nur keine Ahnung, wie ich es schaffen kann, dass er das so aufnimmt, wie es bei mir auch angezeigt wird.

  • Fraps ist zwar veraltet, aber wenn's das aufnehmen können sollte, würdes ja seinen Zweck erfüllen. Hast halt nicht so viele Einstellungen dort, musst Mikrofon extern aufnehmen wenns nicht direkt gemischt sein soll und halt die fps multiple lock geschichte. Aber wenn du in 60fps aufnimmst, kriegste von dem fps multiple lock ja deutlich weniger mit als damals bei 30fps aufnahmen. Würdest dann halt dauerhaft mit 60fps spielen,sofern dein Spiel nicht über 120 kommt.
    Aber lossless war auch 2013 schon lossless.^^


    Oder du besorgst dir ne tolle capture karte. Dann kannste eh alles aufnehmen und hast kein fps verlust durch hooking mehr.

Jetzt mitmachen!

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