Videon koodaaminen on hyvin prosessori-intensiivinen toiminto, eikä OBS ole poikkeus. OBS käyttää videon koodaamiseen parasta saatavilla olevaa avoimen lähdekoodin videokoodauskirjastoa, x264:ää. Joillakin ihmisillä CPU:n käyttöaste saattaa kuitenkin olla korkea, ja muiden tietokoneella käynnissä olevien ohjelmien suorituskyky saattaa heikentyä OBS:n ollessa aktiivinen, jos asetukset ovat liian korkeat tietokoneen laitteistolle. Joissakin tapauksissa OBS ilmoittaa tilapalkissaan ”Encoding overloaded!”, mikä tarkoittaa, että tietokoneesi ei pysty koodaamaan videota tarpeeksi nopeasti pitääkseen yllä asetuksiasi, mikä aiheuttaa videon pysähtymisen muutaman sekunnin jälkeen tai ajoittaista pätkimistä.
Tässä on joitain tapoja, joilla voit vähentää resurssien käyttöä ja toivottavasti saada sekä OBS:n että ohjelmasi toimimaan nopeammin koodauksen aikana:
Vähennä tulostustarkkuuttasi
Resoluutiolla, jolla koodaat, on suurin vaikutus suorittimen käyttöön. Esimerkiksi 1080p:ssä on yli kaksi kertaa enemmän pikseleitä kussakin kehyksessä kuin 720p:ssä, ja suorittimen käyttö kasvaa vastaavasti. Yleisin tapa vähentää suorittimen käyttöä on pienentää resoluutiota. Kun pienennät resoluutiota, OBS ottaa kohtauksesi ja pienentää sitä niin paljon kuin käsket, ennen kuin se annetaan kooderille. Saatat haluta perustarkkuuden olevan 1080p, koska sisältösi on siinä resoluutiossa, mutta suorittimesi ei ehkä pysty koodaamaan alaskalaamatonta 1080p-videota. Voit siis alentaa resoluutiota 720p:hen (tai alempaan), jolloin kuva pysyy samana, mutta käytät pienempää resoluutiota prosessorin kuormituksen vähentämiseksi.
Voit muuttaa, kuinka paljon haluat alentaa resoluutiota kohdassa Asetukset > Video > Output (Scaled) Resolution. Voit pitää Base (Canvas) Resolution -resoluution samana, jotta asettelusi ei muutu, ja sitten skaalata resoluution pienemmäksi sen mukaan, mikä antaa sinulle hyvän suorituskyvyn.
Erilaiset downscale-suodattimet (bilinear, bicubic ja Lanczos) yksinkertaisesti muuttavat kuvan pienentämiseen käytettävää algoritmia: bilinear on nopein ja vie vähiten resursseja, mutta ei näytä yhtä hyvältä, kun taas Lanczos vie enemmän resursseja mutta näyttää paremmalta. Suorituskyvyltään ne eivät kuitenkaan eroa toisistaan kovin paljon. Voit vapaasti kokeilla, mikä suodatin toimii sinulle parhaiten.
Alenna kuvataajuutta
Jos suoratoistat yli 30 FPS, toinen vaihtoehto on harkita kuvataajuuden laskemista 30 FPS:ään. Se vähentää kehysten määrää, joita suorittimesi joutuu käsittelemään annetussa ajassa, mikä vähentää suorittimen käyttöä. Saatat jopa tuntea tarvetta alentaa kuvataajuutta alle 30 FPS:n, jos suorittimesi on todella heikko ja kamppailee.
Vaihda x264:n esiasetusta
Videokoodaajalla, x264:llä, on useita ”esiasetuksia”, jotka muuttavat videonlaatua ja suorittimen käyttöä vastaavasti. OBS:n oletusasetus on veryfast, joka on useimmissa tapauksissa paras tasapaino suorittimen käytön ja videon laadun välillä. Tätä asetusta voi muuttaa kohdassa Asetukset > Lähtö (tarkista Enable Advanced Encoder Settings, jos olet Simple-tilassa) > Encoder Preset.
Esiasetuksen nimi on tarkoitettu osoittamaan, kuinka ”nopeasti” kooderin pitäisi toimia. Nopeammat esiasetukset käyttävät vähemmän prosessoria laadullisten laskutoimitusten kustannuksella. Hitaammat esiasetukset käyttävät enemmän laskutoimituksia laadun vuoksi, mutta käyttävät paljon enemmän CPU:ta.
Jos esimerkiksi haluat yrittää vähentää CPU:n käyttöä muuttamatta resoluutiota tai FPS:ää, voit vähentää CPU:n käyttöä muuttamalla x264-esiasetuksen supernopeaksi tai ultranopeaksi, jolloin x264 käyttää vähemmän aikaa yrittäessään saada kuvan näyttämään hyvältä ja säästyy muutamalta CPU-sykliltä. Kuva saattaa näyttää hieman tukkoisemmalta tai pikselimäisemmältä, mutta pystyt säilyttämään resoluution/fps:n.
Ole hyvin varovainen tämän asetuksen kanssa, sillä yksikin askel nopeammin tai hitaammin voi vaikuttaa valtavasti suorittimen käyttöön. Esimerkiksi esiasetus nimeltä ”faster” voi käyttää kaksi kertaa enemmän prosessoria kuin ”veryfast”, joka on aivan sen yläpuolella. Aseta se aina takaisin arvoon veryfast, jos et ole varma, mihin asetat tämän.
Kokeile Quicksynciä, AMF:ää tai NVENC:tä
Quicksync, AMF ja NVENC ovat laitteistokoodereita, jotka tulevat viimeisimpiin Intelin integroituihin näytönohjaimiin, uudempiin AMD:n näytönohjaimiin ja viimeisimpiin nVidian näytönohjaimiin. Voit siirtää koodauskuorman näille laitteistokoodereille hinnalla, että laatu heikkenee jonkin verran samalla bittinopeudella. Yleisesti ottaen GPU-pohjaisilla koodereilla ei ole aivan yhtä hyvä laatu kuin x264:llä tietyllä bittinopeudella, mutta etuna on huomattavasti pienempi kuormitus suorittimelle.
Jos sinulla on jokin mainituista laitteistokoodereista, voit katsoa, ovatko nämä vaihtoehdot käytettävissäsi koodausasetuksissa.
- Quicksync on hieman hankalampi määrittää, mutta tässä on opas: https://obsproject.com/forum/resources/how-to-use-quicksync.82/
- Tässä on AMF-kooderin vianmääritysopas: https://github.com/Xaymar/obs-studio_amf-encoder-plugin/wiki/Troubleshooting-Guide
Tarkista lähteet
Jotkut lähteet, kuten webkamerat ja kaappauskortit, voivat käyttää paljon suorittimen tehoa jo pelkällä läsnäolollaan kohtauksessasi, koska niiden on purettava videodata. Jos käytät web-kameraa, tarkista, ettei se toimi liian suurella resoluutiolla (yli 480p:n resoluutiota tarvitaan harvoin, jos kyseessä ei ole koko näyttö). Erityisesti Logitech C920 -kameralla on ongelmia monissa järjestelmissä, kun se toimii täydellä 1080p-tarkkuudella. Selainlähteet voivat myös kuluttaa prosessoria, jos käytössä on monimutkaisia animaatioita tai skriptejä.
Katso tästä videosta yksityiskohtaisempi selitys (vaikka video on hieman vanha ja siinä käytetään OBS Classicia, nämä tiedot ovat silti hyvin tarkkoja!): https://www.youtube.com/watch?v=a274YynXRwI
Päivitä laitteistoasi
Jotkut suorittimet ovat niin heikkoja, että niillä on lähes toivotonta saada mitään kunnollista toimimaan. Kaksiytimiset suorittimet ja AMD:n APU:t ovat erityisen pahamaineisia tästä. Ne saattavat selvitä 360p-streamista 25 FPS:n nopeudella ultranopealla esiasetuksella, mutta se ei varmasti näytä hyvältä. Se on sinun päätettävissäsi. Jos sinulla on Sandy Bridge i5 tai i7 tai uudempi tai AMD:n 6- tai 8-ytiminen tai uudempi, sinun pitäisi pystyä saamaan aikaan kohtuullisen näköinen stream kohtuullisilla resoluutioilla ja kuvataajuuksilla.
OBS eroaa monista muista suoratoisto-/tallennusohjelmista siinä, että se hyödyntää näytönohjainta paremman suorituskyvyn saavuttamiseksi. Valitettavasti joillakin vanhemmilla tai budjettimallien näytönohjaimilla tämä voi olla pullonkaula streamisi suorituskyvyssä. Tämä johtuu yleensä alhaisesta muistin kaistanleveydestä ja/tai pienestä prosessoriytimien määrästä. GPU:t, kuten nVidia GTX 200-sarjan (250, 260, 280) ja 9800GT ja aikaisemmat, olivat aikoinaan hyvin tehokkaita, mutta ovat nykyään hyvin vanhoja kortteja, jotka saavat OBS:n suorituskyvyn kärsimään suuresti.
Muutkin ohjelmat/pelit käyttävät prosessoria
Tietyt ohjelmat (erityisesti pelit) voivat käyttää paljon prosessoria. Tämä sisältää joitakin ilmeisiä, kuten Battlefield 4, ja joitakin ei-ilmiselviä, kuten emulaattoreiden kautta pelattavat pelit. Jos peli käyttää paljon CPU:ta, se voi häiritä OBS:ää aivan kuten OBS voi häiritä peliä, joten sinun on harkittava näiden asetusten pienentämistä kompensoidaksesi pelaamasi pelin käyttöä. Voit myös käyttää Asetukset > Lisäasetukset -kohdan ”Prosessin prioriteetti” -asetusta ohjelman prosessorin prioriteetin nostamiseen tai laskemiseen. On yleistä antaa OBS:lle ”Normaalia korkeampi” prosessin prioriteetti sen varmistamiseksi, että järjestelmä asettaa OBS:n etusijalle ja että se toimii sujuvasti, mutta käytä sitä kuitenkin varoen.