A videó kódolása nagyon CPU-intenzív művelet, és ez alól az OBS sem kivétel. Az OBS az elérhető legjobb nyílt forráskódú videokódoló könyvtárat, az x264-et használja a videó kódolásához. Egyesek azonban magas CPU-kihasználtságot tapasztalhatnak, és a számítógépen futó más programok teljesítménye is romolhat, amíg az OBS aktív, ha a beállítások túl magasak a számítógép hardveréhez képest. Bizonyos esetekben az OBS állapotjelző sávján az “Encoding overloaded!” (Kódolás túlterhelt!) felirat jelenik meg, ami azt jelenti, hogy a számítógép nem tudja elég gyorsan kódolni a videót az Ön által beállított beállítások fenntartásához, ami néhány másodperc után a videó lefagyását vagy időszakos dadogást okoz.

Enkódolási túlterhelés

Itt van néhány módszer, amellyel csökkentheti az erőforrás-kihasználtságot, és remélhetőleg mind az OBS, mind a programjai gyorsabban futnak kódolás közben:

Levonja a kimeneti felbontást

A felbontás, amellyel kódol, a legnagyobb hatással van a CPU-használatra. Az 1080p például több mint kétszer annyi képpontot tartalmaz minden egyes képkockában, mint a 720p, és a CPU-használat ennek megfelelően megnő. A CPU-felhasználás csökkentésének leggyakoribb módja a felbontás lekicsinyítése. Lefelé méretezéskor az OBS fogadja a jelenetet, és lekicsinyíti annyival, amennyire Ön megmondja neki, mielőtt átadja a kódolónak. Lehet, hogy az alapfelbontást 1080p-ben szeretné, mivel ez a tartalom felbontása, de a CPU nem biztos, hogy képes lesz dekódolni egy lekicsinyített 1080p-s videót. Ezért a felbontást 720p-re (vagy alacsonyabbra) lekicsinyítheti, hogy a kép ugyanolyan maradjon, de kisebb felbontást használjon a CPU-terhelés csökkentése érdekében.

A beállítások > Videó > Kimeneti (skálázott) felbontás > mennyiben változtathatja meg a lekicsinyítés mértékét. Az alap (vászon) felbontást változatlanul hagyhatja, így az elrendezés nem változik, majd lekicsinyítheti a felbontást arra, ami jó teljesítményt biztosít.

A különböző lekicsinyítő szűrők (bilineáris, bikubikus és Lanczos) egyszerűen megváltoztatják a kép kicsinyítésére használt algoritmust: a bilineáris a leggyorsabb és a legkevesebb erőforrást igényli, de nem néz ki olyan jól, míg a Lanczos több erőforrást igényel, de jobban néz ki. Teljesítmény szempontjából azonban nem sokban különböznek. Nyugodtan kísérletezz azzal, hogy melyik szűrő működik a legjobban neked.

A képkockasebesség csökkentése

Ha 30 FPS felett streamelsz, egy másik lehetőség, amit megfontolhatsz, hogy a képkockasebességet 30 FPS-re csökkented. Ez csökkenti a CPU-nak adott idő alatt feldolgozandó képkockák számát, ami csökkenti a CPU-használatot. Még az is előfordulhat, hogy szükségét érzi, hogy a képkockasebességet 30 FPS alá csökkentse, abban az esetben, ha a CPU valóban gyenge és küzd.

Változtassa meg az x264 előbeállítását

A videokódoló, az x264 számos “előbeállítással” rendelkezik, amelyek ennek megfelelően változtatják a videó minőségét és a CPU-használatot. Az OBS alapértelmezett beállítása a veryfast, ami az esetek többségében a legjobb egyensúlyt jelenti a CPU-használat és a videó minősége között. Ez a beállítás megváltoztatható a Settings > Output (ellenőrizze a Enable Advanced Encoder Settings (Speciális kódolóbeállítások engedélyezése) opciót, ha Simple módban van) > Encoder Preset.

A preset neve azt hivatott jelezni, hogy az encoder mennyire “gyorsan” fusson. A gyorsabb előbeállítások kevesebb CPU-t használnak a minőségi számítások rovására. A lassabb előbeállítások több számítást használnak a minőség érdekében, de sokkal több CPU-t használnak.

Ha például a CPU-használatot a felbontás vagy az FPS módosítása nélkül szeretné csökkenteni, akkor csökkentheti a CPU-használatot, ha az x264 előbeállítást szupergyorsra vagy ultragyorsra változtatja, és az x264 kevesebb időt fog arra fordítani, hogy a képet jól nézzen ki, és megkímél néhány CPU-ciklust. A kép egy kicsit blokkosabbnak vagy pixelesebbnek tűnhet, de meg tudja tartani a felbontást/fps-t.

