Obs Studio - aufnahme und Stream - hohe Cpu Auslastung

  • Guten Abend,
    ich wollte in letzter Zeit etwas mehr streamen. Um den ganzen Spaß eventuell auch noch auf Youtube verwenden zu können (je nachdem) wollte ich gerne die Aufnahmefunktion von obs nutzen.
    Dazu benutze ich derzeit folgende Settings:



    Was mich dabei verwundert: Die Aufnahme mit dem UT Video codec verursacht fast 15 - 20 % der Cpu Auslastung. Das erscheint mir relativ viel. Zusammen mit dem Stream läuft das nicht so gut. Die aktuellen settings laufen ohne, dass es zu rucklern kommt, allerdings weiß ich noch nicht ob ich da am Optimum angekommen bin.
    Aufgenommen wird auf eine WD blue, system und spiel laufen auf anderen Platten.


    Ich wüsste nicht genau wo ich da am besten ansetze. Lieber weniger fps, noch geringere Auflösung für den Stream oder das Cpu-Preset höher wählen? Gibts bei der Aufnahme noch etwas zu verbesssern (performance technisch)?
    Mit dem x264 und qp=1 (sollte nochmal in Schnittprogrammen verwendbar sein) läuft das auch nicht so toll.


    (Wäre es möglich ein Video auf eine "Netzwerkplatte", die über Gigabit-Lan, was ja ungefähr 100 MegaByte/s schafft aufzuzeichnen und dieses Video dann live zu streamen, auf dem anderen Rechner verarbeitet? Nur ne spontane, etwas hirnrissige Idee.)




    Edit: Zu erwähnen ist eventuell noch, dass die Auflösung nicht nativ ist sondern durch die AMD Super resolution von 1920x1080 hochskaliert wird.

  • Was mich dabei verwundert: Die Aufnahme mit dem UT Video codec verursacht fast 15 - 20 % der Cpu Auslastung. Das erscheint mir relativ viel.

    1.) Das ist komplett normal. OBS ist halt ein ressourcenfresser beim aufnehmen.


    2.) Das skalieren WÄHREND der Aufnahme kostet natürlich nochmal wertvolle CPU Power.


    Entweder du reduzierst die Auflösung, Bitrate etc. oder nimmst nichtmehr gleichzeitig auf...oder du kaufst dir eine bessere CPU.

  • 1.) Das ist komplett normal. OBS ist halt ein ressourcenfresser beim aufnehmen.
    2.) Das skalieren WÄHREND der Aufnahme kostet natürlich nochmal wertvolle CPU Power.



    Es wird nicht während der Aufnahme skaliert (oder sehe ich das falsch?) deshalb ist das Kästchen bei "Aufnahme umskalieren" auch ausgegraut.


    Warum bringt es was die Bitrate reduzieren? Inwiefern wirkt sich das positiv auf die Performance aus.


    Ne neue Cpu lohnt sich absolut noch nicht. Es wäre also ressourcenschonender wenn ich einfach mit dem Afterburner noch ne Aufnahme starte? Kann doch aber auch nicht sein...




    nimmst nichtmehr gleichzeitig auf...

    Danke für den glorreichen Tipp.

  • Nicht das Programm Verursacht die CPU Belastung, sondern der verwendetet Codec und UT Video ist ein sehr sparsamer Codec was die CPU Belastung angeht.
    Solange deine CPU beim Streamen und Aufnahmen nicht die 100% erreicht ist alles ok.

  • Bitrate bei UtVideo anzugeben ist sinnlos und wird schlichtweg ignoriert.
    Deine Einstellungen sind suboptimal. Der Farbraum (unter Erweitert) steht auf NV12, was UtVideo nicht versteht, weswegen alles erst in RGB konvertiert wird, wodurch die CPU logischerweise stärker belastet wird. Stell auf I420 um, dann wird in YUV420 aufgenommen, was die CPU Auslastung deutlich reduzieren dürfte. Keine Ahnung, ob sich das letztlich aufs Streaming auswirkt.

    Zu erwähnen ist eventuell noch, dass die Auflösung nicht nativ ist sondern durch die AMD Super resolution von 1920x1080 hochskaliert wird.

    Bekommt OBS nun 1080p Material oder höherauflösendes? Sollte ersteres der Fall sein: Stell die Leinwand nicht auf 1152p. Du skalierst erst von 1080p auf 1152p und dann wieder von 1152p runter auf 460p. Sollte OBS 1152p+ Material bekommen, kannst du den vorherigen Abschnitt ignorieren.

  • Nicht das Programm Verursacht die CPU Belastung, sondern der verwendetet Codec und UT Video ist ein sehr sparsamer Codec was die CPU Belastung angeht.
    Solange deine CPU beim Streamen und Aufnahmen nicht die 100% erreicht ist alles ok.

    Dahin tendiert es aber, je nach Spiel. Obs (+UTVideo) verursacht dabei eben schon eine Auslastung von 60%. Die 100% sind also fast gar nicht zu vermeiden.
    Da ruckelt dann nicht nur das Spiel sondern auch die Aufnahme und der Stream.



    Bleibt mir wohl nichts anderes übrig als auf 30fps zu gehen. Schade für Youtube.
    (Prozessor ist btw. ein I5-3570k).



    Bitrate bei UtVideo anzugeben ist sinnlos und wird schlichtweg ignoriert.
    Deine Einstellungen sind suboptimal. Der Farbraum (unter Erweitert) steht auf NV12, was UtVideo nicht versteht, weswegen alles erst in RGB konvertiert wird, wodurch die CPU logischerweise stärker belastet wird. Stell auf I420 um, dann wird in YUV420 aufgenommen, was die CPU Auslastung deutlich reduzieren dürfte. Keine Ahnung, ob sich das letztlich aufs Streaming auswirkt.

    Bekommt OBS nun 1080p Material oder höherauflösendes? Sollte ersteres der Fall sein: Stell die Leinwand nicht auf 1152p. Du skalierst erst von 1080p auf 1152p und dann wieder von 1152p runter auf 460p. Sollte OBS 1152p+ Material bekommen, kannst du den vorherigen Abschnitt ignorieren.


    Den ersten Tipp werde ich befolgen. (dass die bitrate keine rolle spielen sollte war mir bewusst, allerdings war die standartmäßig gesetzt)


    Edit: Habe den Farbraum geändert, allerdings macht das ganze keinen großen Unterschied. 0,5 - 1% vielleicht.


    Obs bekommt 1152p Material.

  • Hattest du schon mal qp=1 mit preset=ultrafast probiert, das wäre dann die Schnellstmögliche Einstellung des x264.
    Der UT Video den OBS verwendet ist nicht so schnell wie der eigentliche, da der von OBS über ffmpeg implementiert ist.
    Vielleicht wäre das auch noch etwas was man ausprobieren kann.
    Und nicht vergessen, wenn du das mit dem x264 probiert nicht über die ffmpeg Einstellung zu gehen.

  • Hattest du schon mal qp=1 mit preset=ultrafast probiert, das wäre dann die Schnellstmögliche Einstellung des x264.
    Der UT Video den OBS verwendet ist nicht so schnell wie der eigentliche, da der von OBS über ffmpeg implementiert ist.
    Vielleicht wäre das auch noch etwas was man ausprobieren kann.
    Und nicht vergessen, wenn du das mit dem x264 probiert nicht über die ffmpeg Einstellung zu gehen.

    Ja, gerade auch nochmal durchprobiert.
    Solange z.B das Menü offen ist, also ein Standbild oder so vorliegt läuft alles gut. Sobald ich dann in das Spiel reinstartet und mich ein wenig bewege steigt die Auslastung durch Obs von 30% auf 60% und die "Kodierung überlädt".
    Gleiches gilt für den UT-Video Codec mit I420.





    Nur kurz angemerkt, ich habe mir deine CPU angeschaut in deinem Profil.
    Du hast ein I5, da ist es normal das deine CPU nicht wirklich mit klar kommt.

    Hätte nicht gedacht, dass der so schwach auf der Brust ist.

  • Okay vorrübergehende Lösung wird wohl erstmal sein für den Stream den VCE Encoder der Grafikkarte zu benutzen.
    Damit wird der Prozessor kaum ausgelastet und alles läuft top. Abstriche muss ich da dann natürlich bei der Qualität machen...

  • Ich würde x264 für den stream verwenden mit 30fps.
    Dann mit anderem Profil eine 2.te OBS Instanz starten und mit VCE oder vielleicht sogar mit UTvideo (wenns unbedingt lossless sein muss, wobei das wohl auch noch knapp mit der Leistung werden könnte) mit 60 fps aufnehmen.
    Funktioniert hier bestens mit 4670K. (allerdings mit NVEnc statt VCE)

Jetzt mitmachen!

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