Kodning af video er en meget CPU-intensiv operation, og OBS er ingen undtagelse. OBS bruger det bedste open source-videokodningsbibliotek, der findes, x264, til at kode video. Nogle personer kan dog opleve høj CPU-udnyttelse, og andre programmer, der kører på din computer, kan opleve forringet ydeevne, mens OBS er aktivt, hvis dine indstillinger er for høje for din computers hardware. I nogle tilfælde vil OBS sige “Encoding overloaded!” på statuslinjen, hvilket betyder, at din computer ikke kan kode din video hurtigt nok til at opretholde de indstillinger, du har indstillet den til, hvilket vil medføre, at videoen fryser efter et par sekunder eller periodisk stutteri.
Her er nogle måder, hvorpå du kan reducere ressourceudnyttelsen og forhåbentlig få både OBS og dine programmer til at køre hurtigere, mens du koder:
Nedskaler din outputopløsning
Den opløsning, du koder med, har den største indvirkning på CPU-forbruget. For eksempel har 1080p mere end dobbelt så mange pixels i hvert billede som 720p, og dit CPU-forbrug stiger tilsvarende. Den mest almindelige måde at reducere CPU-forbruget på er at nedskalere din opløsning. Når du nedskalerer, tager OBS din scene og formindsker den så meget, som du beder den om, før du giver den til encoderen. Du ønsker måske at have din basisopløsning på 1080p, da det er den opløsning, dit indhold er i, men din CPU er måske ikke i stand til at kode en ikke nedskaleret 1080p-video. Så du kan nedskalere din opløsning til 720p (eller lavere) for at bevare dit billede, men bruge en mindre opløsning for at reducere CPU-belastningen.
Du kan ændre, hvor meget du vil nedskalere, i Indstillinger > Video > Output (Scaled) Resolution. Du kan beholde din Base (Canvas) Resolution den samme, så dit layout ikke ændres, og derefter nedskalere opløsningen til det, der giver dig en god ydeevne.
De forskellige nedskaleringsfiltre (bilinear, bikubisk og Lanczos) ændrer blot den algoritme, der bruges til at formindske billedet: Bilinear er hurtigst og tager færrest ressourcer, men ser ikke så godt ud, mens Lanczos tager flere ressourcer, men ser bedre ud. Ydelsesmæssigt er de dog ikke så meget forskellige. Du er velkommen til at eksperimentere med hvilket filter der fungerer bedst for dig.
Sænk din frame rate
Hvis du streamer over 30 FPS, er en anden mulighed at overveje er at sænke din frame rate til 30 FPS. Det vil reducere antallet af frames, som din CPU skal behandle i et givet tidsrum, hvilket vil reducere CPU-forbruget. Du kan endda føle behov for at sænke din frame rate til noget under 30 FPS, hvis din CPU er virkelig svag og kæmper.
Ændre din x264-forindstilling
Video-enkoderen, x264, har en række “forindstillinger”, der ændrer din videokvalitet og CPU-forbrug i overensstemmelse hermed. OBS-standardindstillingen er veryfast, hvilket i de fleste tilfælde er den bedste balance mellem CPU-forbrug og videokvalitet. Denne indstilling kan ændres i Indstillinger > Output (marker Enable Advanced Encoder Settings, hvis du er i Simple mode) > Encoder Preset.
Navnet på presettet er beregnet til at angive, hvor “hurtigt” encoderen skal køre. Hurtigere presets vil bruge mindre CPU på bekostning af kvalitetsberegninger. Langsommere presets vil bruge flere beregninger til kvalitet, men vil bruge meget mere CPU.
Hvis du f.eks. gerne vil forsøge at reducere CPU-forbruget uden at ændre din opløsning eller FPS, kan du reducere dit CPU-forbrug ved at ændre din x264-forindstilling til superfast eller ultrafast, og x264 vil bruge mindre tid på at forsøge at få billedet til at se godt ud og vil skåne dig for nogle CPU-cykler. Billedet kan se lidt mere blokeret eller pixeleret ud, men du vil kunne bevare din opløsning/fps.
Vær meget forsigtig med denne indstilling, fordi selv et enkelt trin hurtigere eller langsommere kan have en enorm indvirkning på CPU-forbruget. For eksempel kan den forudindstilling, der hedder “faster”, bruge dobbelt så meget CPU som “veryfast”, den lige over den. Sæt den altid tilbage til veryfast, hvis du ikke er sikker på, hvad du skal indstille den til.
Prøv Quicksync, AMF eller NVENC
Quicksync, AMF og NVENC er hardware-enkodere, der følger med på henholdsvis nyere integrerede Intel GPU’er, nyere AMD GPU’er og nyere nVidia GPU’er. Du kan aflaste kodningsbelastningen til disse hardwareenkodere på bekostning af et noget mærkbart fald i kvaliteten ved den samme bithastighed. Generelt set har GPU-baserede encodere ikke helt så høj kvalitet som x264 for en given bithastighed, men fordelen er en stærkt reduceret belastning af din CPU.
Hvis du har en af de nævnte hardware-encodere, kan du se, om disse muligheder er tilgængelige for dig i indstillinger for kodning.
- Quicksync er lidt vanskeligere at indstille, men her er en vejledning: https://obsproject.com/forum/resources/how-to-use-quicksync.82/
- Likeledes er her en vejledning til fejlfinding for AMF-enkoderen: https://github.com/Xaymar/obs-studio_amf-encoder-plugin/wiki/Troubleshooting-Guide
Tjek dine kilder
Nogle kilder såsom webkameraer og capture-kort kan bruge en masse CPU bare ved at være på din scene, da de skal afkode videodataene. Hvis du bruger et webkamera, skal du kontrollere, at det ikke kører med for høj opløsning (mere end 480p er sjældent nødvendigt, hvis det ikke er fuld skærm). Især Logitech C920 har problemer på mange systemer, når det kører med den fulde 1080p-opløsning. Browserkilder kan også forbruge CPU, hvis der er komplekse animationer eller scripts aktive.
Kig på denne video for en mere detaljeret forklaring (selvom videoen er lidt gammel og bruger OBS Classic, er disse oplysninger stadig meget præcise!): https://www.youtube.com/watch?v=a274YynXRwI
Opgrader din hardware
Nogle CPU’er er så svage, at de er næsten håbløse til at få noget ordentligt til at fungere. Dual-core CPU’er og AMD APU’er er særligt berygtede for dette. De kan måske slippe af sted med et 360p-stream ved 25 FPS ved hjælp af den ultrahurtige forudindstilling, men det vil helt sikkert ikke se godt ud. Det er op til dig at afgøre det. Hvis du har en Sandy Bridge i5 eller i7 eller nyere, eller en AMD 6-core eller 8-core eller nyere, så burde du være i stand til at komme op med en anstændigt udseende stream ved rimelige opløsninger og billedhastigheder.
OBS adskiller sig fra mange andre streaming/optagelsesprogrammer ved at gøre brug af din GPU for at opnå en bedre ydelse. Desværre kan dette på nogle ældre eller budgetmodeller af GPU’er være en flaskehals i din stream’s ydeevne. Dette skyldes generelt lav hukommelsesbåndbredde og/eller lavt antal processorkerner. GPU’er som nVidia GTX 200-serien (250, 260, 280) og 9800GT og tidligere var engang meget kraftfulde i sin tid, men er nu meget gamle kort, som vil få OBS-ydelsen til at lide meget under det.
Andre programmer/spil bruger også CPU
Visse programmer (især spil) kan bruge en masse CPU. Dette omfatter nogle åbenlyse, såsom Battlefield 4, og nogle ikke åbenlyse, såsom spil, der spilles via emulatorer. Hvis et spil bruger meget CPU, kan det forstyrre OBS, ligesom OBS kan forstyrre spillet, så du skal overveje at skrue ned for disse indstillinger for at kompensere for det spil, du spiller. Du kan også bruge indstillingen “Process priority” i Settings > Advanced (Indstillinger > Avanceret) til at øge eller reducere processorprioriteten for programmet. Det er almindeligt at give OBS “Over normal” procesprioritet for at sikre, at OBS bliver prioriteret af systemet og kører problemfrit, men brug det med forsigtighed.