Kodning av video är en mycket processorkrävande operation, och OBS är inget undantag. OBS använder det bästa videokodningsbiblioteket med öppen källkodning, x264, för att koda video. Vissa personer kan dock uppleva hög CPU-användning, och andra program som körs på din dator kan uppleva försämrad prestanda medan OBS är aktivt om dina inställningar är för höga för din dators maskinvara. I vissa fall kommer OBS att säga ”Encoding overloaded!” i statusfältet, vilket innebär att datorn inte kan koda videon tillräckligt snabbt för att bibehålla de inställningar som du har ställt in den på, vilket kommer att leda till att videon fryser efter några sekunder, eller periodiskt stottrande.
Här är några sätt du kan minska resursutnyttjandet och förhoppningsvis få både OBS och dina program att gå snabbare när du kodar:
Nedskala din utdataupplösning
Upplösningen som du kodar med har störst påverkan på CPU-användningen. Till exempel har 1080p mer än dubbelt så många pixlar i varje bild jämfört med 720p, och din CPU-användning ökar i enlighet med detta. Det vanligaste sättet att minska CPU-användningen är att skala ner din upplösning. När du skalar ner tar OBS din scen och krymper den så mycket som du säger att den ska göra innan du ger den till kodaren. Du kanske vill ha din basupplösning på 1080p, eftersom det är den upplösningen som ditt innehåll är i, men din CPU kanske inte kan koda en icke nedskalad 1080p-video. Så du kan nedskala din upplösning till 720p (eller lägre) för att behålla samma bild, men använda en mindre upplösning för att minska CPU-belastningen.
Du kan ändra hur mycket du vill nedskala i Inställningar > Video > Utgående (skalad) upplösning. Du kan behålla din Base (Canvas) Resolution samma, så att din layout inte ändras, och sedan skala ner upplösningen till det som ger dig god prestanda.
De olika nedskalningsfiltren (bilinear, bicubic och Lanczos) ändrar helt enkelt den algoritm som används för att krympa bilden: bilinear är snabbast och tar minst resurser i anspråk, men ser inte lika bra ut, medan Lanczos tar mer resurser i anspråk, men ser bättre ut. Prestandamässigt är de dock inte så mycket olika. Experimentera gärna med vilket filter som fungerar bäst för dig.
Sänk bildfrekvensen
Om du streamar över 30 FPS är ett annat alternativ att överväga är att sänka bildfrekvensen till 30 FPS. Det kommer att minska antalet ramar som din CPU måste bearbeta under en given tidsperiod, vilket kommer att minska CPU-användningen. Du kan till och med känna ett behov av att sänka bildfrekvensen till något under 30 FPS, om din CPU är riktigt svag och kämpar.
Ändra din x264-förinställning
Videokodaren x264 har ett antal ”förinställningar” som ändrar din videokvalitet och CPU-användning i enlighet med detta. OBS förinställning är veryfast, vilket i de flesta fall är den bästa balansen mellan CPU-användning och videokvalitet. Den här inställningen kan ändras i Settings > Output (kontrollera Enable Advanced Encoder Settings om du är i Simple mode) > Encoder Preset.
Namnet på förinställningen är tänkt att ange hur ”snabbt” kodaren ska köras. Snabbare förinställningar kommer att använda mindre CPU på bekostnad av kvalitetsberäkningar. Långsammare förinställningar kommer att använda fler beräkningar för kvalitet, men kommer att använda mycket mer CPU.
Om du till exempel vill försöka minska CPU-användningen utan att ändra din upplösning eller FPS, kan du minska din CPU-användning genom att ändra din x264-förinställning till superfast eller ultrafast, och x264 kommer att spendera mindre tid på att försöka få bilden att se bra ut, och kommer att skona dig några CPU-cykler. Bilden kan se lite mer blockig eller pixlig ut, men du kommer att kunna behålla din upplösning/fps.
Var mycket försiktig med den här inställningen, eftersom även ett steg snabbare eller långsammare kan ha en enorm inverkan på CPU-användningen. Till exempel kan förinställningen som heter ”faster” använda dubbelt så mycket CPU som ”veryfast”, den som ligger precis ovanför. Ställ alltid tillbaka till veryfast om du är osäker på vad du ska ställa in detta på.
Prova Quicksync, AMF eller NVENC
Quicksync, AMF och NVENC är hårdvarukodare som finns på nyare integrerade grafikkort från Intel, nyare grafikkort från AMD respektive nyare grafikkort från nVidia. Du kan avlasta kodningsbelastningen till dessa hårdvarukodare till priset av en något märkbar kvalitetsförsämring vid samma bithastighet. Generellt sett har GPU-baserade kodare inte riktigt lika hög kvalitet som x264 för en given bithastighet, men fördelen är en kraftigt minskad belastning på din CPU.
Om du har en av de nämnda hårdvarukodarna kan du se om de alternativen är tillgängliga för dig i Kodningsinställningar.
- Quicksync är lite knepigare att ställa in, men här finns en guide: https://obsproject.com/forum/resources/how-to-use-quicksync.82/
- Samma här är felsökningsguiden för AMF-kodaren: https://github.com/Xaymar/obs-studio_amf-encoder-plugin/wiki/Troubleshooting-Guide
Kontrollera dina källor
Vissa källor, t.ex. webbkameror och upptagningskort, kan använda mycket CPU bara genom att vara på din scen eftersom de måste avkoda videodata. Om du använder en webbkamera, kontrollera att den inte körs med för hög upplösning (mer än 480p behövs sällan om det inte är helskärm). Särskilt Logitech C920 har problem på många system när den körs i full 1080p-upplösning. Webbläsarkällor kan också förbruka CPU om det finns komplexa animationer eller skript aktiva.
Kontrollera den här videon för en mer detaljerad förklaring (även om videon är lite gammal och använder OBS Classic, är informationen fortfarande mycket korrekt!) https://www.youtube.com/watch?v=a274YynXRwI
Uppgradera din hårdvara
Vissa CPU:er är så svaga att de är nästan omöjliga att få något ordentligt att fungera. CPU:er med dubbla kärnor och AMD APU:er är särskilt ökända för detta. De kanske kan komma undan med en 360p-ström vid 25 FPS med hjälp av den ultrasnabba förinställningen, men det kommer säkerligen inte att se bra ut. Det är upp till dig att avgöra. Om du har en Sandy Bridge i5 eller i7 eller senare, eller en AMD 6-kärnig eller 8-kärnig eller senare, så borde du kunna få till en hygglig stream med rimliga upplösningar och bildfrekvenser.
OBS skiljer sig från många andra streaming-/inspelningsprogram på så sätt att det utnyttjar din grafikprocessor för bättre prestanda. Tyvärr kan detta på vissa äldre eller budgetmodeller av GPU:er vara en flaskhals i din strömmings prestanda. Detta beror i allmänhet på låg minnesbandbredd och/eller lågt antal processorkärnor. GPU:er som nVidia GTX 200-serien (250, 260, 280) och 9800GT och tidigare var en gång mycket kraftfulla på sin tid, men är nu mycket gamla kort som gör att OBS-prestandan blir mycket lidande.
Andra program/spel använder CPU också
Vissa program (särskilt spel) kan använda mycket CPU. Detta inkluderar vissa uppenbara, såsom Battlefield 4, och vissa icke uppenbara, såsom spel som spelas via emulatorer. Om ett spel använder mycket CPU kan det störa OBS precis som OBS kan störa spelet, så du måste överväga att sänka dessa inställningar för att kompensera för det spel du spelar. Du kan också använda inställningen ”Processprioritet” i Inställningar > Avancerat för att öka eller minska programmets processorprioritet. Det är vanligt att ge OBS ”Över normal” processprioritet för att säkerställa att OBS prioriteras av systemet och körs smidigt, men använd det med försiktighet.