OBS Studio - Verlustfreie Aufnahme & Sammelthread

  • Moin moin,


    jetzt war ich schon n Weilchen nicht mehr da und würde mich gerne wieder auf den neuesten Stand bringen, da mein altes Workflow jetzt wohl aus der Mode ist :'D


    Ich habe auch einige letzten Seiten hier im Thread gelesen, habe dennoch noch paar Fragen:


    Ich habe viele Beispiel-Einstellungen für NVENC gesehen, aber das unterstützt meine alte lady GTX 680 nicht. Die "Variante 1: FFmpeg und UtVideo" von der 1. Seite passt mir nicht, da ich nicht 2x OBS laufen lassen möchte für 2 Audio Spuren. "x264" Variante speichert das Audio verlustbehaftet, was ich ebenfalls nicht optimal finde, da ich dies gerne ins Nachhinein bearbeiten möchte. Gibts dazu eventuell neuere Codecs/Möglichkeiten (der erste Post ist ja schon bissle veraltet) oder soll ich vorerst auf das gute alte MSI vertrauen? Ooooder ich finde eine GraKa, die NVENC unterstützt ohne mein Mudget zu sprengen :'D


    Danke :)

  • Hi leute.


    Nach vielem hin und her testen, habe ich für mich herausgefunden, dass ich am besten mit OBS x264 crf1 aufnehme. Finde so habe ich die beste Qualität.


    Cpu ist: Ryzen 7 2700x

    Graka: RX 580


    Nunja. Wenn ich über die Grafikkarte aufnehmen will, der ja schon sowieso bei 99% bei z.B. pubg ist wäre es doch total dumm? Denn meine CPU langweilt sich bei PUBG so bei 20%


    Wenn ich per x264 crf1 ultrafast aufnehme... Geht die cpu Auslastung so bis 40% hoch.


    . Damals als ich mit crf19 aufgenommen habe und direkt angeschaut habe, war die Qualität beim shooter wie CSGO grottenschlecht. Obwohl ich CRF19 von Megui vor 5 Jahren noch sehr gut in Erinnerung habe.


    Was macht obs da falsch? Wenn ich mit CRF19 bei Veryfast aufnehme, ist die Qualität immernoch nicht angemessen.


    Jetzt zu meinem Problem.


    Habe jetzt 3 dateien mit jeweils 40GB / 15 Minuten.

    Die wollte ich wie in guten alten Zeiten (früher mit dxtory aufgenommen) per avysynth bei Megui Reinstellen...


    Die Datei per sagaras script Maker erstellt um hoch zu skalieren. (Kann handbrake leider nicht)


    Aber die avysynth datei öffnet einfach nicht? Habe net länger als eine Minute gewartet und megui immer beendet. Früher ging es mit meiner alten cpu i5 3570k viel schneller binnen sekhnden?


    Megui ist aktuell, sagaras script maker such? Liegts an der MKV h264 datei von OBS?


    Wie kann ich es umgehn ?

  • Nunja. Wenn ich über die Grafikkarte aufnehmen will, der ja schon sowieso bei 99% bei z.B. pubg ist wäre es doch total dumm? Denn meine CPU langweilt sich bei PUBG so bei 20%

    Zumindest dazu kann ich was sagen: Zumindest bei NVidia sind die Videorendercores eigene Einheiten, die Cores für die Renderpipelines von Game Grafiken sind andere. Von daher wenn in OBS 99% Auslastung der Grafikkarte steht, hat das wenig Einfluss aufs Spiel. Ich denke bei AMD ist das ähnlich.


    Mit CQP <20 solltest Du ansehnliche bis sehr gute Ergebnisse erzielen, ich nehme mit NVenc CQP14 auf...

  • Zumindest dazu kann ich was sagen: Zumindest bei NVidia sind die Videorendercores eigene Einheiten, die Cores für die Renderpipelines von Game Grafiken sind andere. Von daher wenn in OBS 99% Auslastung der Grafikkarte steht, hat das wenig Einfluss aufs Spiel. Ich denke bei AMD ist das ähnlich.


    Mit CQP <20 solltest Du ansehnliche bis sehr gute Ergebnisse erzielen, ich nehme mit NVenc CQP14 auf...

    leider ist das bei amd nicht so.

  • Ich experimentiere gerade mit VBR (Streamlabs OBS - ich rede aber von einer Aufnahme, nicht Streaming).


    Warum gibt es dort als Einstellung sowohl "Bitrate" als auch "max. Bitrate"?


    Mein Verständnis einer variablen Bitrate ist es, dass ich lediglich einen Maximalwert angebe und OBS schaut, ob der nötig ist oder nicht und bleibt ansonsten darunter.

    Meine Erfahrung aus ein paar Testaufnahmen ist die, dass die "normale" Bitrate (Zielbitrate?) nicht überschritten wird, obwohl die max. Bitrate höher eingestellt ist.


    Beispiel:

    Bitrate 30.000

    max. Bitrate 50.000

    Ergebnis: Testvideo hat 30.000, obwohl sichtbar Luft nach oben ist (etwas matschig hier und dort).

    Ausgabeauflösung übrigens 3200x1800 bei nativ 1080. Testaufnahme mit einer Rennsequenz aus Colin McRae Rally 2005.


    Soll ich einfach beides auf den gleichen Wert stellen?

  • Ja Du gibt's eine Zielbitrate an, und max gibt halt an wie hoch der Encoder dabei gehen kann in aufwendigen Szenen.

    Also Dein bisheriges Verständnis ist falsch. Ich denke das was Du meinst ist eher CRF oder CQP, damit gibst Du eine Zielqualität an und der Encoder erreicht die egal mit welcher Bitrate...

  • Ich glaube mein Fehler war die Annahme, dass OBS weiß, wann eine Aufnahme gut aussieht und ich deswegen keine Zielbitrate brauche ^^


    Verstehe trotzdem umgekehrt den Sinn der Maximaleingabe nicht. Soll es sich doch einfach an meiner Zielbitrate orientieren, da es offensichtlich eh nicht höher geht? :/


    Sehe dann jedenfalls keinen großen Mehrwert gegenüber der festen Bitrate, wo ich ja logischerweise auch einen Wert drin habe. Einziger Unterschied vielleicht, dass die variable manchmal spart (in Menüs etc.). Aber ob das oft genug passiert, damit es sich am Ende einer Folge gelohnt hat...? ...oder ob man damit nicht sogar wieder Fehler riskiert, oder mehr Ressourcenverbrauch, oder oder... weil OBS sich ja ständig anpasst, anstatt einfach mit festen Werten durchzurauschen.

  • Ich bin ja bekanntermaßen kein Fan von fester Bitrate :-)

    Problem daran ist, wie du selbst schon geschildert hast, in Szenen wo es ruhig zugeht oder sich sonst auch nichts tut (z.B. P&C Adventures) ballert der Encoder dann mit der fest eingestellten Bitrate die Dateigröße hoch obwohl nicht notwendig. Umgekehrt, bei Rennspielen oder allgemein schnellen Sequenzen können feste Bitraten schnell zum Flaschenhals werden.


    Ein guter Kompromiss wäre dann vielleicht noch CQP mit "maximaler Bitrate". Wobei ich den Wert dann wohl bei ~50k oder gar noch etwas höher ansetzen würde.


    Da ich zum Glück (aktuell) kein Speicherproblem habe, lass ichs einfach mit CQP 15 durchlaufen beim initial aufnehmen und render dann sowieso nochmal drüber mit niedrigeren Einstellungen um die Dateigröße etwas in den Griff zu bekommen. 3200x1800 bzw. bei mir natives Ultrawide 2560x1080 erzeugt teilweise schon richtig große Dateien wenn man dem Renderprogramm ansonsten freien Lauf lässt ^^

  • OBS weiß nicht wann eine Aufnahme gut aussieht. Variable Bitrate hat natürlich Vorteile gegenüger fixer Bitrate:


    1 Beispiel:


    Ziebitrate 30.000

    Max Bitrate 50.000

    Du stehst erst 10 Sekunden bei einem NPC und quatschst mit ihm, ruhiges Bild, ein Bild ist fast wie das Vorherige, da brauchst Du für ein unverpixeltes Bild nicht viel Bitrate. Da kommt der Encoder mit 10.000 Bitrate pro Sekunde aus.

    Dann bricht 10 Sekunden die Hölle los, es gibt Explosionen, verwackelte Kamera, Vegetation, da braucht der Encoder viel mehr Bitrate für ein gescheites Bild und geht auf die 50.000 pro Sekund rauf.

    (keine Ahnung ob die Zahlen so hinkommen für gut Bilquali, waren jetzt nur als einfaches Rechnbeispiel so genommen)


    Du hast also 10 x 10.000 + 10 x 50.000 = 600.000.

    600.000 / 20 = 30.000 Deine Zielbitrate.


    Mit fixen 10.000 wärst Du bei 200.000 rausgekommen, hättest aber in den letzten 10 Sekunden ein verpixeltes Bild.

    Mit fixen 50.000 wärst Du bei 1.000.000 rausgekommen, hättest durchgehend ein gutes Bild, aber reichlich Plattenplatz verschwendet, weil die ersten 10 Sekunden gar nicht so viel Bitrate nötig gewesen wäre.


    Die Max Bitrate gibt es nur, um den Encoder zu sagen, wo das absolute Limit ist, weil gerade Abspielgeräte oder auch Festplatten irgendwo limitiert sind. Bei h264 und h265 gibt es dafür auch die Level Angaben: https://de.wikipedia.org/wiki/H.264#Level die einfach gewisse Limits setzen. Aber Du weisst, dass ein HD Video, dass Du mit Level 4 codiert hast, auch auf jedem Player, der Level 4 unterstützt problemfrei abgespielt wird.


    Optimaler wie gesagt ist eigentlich CRF, da gibst Du eine Zielqualität vor und der Encoder kümmert sich darum, wie er die reicht, ohne Limitierungen. Bei NVENC ist das ein wenig knifflig zu konfigurieren, da dort ein "CRF" Mode auch über variable Bitrate eingestellt wird.


    Also kurz gesagt: Gib bei variabler Bitrate eine Zielbitrate an und setz die max Bitrate einfach so hoch wie es geht, wenn Deine Hardware das zulässt, so lässt Du dem Encoder maximalen Gestaltungsspielraum.


    Edit: A.F.K DaN Bei CQP kann man eigentlich keine maximale Bitrate angeben, wäre auch irgendwie sinnfrei...

  • Keyframeintervall würde ich auf 2 setzten. Ist glaube ich auch so beim Youtube Support angegeben bzw. empfohlen. Könnte auch Twitch gewesen sein :D


    ansonsten sieht das denke ich ganz gut aus soweit. Ist bei mir so fast identisch eingestellt.

    Nur ich hab MP4 da sind die Dateien nicht so groß. Das Risiko einer abgebrochenen Aufnahme nehme ich in Kauf:D


    ist das untere Bild aus einem anderen Programm?

  • Keyframeintervall würde ich schon angeben, 2 ist sehr niedrig, ich nehm über OBS mit ffmpeg Settings auf, meine Keyframeintervall ist 30, das ist auch schon niedrig, aber so lässt sich in TMPGEnc besser springen auf der Timeline. Beim Rendern für den Upload habe ich 300. Bei 60fps also alle 5 Sek in Keyframe, viele nehmen auch 600 afaik.

    CQP Wert 10 ist sehr niedrig, also sehr gute Quali, denke 14 oder sowas würde auch reichen.


    Psycho Visual Gedöhns habe ich aus.


    TMPGEnc habe ich 60 Quality, hat natürlich Einfluss auf die Dateigröße.


    MP4 vs MKV als Container sollte in der Dateigröße keinen riesigen Unterschied machen, wenn sind da Encoder Settings anders. Das mkv Format ist robuster, schmiert Dir die Aufnahme ab, kannst Du die mkv Datei noch retten, die MP4 Datei nicht.


    Ich denke die Settings die ich geschrieben habe machen nur Nuancen aus, von daher siehts ganz gut aus ja. Am meisten Einfluss wird rumspielen mit CQP Wert und der Quality Parameter von TMPGEnc haben.

  • CQP verbraucht ziemlich viel Speicherplatz unnötig. Würde da auf CRF gehen wie bei TMPGEnc.

    Mit Streamfx hast du wesentlich mehr Einstellungen für die Encoder als mit dem hauseigenen Kram von OBS.

    Auflösung würde ich ja nach wie vor zu 3200x1800 raten..


    Des Weiteren an Drexel : Quality 56 immer noch verlustfrei für's Auge und der Transcode von Youtube leidet auch nicht.


    In Streamfx kann man dann diese Settings nehmen:


    https://abload.de/browseGaller…nshot2022-01-31190kgb.png


    Mit dem grünen Pfeil über dem Bild kannst du zum nächsten Bild der Gallerie springen.

    Qualität 30 entspricht CRF 15.

    Es ist Qualität %, aber verkehrtrum implementiert (kleinere Werte = Besserer CRF)

    In der OBS Log kann man dann auch sehen das CRF 15 bei Einstellung 30 verwendet wird.

  • StreamFX, auch wenn es vermutlich ganz toll ist, möchte ich nicht verwenden. Ich verwende ungerne mehr Tools als unbedingt nötig. Vor allem wenn es noch mehr Optionen und Einstellmöglichkeiten mitbringt, die alles noch komplizierter machen und ich am Ende gar nicht mehr weiß, was man da eigentlich einstellt.


    OBS bietet von Haus aus nicht CRF an, wenn ich das richtig sehe. Möglich sind nur CQP, VBR und CBR. Dann bleibe ich bei CQP, die Aufnahmen sind halt etwas größer, dafür encodiert man ja unter anderem neu danach.

    Wenn die CQP-Einstellungen so in Ordnung sind, ist für mich alles tutti.

Jetzt mitmachen!

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