Vysoká spotřeba CPU/Vysoké kódování/Trvá příliš dlouho kódování? Nejprve si přečtěte tento článek!

Kódování videa je procesorově velmi náročná operace a OBS není výjimkou. OBS používá k enkódování videa nejlepší dostupnou open source knihovnu pro kódování videa, x264, a na špičkových grafických procesorech může používat hardwarové enkodéry, jako je NVENC. 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 počítač nedokáže kódovat video dostatečně rychle, aby udržel nastavené hodnoty, což způsobí, že video po několika sekundách zamrzne nebo se pravidelně zadrhává.
Níže uvádíme několik způsobů, jak můžete snížit využití zdrojů 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 využití procesoru. Například rozlišení 1080p má více než dvojnásobný počet pixelů v každém snímku oproti rozlišení 720p a podle toho se zvýší i využití procesoru. 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.
Míru snížení rozlišení můžete změnit v Nastavení > Video > Výstupní (škálované) rozlišení. Základní rozlišení (plátna) můžete ponechat stejné, aby se rozlož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.
Použijte hardwarové kodéry (Quicksync, AMF nebo NVENC)
Quicksync, AMF a NVENC jsou hardwarové kodéry, které jsou součástí nejnovějších integrovaných grafických procesorů Intel, novějších grafických procesorů AMD a nejnovějších grafických procesorů 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, ačkoli novější karty NVIDIA ve skutečnosti překonávají softwarové kódování). Mějte na paměti, že QSV / AMF jsou obzvláště špatné při nízkých datových tocích, takže se pro streamování nedoporučují.
Pokud máte některý ze zmíněných hardwarových enkodérů, můžete se podívat, zda máte tyto možnosti k dispozici v nastavení kódování.
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
Změňte předvolbu x264
Pokud používáte softwarový enkodér (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 CPU a kvalitou videa. Toto nastavení lze změnit v nabídce 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 použijí více výpočtů na kvalitu, ale využijí 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 využívat 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.
Zkontrolujte své zdroje
Některé zdroje, jako jsou webové kamery a snímací karty, mohou spotřebovávat hodně procesoru už 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). Zdroje prohlížeče mohou také spotřebovávat procesor, pokud jsou aktivní složité animace nebo skripty.
Pokud máte mnoho různých scén pro různé scénáře, zvažte jejich případné rozdělení do samostatných kolekcí scén. Tím snížíte počet aktivních zdrojů, které musí OBS sledovat, což může snížit spotřebu procesoru.
Upgrade hardwaru
Některé procesory jsou tak slabé, že je na nich téměř beznadějné zprovoznit cokoli slušného. Zvláště nechvalně proslulé jsou dvoujádrové procesory a APU 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 ve své době velmi výkonné, ale nyní se jedná o velmi staré karty, kvůli kterým výkon OBS značně trpí.
Provozujte všechny zdroje zvuku na stejné frekvenci
Pokud váš stolní zvuk běží na 44100 Hz, ale OBS má nastaveno kódování na 48000 Hz, bude muset zvuk převzorkovat, což spotřebuje čas procesoru. Čím více zdrojů zvuku přidáte (např. Mikrofon, Zdroje médií), které používají různé vzorkovací frekvence, tím více bude převzorkování spotřebovávat CPU. Spusťte všechna zvuková zařízení a OBS na stejné frekvenci, abyste se tomu vyhnuli.
Jiné programy/hry také spotřebovávají procesor
Některé programy (zejména hry) mohou spotřebovávat hodně procesoru. 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é. Běžně se dává OBS priorita procesu „Nad normální“, aby se zajistilo, že je OBS systémem upřednostňován a běží plynule, používejte ji však s opatrností.
Pro další rady projděte svůj protokol přes analyzátor protokolu
Pokud existují nějaké další věci, které by mohly způsobovat pomalý běh OBS, můžete je často najít tak, že svůj protokol OBS projdete přes analyzátor protokolu R1CH. Dozvíte se tak o dalších výkonnostních problémech, které by mohly zpomalovat práci, nebo o jiných problémech, které byste mohli mít s nastavením. Můžete to provést z nabídky Nápověda OBS > Soubory protokolů nebo vložením protokolu do pole na stránce analyzátoru.

.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.