Das Enkodieren von Videos ist ein sehr CPU-intensiver Vorgang, und OBS ist da keine Ausnahme. OBS verwendet die beste verfügbare Open-Source-Videocodierungsbibliothek, x264, um Videos zu codieren, und kann Hardware-Encoder wie NVENC auf High-End-GPUs verwenden. Bei manchen Nutzern kann es jedoch zu einer hohen CPU-Auslastung kommen, und andere Programme, die auf Ihrem Computer laufen, können eine verminderte Leistung aufweisen, während OBS aktiv ist, wenn Ihre Einstellungen für die Hardware Ihres Computers zu hoch sind. In manchen Fällen zeigt OBS in der Statusleiste die Meldung „Encoding overloaded!“ an, was bedeutet, dass Ihr Computer Ihr Video nicht schnell genug encodieren kann, um die Einstellungen beizubehalten, auf die Sie es eingestellt haben, was dazu führt, dass das Video nach ein paar Sekunden einfriert oder periodisch stottert.
Hier sind einige Möglichkeiten, wie Sie die Ressourcenauslastung reduzieren und hoffentlich dafür sorgen können, dass sowohl OBS als auch Ihre Programme während der Encodierung schneller laufen:
Verringern Sie die Ausgabeauflösung
Die Auflösung, mit der Sie encodieren, hat den größten Einfluss auf die CPU-Auslastung. Zum Beispiel hat 1080p mehr als die doppelte Anzahl von Pixeln in jedem Frame im Vergleich zu 720p, und Ihre CPU-Auslastung steigt entsprechend. Die gängigste Methode, die CPU-Auslastung zu reduzieren, ist die Herunterskalierung der Auflösung. Beim Herunterskalieren nimmt OBS Ihre Szene und verkleinert sie so weit, wie Sie es wünschen, bevor es sie an den Encoder weitergibt. Möglicherweise möchten Sie eine Basisauflösung von 1080p, da dies die Auflösung Ihrer Inhalte ist, aber Ihre CPU ist möglicherweise nicht in der Lage, ein nicht herunterskaliertes 1080p-Video zu codieren. Daher können Sie Ihre Auflösung auf 720p (oder niedriger) herunterskalieren, um Ihr Bild beizubehalten, aber eine geringere Auflösung zu verwenden, um die CPU-Belastung zu verringern.
Sie können unter Einstellungen > Video > Ausgabeauflösung (skaliert) ändern, wie stark Sie herunterskalieren möchten. Sie können die Basisauflösung (Canvas) beibehalten, so dass sich Ihr Layout nicht ändert, und dann die Auflösung so weit herunterskalieren, wie es die Leistung zulässt.
Die verschiedenen Herunterskalierungsfilter (bilinear, bikubisch und Lanczos) ändern einfach den Algorithmus, der zum Verkleinern des Bildes verwendet wird: bilinear ist am schnellsten und benötigt die wenigsten Ressourcen, sieht aber nicht so gut aus, während Lanczos mehr Ressourcen benötigt, aber besser aussieht. Von der Leistung her unterscheiden sich die beiden Algorithmen jedoch nicht so sehr. Probieren Sie einfach aus, welcher Filter für Sie am besten geeignet ist.
Senken Sie die Bildrate
Wenn Sie mit mehr als 30 FPS streamen, sollten Sie eine weitere Option in Betracht ziehen: Senken Sie Ihre Bildrate auf 30 FPS. Dadurch wird die Anzahl der Bilder, die Ihre CPU in einer bestimmten Zeitspanne verarbeiten muss, reduziert, was wiederum die CPU-Auslastung verringert. Es kann sogar notwendig sein, die Framerate auf unter 30 FPS zu senken, falls Ihre CPU wirklich schwach ist und zu kämpfen hat.
Verwenden Sie Hardware-Encoder (Quicksync, AMF oder NVENC)
Quicksync, AMF und NVENC sind Hardware-Encoder, die in neueren integrierten Intel-GPUs, neueren AMD-GPUs bzw. neueren NVIDIA-GPUs enthalten sind. Sie können die Kodierungslast auf diese Hardware-Kodierer verlagern, allerdings auf Kosten einer etwas geringeren Qualität bei gleicher Bitrate (obwohl neuere NVIDIA-Karten die Software-Kodierung sogar übertreffen). Beachten Sie, dass QSV / AMF bei niedrigen Bitraten besonders schlecht sind, so dass sie für das Streaming nicht empfohlen werden.
Wenn Sie einen der genannten Hardware-Encoder haben, können Sie sehen, ob diese Optionen in den Encoding-Einstellungen verfügbar sind.
Quicksync ist etwas schwieriger einzurichten, aber hier ist eine Anleitung: https://obsproject.com/forum/resources/how-to-use-quicksync.82/
Auch hier gibt es eine Anleitung zur Fehlerbehebung für den AMF-Encoder: https://github.com/Xaymar/obs-studio_amf-encoder-plugin/wiki/Troubleshooting-Guide
Ändern Sie Ihre x264-Voreinstellung
Wenn Sie den Software-Encoder (x264) verwenden, verfügt dieser über eine Reihe von „Voreinstellungen“, die die Videoqualität und die CPU-Auslastung entsprechend ändern. Die OBS-Voreinstellung ist „veryfast“, was in den meisten Fällen die beste Balance zwischen CPU-Auslastung und Videoqualität darstellt. Diese Einstellung kann unter Einstellungen > Ausgabe geändert werden (aktivieren Sie die Option Erweiterte Encoder-Einstellungen aktivieren, wenn Sie sich im einfachen Modus befinden) > Encoder-Voreinstellung.
Der Name der Voreinstellung soll angeben, wie „schnell“ der Encoder laufen soll. Schnellere Voreinstellungen verbrauchen weniger CPU auf Kosten von Qualitätsberechnungen. Wenn Sie beispielsweise versuchen möchten, die CPU-Auslastung zu verringern, ohne die Auflösung oder die FPS zu verändern, können Sie die CPU-Auslastung verringern, indem Sie die x264-Voreinstellung auf „superschnell“ oder „ultraschnell“ ändern. x264 verbringt dann weniger Zeit damit, das Bild gut aussehen zu lassen, und spart Ihnen einige CPU-Zyklen. Das Bild sieht vielleicht etwas blockiger oder pixeliger aus, aber Sie können Ihre Auflösung/FPS beibehalten.
Seien Sie sehr vorsichtig mit dieser Einstellung, denn schon eine Stufe schneller oder langsamer kann enorme Auswirkungen auf die CPU-Auslastung haben. Zum Beispiel kann die Voreinstellung „schneller“ die doppelte Menge an CPU verbrauchen als „sehrschnell“, die Voreinstellung direkt darüber. Stellen Sie die Voreinstellung immer auf „sehrschnell“ zurück, wenn Sie nicht sicher sind, was Sie einstellen sollen.
Prüfen Sie Ihre Quellen
Einige Quellen wie Webcams und Capture-Karten können eine Menge CPU verbrauchen, nur weil sie in Ihrer Szene sind, da sie die Videodaten dekodieren müssen. Wenn Sie eine Webcam verwenden, stellen Sie sicher, dass sie nicht mit einer zu hohen Auflösung läuft (mehr als 480p wird selten benötigt, wenn es sich nicht um ein Vollbild handelt). Browser-Quellen können ebenfalls CPU verbrauchen, wenn komplexe Animationen oder Skripte aktiv sind.
Wenn Sie viele verschiedene Szenen für unterschiedliche Szenarien haben, sollten Sie diese gegebenenfalls in separate Szenensammlungen aufteilen. Dadurch verringert sich die Anzahl der aktiven Quellen, die OBS im Auge behalten muss, was die CPU-Auslastung reduzieren kann.
Rüsten Sie Ihre Hardware auf
Einige CPUs sind so schwach, dass es nahezu aussichtslos ist, etwas Anständiges zum Laufen zu bringen. Dual-Core-CPUs und AMD APUs sind dafür besonders berüchtigt. Sie können vielleicht einen 360p-Stream mit 25 FPS mit der Voreinstellung „Ultrafast“ abspielen, aber das sieht sicher nicht gut aus. Das müssen Sie selbst entscheiden. Wenn Sie einen Sandy Bridge i5 oder i7 oder einen AMD 6-Core oder 8-Core oder einen neueren Prozessor haben, dann sollten Sie in der Lage sein, einen anständigen Stream mit vernünftigen Auflösungen und Bildraten zu erstellen.
OBS unterscheidet sich von vielen anderen Streaming-/Aufnahmeprogrammen dadurch, dass es Ihren Grafikprozessor für eine bessere Leistung nutzt. Leider kann dies bei einigen älteren oder preisgünstigen GPU-Modellen zu einem Engpass bei der Leistung Ihres Streams führen. Dies ist in der Regel auf eine geringe Speicherbandbreite und/oder eine geringe Anzahl von Prozessorkernen zurückzuführen. Grafikprozessoren wie die nVidia GTX 200-Serie (250, 260, 280) und 9800GT und frühere Modelle waren zu ihrer Zeit sehr leistungsfähig, sind jetzt aber sehr alte Karten, die die Leistung von OBS stark beeinträchtigen.
Betreiben Sie alle Audioquellen mit der gleichen Frequenz
Wenn Ihr Desktop-Audio mit 44100 Hz läuft, Sie OBS aber auf 48000 Hz eingestellt haben, muss es das Audio neu abtasten, was CPU-Zeit kostet. Je mehr Audioquellen Sie hinzufügen (z. B. Mikrofon, Medienquellen), die unterschiedliche Abtastraten verwenden, desto mehr CPU-Leistung wird durch das Resampling verbraucht. Lassen Sie alle Audiogeräte und OBS mit der gleichen Frequenz laufen, um dies zu vermeiden.
Andere Programme/Spiele verbrauchen ebenfalls CPU
Bestimmte Programme (insbesondere Spiele) können viel CPU verbrauchen. Dazu gehören einige offensichtliche, wie Battlefield 4, und einige nicht offensichtliche, wie Spiele, die über Emulatoren gespielt werden. Wenn ein Spiel eine hohe CPU-Belastung hat, kann es das OBS stören, ebenso wie das OBS das Spiel stören kann. Daher sollten Sie in Erwägung ziehen, diese Einstellungen zu verringern, um das Spiel zu kompensieren. Sie können auch die Einstellung „Prozesspriorität“ in Einstellungen > Erweitert verwenden, um die Prozessorpriorität des Programms zu erhöhen oder zu verringern. Es ist üblich, OBS die Prozesspriorität „Über normal“ zu geben, um sicherzustellen, dass OBS vom System priorisiert wird und reibungslos läuft.
Lassen Sie Ihr Protokoll durch den Log-Analyzer laufen, um weitere Ratschläge zu erhalten
Wenn es andere Ursachen für die Langsamkeit von OBS gibt, können Sie diese oft finden, indem Sie Ihr OBS-Protokoll durch den Log-Analyzer von R1CH laufen lassen. Er zeigt Ihnen alle anderen Leistungsprobleme an, die zu einer Verlangsamung führen könnten, oder alle anderen Probleme, die Sie mit Ihren Einstellungen haben könnten. Sie können dies über das OBS-Hilfemenü > Protokolldateien tun oder indem Sie Ihr Protokoll in das Feld auf der Analyseseite einfügen.