Von MSI Afterburner zu OBS Studio: Erbitte Hilfe bei Aufnahmeproblemen :(

  • Edit weil Video:
    Das Video ruckelt aus meiner Sicht aber schon ziemlich. Mit wie vielen FPS spielst du? Das sieht spontan eher nach 20 als nach 50 aus. Das kann nicht ganz korrekt sein.


    Edit Ende.


    Wenn ich nicht völlig blind bin, scheinst du genau 0 verworfene Frames gehabt zu haben, da die betreffenden Zeilen schlichtweg nicht vorhanden sind. Mal hoffen, dass die nicht einfach so wegen NVENC weggelassen wurden, sondern dass es tatsächlich keine verworfenen Frames gibt.
    Bleibst du hierbei, solltest du dir noch CoreAudio zulegen, wie Schauerland bereits schrieb.


    Wenn du ganz sichergehen möchtest, postest du noch eine >MediaInfo< einer Testaufnahme. Danach wirst du eh jedes Mal gefragt werden, wenn es irgendein Problem mit einer Aufnahme gibt, also gleich angewöhnen. ^^


    Umgekehrt bietet das Einstellen von I420 keinen Mehrwert oder?

    Technisch nicht. Dann warte ich aber nur auf die nächste Person, >die versehentlich UtVideo und NV12 zusammen nutzt<.

  • Edit weil Video:
    Das Video ruckelt aus meiner Sicht aber schon ziemlich. Mit wie vielen FPS spielst du? Das sieht spontan eher nach 20 als nach 50 aus. Das kann nicht ganz korrekt sein

    Jau das Problem kenn ich mit NVEnc und OBS.
    Das einzige was bei mir vernünftig geht ist der interne x264 von OBS. Alles andere grottenlangsam.

  • Ok auf diese Sachen wollte ich noch eingehen:

    Du wirst sowieso vieles testen müssen, OBS mit x264, OBS mit UtVideo, OBS mit NvEnc, Dxtory mit MagicYUV, etc.
    Eins davon wird für dich am besten funktionieren, was nicht bedeutet, dass es für alle Fälle das richtige Mittel ist. Das Programm meiner Wahl ist Dxtory, trotzdem war es schon nötig mal MSI AB oder OBS Studio zu nutzen. Es ist also immer hilfreich mindestens zwei Aufnahmeprogramme parat zu haben.

    Scheint mir wohl unverzichtbar, wenn ich mir den Verlauf dieser Diskussion hier so anschaue. *seufz*


    Dxtory muss man kaufen, oder?
    Und da kann ich dann aber wieder den MagicYuv Lossless benutzen? Zumindest im Afterburner hat der bei mir - nach Einweisung durch De-M-oN und den Gelben Drachen - perfekte Aufnahmen produziert. Wenn ich mir die angeschaut habe, konnte ich nicht mehr zwischen dem echten Spiel und der Aufnahme unterscheiden. So gut war das!
    Nur halt bei CiV ohne Mauszeiger... AAAAaaaarg!


    Ich würde noch den coreaudio encoder (dll) installieren.
    Am einfachsten geht das indem du einfach iTunes installierst. Der ist weitaus performanter (mehr als 1% :)) als der von ffmpeg
    und wird *trommelwirbel* von den Entwicklern empfohlen.

    Das ist jetzt aber rein für die Audioqualität, oder?

  • Und da kann ich dann aber wieder den MagicYuv Lossless benutzen? Zumindest im Afterburner hat der bei mir - nach Einweisung durch De-M-oN und den Gelben Drachen - perfekte Aufnahmen produziert. Wenn ich mir die angeschaut habe, konnte ich nicht mehr zwischen dem echten Spiel und der Aufnahme unterscheiden. So gut war das!

    Wär auch schlimm wenn nicht bei einem Lossless Codec ^^


    Ja VfW geht da wieder und DXTory kann auch den Mauszeiger aufnehmen. Würde es aber vorher testen wie es bei deinem System läuft. und auch hier nach Tipps gucken, zb Direct3D9 Spiele scheinen ja bei Advanced gewisse Haken benötigen.

  • Edit weil Video:
    Das Video ruckelt aus meiner Sicht aber schon ziemlich. Mit wie vielen FPS spielst du? Das sieht spontan eher nach 20 als nach 50 aus. Das kann nicht ganz korrekt sein.

    Ja, ne? Wie ich im ersten Post gesagt habe: Es sieht aus, als wären das zu wenig Frames!
    Aber laut der Media Info ist dem nicht so.


    Ich hab mal hier:
    Von MSI Afterburner zu OBS Studio: Erbitte Hilfe bei Aufnahmeproblemen :(
    ... noch die Media Info für die Aufnahme eingefügt, die ich auf YouTube hochgeladen hab.


    50FPS, sagt die Info.
    Aber die Dateigröße kommt mir einfach so lächerlich zu klein vor.
    Hätte ich das mit meinen bisherigen Afterburner-Einstellungen gemacht, wären das 4GB.



    Un zu den Verworfenen Frames:
    Du bist nicht blind. Die Verworfenen Frames sind nicht mehr im Log seit ich die Vorschau ausgeschaltet hab. Aber an dem eigentlichen Problem der "fehlenden Frames, die laut Info nicht fehlen" ändert sich dadurch gar nichts.


    EDIT:
    Achso: Mit wie vielen Frames ich spiele?
    Ich nehme mit Afterburner auch mit 50 auf und die kleine lila Anzeige, die da oben links dann die Frames anzeigt, steht meist bei 60. Also nehme ich an, ich spiele mit 60?^^

  • Dxtory muss man kaufen, oder?

    Jup. Schätzungsweise 35€, hast aber keinerlei Einschränkungen deine Lizenz betreffend. Testversion runterladen und ausprobieren.

    Und da kann ich dann aber wieder den MagicYuv Lossless benutzen?

    In Dxtory kannst du alle Codecs nutzen wie auch beim MSI AB, da beide die selbe Schnittstelle verwenden: VfW - Video for Windows.

    Das ist jetzt aber rein für die Audioqualität, oder?

    Audioqualiät und/oder Performance.


    Wenn x264 bei dir eine zu hohe CPU Last erzeugt und NVENC nur ruckelt, würde ich noch die Variante mit UtVideo austesten, falls du kein Geld für Dxtory ausgeben möchtest.

  • Wär auch schlimm wenn nicht bei einem Lossless Codec

    Ja... ungefähr so schlimm wie das Ganze hier! :cursing:;(


    Naja du siehst die FPS des Videos, aber nicht wieviel Frames davon Dropped Frames sind, sprich dummy/leere Frames.

    Aber DAS wiederum müsste mir die Log-Datei zeigen? Oder nicht?



    Wenn x264 bei dir eine zu hohe CPU Last erzeugt und NVENC nur ruckelt, würde ich noch die Variante mit UtVideo austesten, falls du kein Geld für Dxtory ausgeben möchtest.

    Beide (x264 und NVENC) scheinen dasselbe Problem bei OBS zu haben.
    Hm... ich kann mir die Testversion von Dxtory ja runterladen, ne Probeaufnahme machen und mal schauen, wie das so klappt, oder? Wenn's dann damit hinhaut könnte ich meinen MagicYuv wieder nutzen und müsst halt Geld ausgeben. Würd ich aber machen, wenn's dann wenigstens klappt...

  • "Das musst du so nutzen weil Grafikkarte" ist nun mal keine Begründung mit der ich mich begnüge. Das hat für mich die Aussagekraft des Wahrheitsgehalts eines Perpetuum Mobiles auf YouTube.
    Ich hätte gerne einen praxisnahen Test der zeigt, dass die Nutzung von NV12 tatsächlich einen spürbaren oder zumindest messbaren Vorteil bietet. Wüsste ich, wie sich das am besten umsetzen ließe, würde ich mich selbst daran setzen.
    Wer sich bei x264 aus Performancegründen bereits mit i420 und NV12 befassen muss, dem wird der (falls überhaupt existente) Performancevorteil nicht weiterhelfen und hat aus meiner Sicht gänzlich andere Probleme. Gehört bisher aus meiner Sicht in die Kategorie "nett zu wissen, aber in der Praxis unwichtig".

    Performanter im Sinne wie es gespeichert wird.


    Schließlich wird der Informationsgehalt ja nicht anders nur weil man von einem 4:2:0 auf ein anders 4:2:0 wechselt.


    Kurze Erklärung:
    NV12 ist besser performanter gegliedert und baut sich daher schneller auf und lässt sich besser auch wieder abspeichern.
    Reihenfolge der Speicherung:
    Y Register
    gefolgt von den UV Registern (Bund)
    Sprich Y1 Y2 Y3 Y4 Y5 Y6 U1 V1 U2 V2 U3 V3 U4 V4 ...


    Bei YV12 hast du die typische MPEG Basis noch die wesentlich langsamer ist.
    Erst erfolgen die Y Register
    gefolgt vom U Register
    und erst zum Schluss kommt der V Register
    Sprich Y1 Y2 Y3 Y4 Y5 Y6 U1 U2 U3 U4 U5 U6 V1 V2 V3 V4 V5 V6 ...


    So bauen sich dann die Matrizen auch auf.
    Daher hast du mittels NV12 das Bild nicht nur schneller, sondern es wird dir die Ebene gleich komplett mitgeliefert beim UV Durchgang. Bei YV12 nicht.


    Bei NV12 wird der U Bit als least significant bit und der V Bit als most significant bit gehandhabt. So teilen sich beide ein Byte.
    Und YV12 nutzt für U und V jeweils ein Byte separat.


    Während also NV12 Sparsam ist und 2 Byte verwendet, verwendet YV12 schon 3 Byte. Und das für den gleichen Pixel.


    Den Unterschied zwischen beiden kann man so nicht gleich ersehen, weil gerade NV12 meist in Kompressions Codecs verwendet wird.
    Ansonsten würde man zwischen NV12 und YV12 einen Dateigrößen Unterschied feststellen.


    Da aber gleicher Informationsgehalt unterschiedlicher Größe mit Kompression auf gleiche Größe komprimiert wird ersieht man den Vorteil nicht.


    Wie gesagt: NV12 muss mit weniger auskommen Daten auskommen, weil U und V sich ein Byte teilen. Somit reduziert sich natürlich auch die Datenmenge die durchgejagt werden muss.


    Ich hoffe ich konnte dich damit wenigstens etwas weiter helfen.


    In der Praxis ist man mit NV12 weit schneller fertig als mit YV12, es sei denn man dekodiert es wieder in RGB um, dann verfällt natürlich der ganze Schmarrn.
    NV12 ist aber vor allem beim Streaming sehr gefragt aufgrund dessen was ich dir versucht habe zu erklären. Daher wird es in OBS ja auch verwendet. Theoretisch wird es eigentlich schon in jedem Streaming Tool verwendet. Selten das es mal bei einem Streaming Tool fehlt.

  • Finde zwar, dass das besser in deinen Thread zu Farbräumen passt, aber gut. Vielleicht verschiebt @sem diesen und deinen Beitrag ja dort hin.


    Während also NV12 Sparsam ist und 2 Byte verwendet, verwendet YV12 schon 3 Byte. Und das für den gleichen Pixel.

    Entweder war das sehr unglücklich ausgedrückt oder du liegst in dem Fall schlicht falsch. In 3 Byte, also 24bit könntest du schon einen RGB24 Pixel stecken, daher 8bit pro Kanal. YUV420 benötigt exakt die Hälfte, daher 1,5Bytes pro Pixel, oder auch 12bit pro Pixel. FFmpeg stimmt mir da zu.


    Code
    FLAGS NAME NB_COMPONENTS BITS_PER_PIXEL
    -----
    IO... yuv420p 3 12
    IO... nv12 3 12

    Lässt sich auch recht einfach nachvollziehen, 4 Pixel (2x2) teilen sich die Farbinfos. Heißt auf die 4 Pixel bezogen:

    • 4 Helligkeitswerte je 8 bit (Luminanz)
    • 2 Farbwerte je 8 bit (Chrominanz)

    Was in 4x8bit + 2x8bit = 48bit resultiert. Da es jedoch 4 Pixel sind, muss durch 4 geteilt werden, um die Bitzahl pro Pixel zu bestimmen: 48bit / 4 = 12bit. Jeder Pixel in YUV420 benötigt daher 12bit.
    Unkomprimiertes I420 Material hat demnach die exakt gleiche Größe wie unkomprimiertes NV12 Material.

  • Wow, hier geht's ja ab. :D
    Ich versteh kein Wort. Aber gut, das scheint ja eh off-topic zu sein.


    Danke für das Angebot, Drache! :)
    Ich komme gerne mal drauf zurück. Wobei "mal" vermutlich morgen sein wird.


    Ich hab mir jetzt hier nochmal alles durchgelesen und mir ein paar Notizen gemacht zu Dingen, die nützlich sein könnten und werde mal noch ein bisschen recherchieren. Vor allem zu den erwähnten Codecs.


    Außerdem hab ich mir das Tutorial zu dxtory angeschaut/durchgelesen und das sieht ja ganz gut aus. Werde das morgen mal ausprobieren und schauen, wie weit ich damit komme. Für heute is erst mal Schluss bei mir, denn mir raucht jetzt ganz schön die Birne^^


    Also euch noch nen spaßigen Abend/ne gute Nacht.
    Und vielen Dank für euren Einsatz hier! DANKE! :)

  • nochmal on-topic.


    dass das video ruckelt könnte auch an der art des captures ligen und deinem monitor.


    hast du zB einen 120 hz monitor ist das recht fucked... das hängt alles irgenwie zusammen.


    also was man generell tun sollte: vsync an bzw den halben wenn du mit 60 aufnimmst (würde auch mit 60 statt 50 aufnehmen immer so wie es das spiel liefert da sonst solche effekte auftreten können) - ein weiterer nachteil von obs.


    dann game capture verwenden, nicht desktop und bei game capture die haken setzen bei
    - Limitiere FPS der aufnahme (OBS versucht dann die fps des game captures auf die ser szene anzupassen)
    - mauszeiger aufnhemen (wenn du das willst aber ich gehe davon aus, da afterburner es ja nicht tut ;))
    - anti cheat hook (hab ich immer drin ist aber nur für online games wichtiger - kannst du rausmachen aber dann nicht vergessen falls du mal online spielst da du evtl gebannt werden kannst wenn der obs hook als cheat erkannt wird)
    - aufnahme von drittanbieter overlays (braucht nur rein wenn die die notifications von steam mit aufnehmen willst)

  • Aber vsync verursacht so brutal viel Input Lag :(
    Bei meiner Capture Karte müsste das halt auch an, aber auch nur damit die Aufnahme kein Tearing hat. Flüssig isses mit CC eig. auch ohne vsync gewesen. Bei OBS keine Ahnung. Ich hab's eine ganze Weile mit Vsync ausgehalten, aber mittlerweile wo man dann doch mal wieder gesehen hat wie es ist ohne diesen Input Knoten, dann mag man irgendwie doch nicht mehr :S

  • Danke für die erneuten Tipps!
    Das klingt doch nochmal interessant.



    dass das video ruckelt könnte auch an der art des captures ligen und deinem monitor.


    hast du zB einen 120 hz monitor ist das recht fucked... das hängt alles irgenwie zusammen.


    Also mein Monitor hat 60 Hertz.


    Zitat

    also was man generell tun sollte: vsync an bzw den halben wenn du mit 60 aufnimmst (würde auch mit 60 statt 50 aufnehmen immer so wie es das spiel liefert da sonst solche effekte auftreten können) - ein weiterer nachteil von obs.


    Wo aktiviere ich das? Im OBS? Oder ist das ne Windows-Sache?


    Zitat

    dann game capture verwenden, nicht desktop und bei game capture die haken setzen bei


    Wenn du damit meinst, dass ich das Spiel bei OBS als Quelle hinzufügen soll, anstatt einfach den Desktop abzufilmen, dann tue ich das schon.
    Zu den Einstellungen:


    Zitat

    - Limitiere FPS der aufnahme (OBS versucht dann die fps des game captures auf die ser szene anzupassen)
    - mauszeiger aufnhemen (wenn du das willst aber ich gehe davon aus, da afterburner es ja nicht tut ;))
    - anti cheat hook (hab ich immer drin ist aber nur für online games wichtiger - kannst du rausmachen aber dann nicht vergessen falls du mal online spielst da du evtl gebannt werden kannst wenn der obs hook als cheat erkannt wird)
    - aufnahme von drittanbieter overlays (braucht nur rein wenn die die notifications von steam mit aufnehmen willst)


    Mauszeiger brauche ich ja. Civilization ohne Mauszeiger mit dem man zeigen kann, was man tut, ist für den Zuschauer unmöglich zu verstehen. Zumindest wenn man - wie ich das tue - auch nebenbei Dinge zum Spiel erklären will und dafür in der Lage sein muss, drauf zu zeigen.
    Was tut denn der anti-cheat hook? Der sorgt quasi dafür, dass ein Online-Spiel meine OBS-Software nicht als Cheating-Tool wahrnimmt?
    Steam Overlays brauch ich nicht. Gut, dass man die hier ausschalten kann.

  • Ja. Ja. Nein.


    Ich habe 3 Monitore.
    - Mein Hauptbildschirm 1920x1080, 60Hz. Da läuft Civilization 6 drauf.
    - Nen Nebenbildschirm 1280x1024, 75Hz. Da liegt in der Tat das OBS.
    - Meinen Fernseher, der auch noch dran hängt und von dem ich ehrlich gesagt keine Ahnung hab, was der für ne Größe hat. Größer als der Hauptbildschirm jedenfalls. Aber die Auflösung im Windows ist auch auf 1920x1080 eingestellt. Ebenfalls 60Hz. Da ist eigentlich nichts wichtiges drauf. Bei ein paar OBS-Testaufnahmen hatte ich mir den MSI AB da draufgelegt, um die GPU-Auslastung zu beobachten.


    Sollte ich die vllt alle auf 60Hz bringen? Tatsächlich war die Vorschau des OBS auch immer ziemich ruckelig... noch mehr als die eigentliche Aufnahme. Hat das mit der unterschiedlichen Hertzzahl der Monitore zu tun?


    Und jetzt ist mir noch was aufgefallen!
    Ich hab das VSYNC gegoogelt. (Sry, hätt ich auch gleich machen können. Manchmal bin ich schneller mit dem Fragen als mit dem Denken.^^') Dabei hab ich rausgefunden, dass es eine Einstellung im Spiel ist und hab in Civilization mal nachgeschaut.


    Ich hab in einem Dschungel von Einstellungen unter "Erweiterte Anzeigeeinstellungen" schließlich festgestellt, dass vsync bereits aktiviert ist! Aber die Frames vom Spiel auf 30 beschränkt werden! Hab das jetzt mal auf 60 hochgestellt und werde dann die nächste Probeaufnahme auch mit 60FPS machen.
    Vielleicht hatte es auch damit zu tun?

Jetzt mitmachen!

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