Legyen nagyon óvatos ezzel a beállítással, mert akár egy lépéssel gyorsabb vagy lassabb is óriási hatással lehet a CPU-használatra. Például a “gyorsabb” nevű előbeállítás kétszer annyi CPU-t használhat, mint a közvetlenül felette lévő “nagyon gyors”. Mindig állítsa vissza a “veryfast”-ra, ha nem biztos benne, hogy ezt a beállítást érdemes használni.

Kipróbálja a Quicksync, AMF vagy NVENC

A Quicksync, AMF és NVENC olyan hardveres kódolók, amelyek a legújabb Intel integrált GPU-kon, az újabb AMD GPU-kon, illetve a legújabb nVidia GPU-kon vannak. A kódolási terhelést áthelyezheti ezekre a hardveres kódolókra, aminek az az ára, hogy a minőség némileg észrevehetően romlik ugyanazon bitráta mellett. Általánosságban elmondható, hogy a GPU-alapú kódolók adott bitráta mellett nem rendelkeznek olyan jó minőséggel, mint az x264, de az előnye a CPU jelentősen csökkentett terhelése.

Ha rendelkezik az említett hardveres kódolók egyikével, akkor a kódolási beállításoknál megnézheti, hogy ezek a lehetőségek elérhetőek-e az Ön számára.

  • A quicksync beállítása kicsit trükkösebb, de itt egy útmutató: https://obsproject.com/forum/resources/how-to-use-quicksync.82/
  • Hasonlóképpen, itt van az AMF kódoló hibaelhárítási útmutatója: https://github.com/Xaymar/obs-studio_amf-encoder-plugin/wiki/Troubleshooting-Guide

A források ellenőrzése

Egyes források, például a webkamerák és a rögzítőkártyák már azzal is sok CPU-t használhatnak, hogy a jelenetben vannak, mivel dekódolniuk kell a videóadatokat. Ha webkamerát használsz, ellenőrizd, hogy nem túl nagy felbontáson fut (480p-nél többre ritkán van szükség, ha nem teljes képernyős). Különösen a Logitech C920-nak vannak problémái sok rendszeren, ha teljes 1080p felbontáson fut. A böngészőforrások is fogyasztanak CPU-t, ha összetett animációk vagy szkriptek aktívak.

Nézze meg ezt a videót egy részletesebb magyarázatért (bár a videó egy kicsit régi és OBS Classic-ot használ, ez az információ még mindig nagyon pontos!): https://www.youtube.com/watch?v=a274YynXRwI

Upgrade your hardware

Egyes CPU-k annyira gyengék, hogy szinte reménytelen, hogy bármi tisztességesen működjön rajtuk. A kétmagos CPU-k és az AMD APU-k különösen hírhedtek erről. Lehet, hogy meg tudnak úszni egy 360p-s streamet 25 FPS-sel az ultragyors előbeállítással, de biztosan nem fog jól kinézni. Ezt már csak önön múlik, hogy eldöntse. Ha van egy Sandy Bridge i5 vagy i7 vagy újabb, vagy egy AMD 6 vagy 8 magos vagy újabb, akkor képesnek kell lennie arra, hogy elfogadható felbontás és képkockasebesség mellett tisztességesen kinéző streamet hozzon létre.

Az OBS abban különbözik sok más streaming/felvételi programtól, hogy a jobb teljesítmény érdekében kihasználja a GPU-t. Sajnos néhány régebbi vagy olcsó GPU-modellen ez szűk keresztmetszetet jelenthet a stream teljesítményében. Ennek oka általában az alacsony memória-sávszélesség és/vagy a processzormagok alacsony száma. Az olyan GPU-k, mint az nVidia GTX 200-as sorozat (250, 260, 280) és a 9800GT és korábbiak egykor nagyon erősek voltak, de ma már nagyon régi kártyák, amelyek miatt az OBS teljesítménye nagymértékben szenved.

Más programok/játékok is CPU-t használnak

Egyes programok (különösen a játékok) sok CPU-t használhatnak. Ebbe beletartoznak néhány nyilvánvaló, például a Battlefield 4, és néhány nem nyilvánvaló, például az emulátorokon keresztül játszott játékok. Ha egy játék sok CPU-t használ, az zavarhatja az OBS-t, ahogyan az OBS is zavarhatja a játékot, ezért fontolóra kell vennie, hogy ezeket a beállításokat lefelé fordítsa, hogy kompenzálja a játszott játékot. A Beállítások > Speciális a “Folyamat prioritása” beállítással is növelheti vagy csökkentheti a program processzorprioritását. Gyakori, hogy az OBS-nek “Normálnál magasabb” folyamatprioritást adunk, hogy az OBS-t a rendszer prioritásként kezelje és zökkenőmentesen fusson, bár ezt óvatosan használjuk.

Articles

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.