Die Kodierung von Videos ist ein sehr rechenintensiver Vorgang, und OBS ist da keine Ausnahme. OBS verwendet die beste verfügbare Open-Source-Videokodierungsbibliothek, x264, um Videos zu kodieren. Bei einigen Benutzern kann es jedoch zu einer hohen CPU-Auslastung kommen, und andere Programme, die auf Ihrem Computer ausgeführt werden, 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 meldet OBS in der Statusleiste „Codierung überlastet!“, was bedeutet, dass Ihr Computer Ihr Video nicht schnell genug codieren kann, um die von Ihnen gewählten Einstellungen beizubehalten, was dazu führt, dass das Video nach einigen Sekunden einfriert oder periodisch stottert.
Hier sind einige Möglichkeiten, wie Sie die Ressourcenauslastung reduzieren können und hoffentlich dafür sorgen, dass sowohl OBS als auch Ihre Programme beim Enkodieren schneller laufen:
Skalieren Sie Ihre Ausgabeauflösung herunter
Die Auflösung, mit der Sie kodieren, 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 reduzieren.
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. Sie könnten sogar das Bedürfnis haben, die Bildrate auf unter 30 FPS zu senken, falls Ihre CPU wirklich schwach ist und zu kämpfen hat.
Ändern Sie Ihre x264-Voreinstellung
Der Video-Encoder x264 hat 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 (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. Langsamere Voreinstellungen verwenden mehr Berechnungen für die Qualität, verbrauchen aber viel mehr CPU.
Wenn Sie beispielsweise versuchen möchten, die CPU-Nutzung zu reduzieren, ohne die Auflösung oder die FPS zu verändern, können Sie die CPU-Nutzung reduzieren, indem Sie Ihre x264-Voreinstellung auf superschnell oder ultraschnell ändern, und x264 wird weniger Zeit damit verbringen, das Bild gut aussehen zu lassen, und wird Ihnen einige CPU-Zyklen ersparen. 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-Nutzung haben. Zum Beispiel kann die Voreinstellung „schneller“ doppelt so viel CPU verbrauchen wie „sehrschnell“, die Einstellung direkt darüber. Stellen Sie immer auf „veryfast“ zurück, wenn Sie nicht sicher sind, was Sie einstellen sollen.
Versuchen Sie 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 um den Preis einer etwas spürbaren Qualitätsminderung bei gleicher Bitrate. Im Allgemeinen haben GPU-basierte Encoder bei einer gegebenen Bitrate nicht ganz so hohe Qualität wie x264, aber der Vorteil ist eine stark reduzierte Belastung der CPU.
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 für den AMF-Encoder gibt es eine Anleitung zur Fehlerbehebung: https://github.com/Xaymar/obs-studio_amf-encoder-plugin/wiki/Troubleshooting-Guide
Prüfen Sie Ihre Quellen
Einige Quellen wie Webcams und Capture-Karten können allein durch ihre Anwesenheit in Ihrer Szene eine Menge CPU verbrauchen, 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 ist selten nötig, wenn es sich nicht um einen Vollbildmodus handelt). Insbesondere die Logitech C920 hat auf vielen Systemen Probleme, wenn sie mit der vollen Auflösung von 1080p läuft. Browser-Quellen können auch CPU verbrauchen, wenn komplexe Animationen oder Skripte aktiv sind.
Schauen Sie sich dieses Video für eine detailliertere Erklärung an (obwohl das Video ein wenig alt ist und OBS Classic verwendet, sind diese Informationen immer noch sehr genau!) https://www.youtube.com/watch?v=a274YynXRwI
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“ hinbekommen, aber es wird sicherlich nicht gut aussehen. 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 in der Leistung des 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, unter denen die OBS-Leistung stark leidet.
Andere Programme/Spiele verbrauchen auch 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. Sie sollten also 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, obwohl dies mit Vorsicht zu genießen ist.