Hoog CPU-gebruik/Hoog coderen/Duurt het te lang om te coderen? Lees dit eerst!

Video encoderen is een zeer CPU-intensieve operatie, en OBS is geen uitzondering. OBS gebruikt de beste open source video-encodeerbibliotheek die beschikbaar is, x264, om video te coderen, en kan hardware-encoders zoals NVENC gebruiken op high-end GPU’s. Sommige mensen kunnen echter een hoog CPU-gebruik ervaren, en andere programma’s die op uw computer draaien kunnen een verminderde prestatie ervaren terwijl OBS actief is als uw instellingen te hoog zijn voor de hardware van uw computer. In sommige gevallen zegt OBS “Codering overbelast!” op de statusbalk, wat betekent dat uw computer uw video niet snel genoeg kan coderen om de instellingen te behouden die u hebt ingesteld, waardoor de video na een paar seconden bevriest, of periodiek stottert.
Hier zijn enkele manieren waarop u het gebruik van hulpbronnen kunt verminderen en, hopelijk, zowel OBS als uw programma’s sneller kunt laten werken tijdens het coderen:
Downscale uw uitvoerresolutie
De resolutie waarmee u codeert, heeft de grootste invloed op CPU-gebruik. Bijvoorbeeld, 1080p heeft meer dan twee keer het aantal pixels in elk frame in vergelijking met 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 is opgenomen, 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) Resolution gelijk houden, zodat uw layout niet verandert, en dan de resolutie downscalen naar wat u goede prestaties geeft.
De verschillende downscale filters (bilineair, bicubisch, en Lanczos) veranderen simpelweg het algoritme dat gebruikt wordt om het beeld te verkleinen: bilineair is het snelst en neemt de minste bronnen in beslag, maar ziet er niet zo goed uit, terwijl Lanczos meer bronnen 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 noodzaak 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.
Gebruik hardware encoders (Quicksync, AMF, of NVENC)
Quicksync, AMF, en NVENC zijn hardware encoders die respectievelijk op recente Intel Integrated GPUs, nieuwere AMD GPUs, en recente NVIDIA GPUs komen. U kunt de coderingslast overhevelen naar deze hardware-encoders ten koste van een enigszins merkbare kwaliteitsvermindering bij dezelfde bitsnelheid, hoewel nieuwere NVIDIA-kaarten eigenlijk beter presteren dan software-encodering). Merk op dat QSV / AMF bijzonder slecht zijn bij lage bitrates, dus ze worden niet aanbevolen voor streaming.
Als u een van de genoemde hardware-encoders hebt, kunt u kijken of deze opties beschikbaar zijn voor u in de coderingsinstellingen.
Quicksync is een beetje lastiger in te stellen, maar hier is een handleiding: https://obsproject.com/forum/resources/how-to-use-quicksync.82/
Hier vindt u ook de gids voor het oplossen van problemen met de AMF-encoder: https://github.com/Xaymar/obs-studio_amf-encoder-plugin/wiki/Troubleshooting-Guide
Wijzig uw x264-preset
Als u de software-encoder (x264) gebruikt, beschikt deze over een aantal “presets” waarmee u de videokwaliteit en het CPU-gebruik kunt aanpassen. De standaardinstelling van OBS is veryfast, wat in de meeste gevallen de beste balans is tussen CPU-gebruik en videokwaliteit. Deze instelling kan worden gewijzigd in Instellingen > Uitvoer (vink Geavanceerde encoder-instellingen inschakelen aan als u in Eenvoudige modus bent) > 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.
Wil je bijvoorbeeld proberen het CPU-gebruik te verminderen zonder je resolutie of FPS aan te passen, dan 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 cycles besparen. Het beeld kan er wat blokkeriger of pixeliger uitzien, maar je zal 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.
Controleer uw bronnen
Sommige bronnen zoals webcams en capture cards kunnen veel CPU gebruiken door alleen maar in 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). Browser bronnen kunnen ook CPU verbruiken als er complexe animaties of scripts actief zijn.
Als u veel verschillende scènes heeft voor verschillende scenario’s, overweeg dan om ze op te splitsen in aparte scène collecties, indien van toepassing. Dit vermindert het aantal actieve bronnen dat OBS moet bijhouden, wat het CPU-gebruik kan verminderen.
Upgrade uw hardware
Sommige CPU’s zijn zo zwak dat ze bijna hopeloos zijn om iets fatsoenlijks werkend te krijgen. Dual-core CPU’s en AMD APU’s zijn hier bijzonder 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 hoger hebt, of een AMD 6-core of 8-core of hoger, dan zou je in staat moeten zijn om een fatsoenlijk uitziende stream te maken met redelijke resoluties en framerates.
OBS verschilt van veel andere streaming/opnameprogramma’s in die zin 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 zeer krachtig, maar zijn nu zeer oude kaarten die de prestaties van OBS sterk doen lijden.
Loop alle audiobronnen op dezelfde frequentie
Als uw desktop audio draait op 44100 Hz maar u heeft OBS ingesteld om te coderen op 48000 Hz, dan zal het de audio moeten resamplen, wat CPU tijd kost. Hoe meer audiobronnen u toevoegt (bv. Microfoon, Mediabronnen) die verschillende bemonsteringsfrequenties gebruiken, hoe meer CPU-gebruik er nodig zal zijn voor het opnieuw samplen. Draai al uw audio apparaten en OBS op dezelfde frequentie om dit te voorkomen.
Andere programma’s/games gebruiken ook CPU
Zekere programma’s (vooral games) kunnen veel CPU gebruiken. Hieronder vallen enkele voor de hand liggende, zoals Battlefield 4, en enkele niet voor de hand liggende, 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.
Loop je log door de log analyzer voor meer advies
Als er andere dingen zijn die de oorzaak kunnen zijn dat OBS langzaam draait, kun je die vaak vinden door je OBS log door R1CH’s log analyzer te halen. Het zal je op de hoogte brengen van andere prestatieproblemen die de boel zouden kunnen vertragen, of andere problemen die je zou kunnen hebben met je instellingen. Je kunt dit doen vanuit je OBS Help > Log Files menu, of door je log in de box op de analyzer site te plakken.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.