Video coderen is een zeer CPU-intensieve operatie, en OBS is geen uitzondering. OBS gebruikt de beste open source video coderingsbibliotheek die beschikbaar is, x264, om video te coderen. Sommige mensen kunnen echter een hoog CPU-gebruik ervaren, en andere programma’s die op uw computer draaien kunnen slechtere prestaties ervaren terwijl OBS actief is als uw instellingen te hoog zijn voor de hardware van uw computer. In sommige gevallen zegt OBS op de statusbalk “Codering overbelast!”, wat betekent dat de computer de video niet snel genoeg kan coderen om de ingestelde instellingen te halen, waardoor de video na een paar seconden bevriest, of periodiek stottert.
Hier vindt u enkele manieren waarop u het gebruik van bronnen kunt verminderen en, hopelijk, zowel OBS als uw programma’s sneller kunt laten werken tijdens het encoderen:
Downscale uw uitvoerresolutie
De resolutie waarmee u codeert, heeft de grootste invloed op het CPU-gebruik. Bijvoorbeeld, 1080p heeft meer dan twee keer het aantal pixels in elk frame ten opzichte van 720p, en uw CPU-gebruik neemt dienovereenkomstig toe. De meest gebruikelijke manier om CPU-gebruik te verminderen is je resolutie te downscalen. Wanneer je downscaled, neemt OBS je scene en krimpt het zo veel als je aangeeft voordat het aan de encoder wordt gegeven. Je wilt misschien een basisresolutie van 1080p, omdat dat de resolutie is waarin je materiaal zich bevindt, maar je CPU kan misschien geen 1080p video coderen zonder downscale. Dus u kunt uw resolutie downscalen naar 720p (of lager) om uw beeld hetzelfde te houden, maar met behulp van een kleinere resolutie om CPU-belasting te verminderen.
U kunt wijzigen hoeveel u wilt downscalen in Instellingen > Video > Uitvoer (geschaalde) Resolutie. U kunt uw Base (Canvas) Resolutie hetzelfde houden, zodat uw layout niet verandert, en dan de resolutie downscalen naar wat u goede prestaties geeft.
De verschillende downscale filters (bilinear, bicubic, en Lanczos) veranderen gewoon het algoritme dat wordt gebruikt om het beeld te verkleinen: bilinear is het snelst en neemt de minste middelen in beslag, maar ziet er niet zo goed uit, terwijl Lanczos meer middelen in beslag neemt, maar er beter uitziet. Maar qua prestaties zijn ze niet veel verschillend. Voel je vrij om te experimenteren met welke filter het beste werkt voor jou.
Verlaag je framerate
Als je boven de 30 FPS streamt, is een andere optie om te overwegen om je framerate te verlagen naar 30 FPS. Het zal het aantal frames verminderen dat je CPU moet verwerken in een bepaalde tijdspanne, wat het CPU-gebruik zal verminderen. U kunt zelfs de behoefte voelen om uw framerate te verlagen tot iets onder de 30 FPS, in het geval dat uw CPU echt zwak is en het moeilijk heeft.
Verander uw x264 preset
De video encoder, x264, heeft een aantal “presets” die uw video kwaliteit en CPU gebruik dienovereenkomstig zullen veranderen. De OBS standaard is veryfast, wat in de meeste gevallen de beste balans is tussen CPU gebruik en video kwaliteit. Deze instelling kan worden veranderd in Instellingen > Uitvoer (vink de Geavanceerde Encoder Instellingen aan als je in Eenvoudige modus zit) > Encoder Voorinstelling.
De naam van de voorinstelling is bedoeld om aan te geven hoe “snel” de encoder moet draaien. Snellere voorinstellingen zullen minder CPU gebruiken ten koste van de kwaliteit van de berekeningen. Langzamere presets gebruiken meer berekeningen voor kwaliteit, maar gebruiken veel meer CPU.
Als je bijvoorbeeld wilt proberen het CPU-gebruik te verminderen zonder je resolutie of FPS aan te passen, kun je je CPU-gebruik verminderen door je x264 preset op supersnel of ultrasnel te zetten, en x264 zal minder tijd besteden om het beeld er goed uit te laten zien, en zal je wat CPU-cycli besparen. Het beeld kan er wat blokkeriger of pixeliger uitzien, maar je zult je resolutie/fps kunnen behouden.
Wees heel voorzichtig met deze instelling, want zelfs één stap sneller of langzamer kan een enorme impact hebben op CPU-gebruik. Bijvoorbeeld, de voorinstelling met de naam “faster” kan twee keer zoveel CPU gebruiken als “veryfast”, degene er recht boven. Zet het altijd terug op veryfast als u niet zeker weet waar u dit op moet zetten.
Probeer Quicksync, AMF, of NVENC
Quicksync, AMF, en NVENC zijn hardware encoders die op recente Intel Integrated GPUs, nieuwere AMD GPUs, en recente nVidia GPUs, respectievelijk. U kunt de codeerbelasting overhevelen naar deze hardware codeerapparaten ten koste van een enigszins merkbare kwaliteitsvermindering bij dezelfde bitsnelheid. Over het algemeen hebben GPU-gebaseerde encoders niet zo’n hoge kwaliteit als x264 voor een gegeven bitsnelheid, maar het voordeel is een sterk verminderde belasting van uw CPU.
Als u een van de genoemde hardware-encoders hebt, kunt u zien of deze opties beschikbaar zijn voor u in de instellingen voor coderen.
- Quicksync is wat lastiger in te stellen, maar hier is een handleiding: https://obsproject.com/forum/resources/how-to-use-quicksync.82/
- Zo ook, hier is de gids voor het oplossen van problemen met de AMF encoder: https://github.com/Xaymar/obs-studio_amf-encoder-plugin/wiki/Troubleshooting-Guide
Controleer uw bronnen
Sommige bronnen zoals webcams en capture cards kunnen veel CPU gebruiken alleen al door op uw scene te zijn, omdat ze de video data moeten decoderen. Als u een webcam gebruikt, controleer dan of deze niet op een te hoge resolutie draait (meer dan 480p is zelden nodig als het niet een volledig scherm is). Met name de Logitech C920 heeft op veel systemen problemen als hij op de volledige 1080p-resolutie draait. Browserbronnen kunnen ook CPU verbruiken als er complexe animaties of scripts actief zijn.
Kijk deze video voor een meer gedetailleerde uitleg (hoewel de video een beetje oud is en OBS Classic gebruikt, is deze informatie nog steeds zeer accuraat!): https://www.youtube.com/watch?v=a274YynXRwI
Upgrade uw hardware
Sommige CPU’s zijn zo zwak dat ze vrijwel onbruikbaar zijn om iets fatsoenlijks werkend te krijgen. Vooral dual-core CPU’s en AMD APU’s zijn hier berucht om. Ze kunnen misschien wegkomen met een 360p stream op 25 FPS met de ultrasnelle voorinstelling, maar het zal er zeker niet goed uitzien. Dat is aan jou om te beslissen. Als je een Sandy Bridge i5 of i7 of later hebt, of een AMD 6-core of 8-core of later, dan zou je in staat moeten zijn om een fatsoenlijk uitziende stream te maken bij redelijke resoluties en framerates.
OBS verschilt van veel andere streaming / opname programma’s in dat het gebruik maakt van je GPU voor betere prestaties. Helaas kan dit op sommige oudere of budgetmodel GPU’s een knelpunt zijn in de prestaties van je stream. Dit is meestal te wijten aan een lage geheugenbandbreedte en/of een laag aantal processorkernen. GPU’s zoals de nVidia GTX 200-serie (250, 260, 280) en 9800GT en eerder waren ooit erg krachtig, maar zijn nu erg oude kaarten die de prestaties van OBS er sterk onder zullen laten lijden.
Andere programma’s/spellen gebruiken ook CPU
Voor bepaalde programma’s (vooral spellen) kan veel CPU worden gebruikt. Dit geldt zowel voor voor de hand liggende programma’s, zoals Battlefield 4, als voor niet voor de hand liggende programma’s, zoals spellen die via emulators worden gespeeld. Als een spel veel CPU gebruikt, kan het OBS storen, net zoals OBS het spel kan storen, dus je zult moeten overwegen om deze instellingen te verlagen om te compenseren voor het spel dat je speelt. Je kunt ook de “Proces prioriteit” instelling in Instellingen > Geavanceerd gebruiken om de processor prioriteit van het programma te verhogen of te verlagen. Het is gebruikelijk om OBS “Boven normaal” proces prioriteit te geven om er zeker van te zijn dat OBS prioriteit krijgt van het systeem en soepel draait, maar gebruik het met voorzichtigheid.