Kódování videa je procesorově velmi náročná operace a OBS není výjimkou. OBS používá ke kódování videa nejlepší dostupnou open source knihovnu pro kódování videa, x264. U některých lidí však může dojít k vysokému vytížení procesoru a u ostatních programů spuštěných v počítači může dojít ke snížení výkonu, když je OBS aktivní, pokud je nastavení příliš vysoké pro hardware vašeho počítače. V některých případech OBS na svém stavovém řádku zobrazí hlášení „Encoding overloaded!“, což znamená, že váš počítač nedokáže kódovat video dostatečně rychle, aby udržel nastavené parametry, což způsobí, že video po několika sekundách zamrzne nebo se pravidelně zadrhává.
Níže jsou uvedeny některé způsoby, jak můžete snížit vytížení prostředků a doufejme, že OBS i vaše programy poběží při kódování rychleji:
Snižte výstupní rozlišení
Rozlišení, ve kterém kódování probíhá, má největší vliv na vytížení procesoru. Například rozlišení 1080p má více než dvojnásobný počet pixelů v každém snímku ve srovnání s rozlišením 720p a využití procesoru se podle toho zvyšuje. Nejběžnějším způsobem, jak snížit využití procesoru, je snížit rozlišení. Když snížíte rozlišení, systém OBS vezme vaši scénu a zmenší ji o tolik, kolik mu řeknete, než ji předá kodéru. Možná chcete mít základní rozlišení 1080p, protože v takovém rozlišení je váš obsah, ale váš procesor nemusí být schopen enkódovat nesnížené video 1080p. Můžete tedy snížit rozlišení na 720p (nebo nižší), abyste zachovali stejný obraz, ale použili menší rozlišení a snížili tak zatížení procesoru.
Možnost snížení rozlišení můžete změnit v Nastavení > Video > Výstupní (škálované) rozlišení. Základní rozlišení (plátno) můžete ponechat stejné, aby se rozvržení nezměnilo, a pak snížit rozlišení na takové, které vám zajistí dobrý výkon.
Různé filtry pro snížení rozlišení (bilineární, bikubický a Lanczos) jednoduše mění algoritmus použitý ke zmenšení obrazu: bilineární je nejrychlejší a zabírá nejméně prostředků, ale nevypadá tak dobře, zatímco Lanczos zabírá více prostředků, ale vypadá lépe. Z hlediska výkonu se však příliš neliší. Klidně experimentujte s tím, který filtr vám vyhovuje nejlépe.
Snižte snímkovou frekvenci
Pokud streamujete nad 30 FPS, další možností je zvážit snížení snímkové frekvence na 30 FPS. Snížíte tím počet snímků, které musí váš procesor zpracovat v daném časovém úseku, což sníží využití procesoru. V případě, že je váš procesor opravdu slabý a má problémy, můžete dokonce pocítit potřebu snížit snímkovou frekvenci na hodnotu nižší než 30 FPS.
Změňte předvolbu x264
Kodér videa x264 má řadu „předvoleb“, které podle toho změní kvalitu videa a využití procesoru. Výchozí nastavení OBS je veryfast, což je pro většinu případů nejlepší rovnováha mezi využitím procesoru a kvalitou videa. Toto nastavení lze změnit v Nastavení > Výstup (pokud jste v jednoduchém režimu, zaškrtněte políčko Povolit pokročilá nastavení kodéru) > Předvolba kodéru.
Název předvolby má udávat, jak „rychle“ má kodér běžet. Rychlejší předvolby budou využívat méně procesoru na úkor kvality výpočtů. Pomalejší předvolby budou využívat více výpočtů kvůli kvalitě, ale budou využívat mnohem více CPU.
Pokud se například chcete pokusit snížit využití CPU, aniž byste změnili rozlišení nebo FPS, můžete snížit využití CPU změnou předvolby x264 na superrychlou nebo ultrarychlou a x264 stráví méně času snahou, aby obraz vypadal dobře, a ušetří vám nějaké cykly CPU. Obraz může vypadat trochu blokověji nebo pixelovitěji, ale budete moci zachovat rozlišení/fps.
S tímto nastavením buďte velmi opatrní, protože i o krok rychlejší nebo pomalejší může mít obrovský vliv na využití procesoru. Například předvolba s názvem „faster“ může spotřebovat dvakrát více procesoru než „veryfast“, která je hned nad ní. Pokud si nejste jisti, na co tuto hodnotu nastavit, vždy ji nastavte zpět na veryfast.
Zkuste Quicksync, AMF nebo NVENC
Quicksync, AMF a NVENC jsou hardwarové kodéry, které se dodávají na nejnovějších integrovaných grafických procesorech Intel, novějších grafických procesorech AMD a nejnovějších grafických procesorech nVidia. Na tyto hardwarové enkodéry můžete přenést zátěž kódování za cenu poněkud znatelného snížení kvality při stejné přenosové rychlosti. Obecně lze říci, že enkodéry založené na GPU nemají při dané přenosové rychlosti tak vysokou kvalitu jako x264, ale výhodou je výrazně nižší zatížení procesoru.
Pokud máte některý ze zmíněných hardwarových enkodérů, můžete v nastavení kódování zjistit, zda jsou tyto možnosti k dispozici.
- Quicksync je trochu složitější nastavit, ale zde je návod: https://obsproject.com/forum/resources/how-to-use-quicksync.82/
- Také zde je průvodce řešením problémů s kodérem AMF: https://github.com/Xaymar/obs-studio_amf-encoder-plugin/wiki/Troubleshooting-Guide
Zkontrolujte své zdroje
Některé zdroje, jako jsou webové kamery a zachytávací karty, mohou spotřebovávat hodně procesoru jen tím, že jsou na scéně, protože musí dekódovat video data. Pokud používáte webovou kameru, zkontrolujte, zda neběží v příliš vysokém rozlišení (více než 480p je potřeba jen zřídka, pokud se nejedná o celou obrazovku). Zejména kamera Logitech C920 má v mnoha systémech problémy, pokud běží v plném rozlišení 1080p. Zdroje prohlížeče mohou také spotřebovávat procesor, pokud jsou aktivní složité animace nebo skripty.
Podrobnější vysvětlení najdete v tomto videu (video je sice trochu starší a používá OBS Classic, ale tyto informace jsou stále velmi přesné!) https://www.youtube.com/watch?v=a274YynXRwI
Vylepšete svůj hardware
Některé procesory jsou tak slabé, že je téměř beznadějné na nich zprovoznit cokoli pořádného. Zvláště nechvalně proslulé jsou dvoujádrové procesory a APU od AMD. Možná jim projde 360p stream při 25 FPS s použitím předvolby ultrafast, ale rozhodně to nebude vypadat dobře. To záleží na vašem rozhodnutí. Pokud máte Sandy Bridge i5 nebo i7 nebo novější, případně AMD 6jádro nebo 8jádro nebo novější, pak byste měli být schopni přijít se slušně vypadajícím streamem při rozumném rozlišení a snímkové frekvenci.
OBS se liší od mnoha jiných programů pro streamování/nahrávání tím, že využívá váš GPU pro lepší výkon. Bohužel u některých starších nebo levných modelů GPU to může být úzkým hrdlem výkonu vašeho streamu. To je obvykle způsobeno malou šířkou paměťového pásma a/nebo nízkým počtem jader procesoru. GPU jako nVidia GTX řady 200 (250, 260, 280) a 9800GT a starší byly kdysi ve své době velmi výkonné, ale nyní se jedná o velmi staré karty, kvůli kterým bude výkon OBS značně trpět.
Jiné programy/hry využívají také CPU
Některé programy (zejména hry) mohou využívat hodně CPU. Patří sem některé zjevné, například Battlefield 4, a některé nezjevné, například hry hrané přes emulátory. Pokud hra využívá hodně CPU, může rušit OBS, stejně jako OBS může rušit hru, takže budete muset zvážit snížení těchto nastavení, abyste to kompenzovali hrou, kterou hrajete. Ke zvýšení nebo snížení priority procesoru programu můžete také použít nastavení „Priorita procesu“ v Nastavení > Pokročilé. Je běžné dát OBS prioritu procesu „Nad normální“, abyste zajistili, že OBS bude systémem upřednostněn a poběží plynule, používejte ji však s opatrností.
.