High CPU Usage/High Encoding/Taking too long to encode? Lue tämä ensin!

Videon koodaaminen on hyvin prosessori-intensiivinen toiminto, eikä OBS ole poikkeus. OBS käyttää videon koodaamiseen parasta saatavilla olevaa avoimen lähdekoodin videokoodauskirjastoa, x264:ää, ja se voi käyttää NVENC:n kaltaisia laitteistokoodaajia huippuluokan näytönohjaimissa. Joillakin ihmisillä suorittimen 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 jähmettymisen muutaman sekunnin jälkeen tai ajoittaista änkyttelyä.
Tässä on joitain tapoja, joilla voit vähentää resurssien käyttöä ja toivottavasti saada sekä OBS:n että ohjelmasi toimimaan nopeammin koodauksen aikana:
Lähdötarkkuuden pienentäminen
Resoluutiolla, jolla koodaat, on suurimmat vaikutukset CPU:n 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 suorittimen 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 alentamista 30 FPS:ään. Se vähentää kehysten määrää, joita suorittimesi joutuu käsittelemään tietyssä ajassa, mikä vähentää suorittimen käyttöä. Saatat jopa tuntea tarvetta alentaa kehysnopeutta alle 30 FPS:n, jos suorittimesi on todella heikko ja kamppailee.
Käytä laitteistokoodereita (Quicksync, AMF tai NVENC)
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, vaikka uudemmat NVIDIAn kortit itse asiassa päihittävät ohjelmistokoodauksen). Huomaa, että QSV / AMF ovat erityisen huonoja alhaisilla bittinopeuksilla, joten niitä ei suositella suoratoistoon.
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/
Niin ikään, tässä on vianmääritysopas AMF-kooderille: https://github.com/Xaymar/obs-studio_amf-encoder-plugin/wiki/Troubleshooting-Guide
Vaihda x264-esiasetusta
Jos käytät ohjelmistokooderia (x264), siinä on useita ”esiasetuksia”, jotka muuttavat videon laatua 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 tämä asetetaan.
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ö). Selainlähteet voivat myös kuluttaa prosessoria, jos käytössä on monimutkaisia animaatioita tai skriptejä.
Jos sinulla on monia erilaisia kohtauksia eri skenaarioita varten, harkitse niiden jakamista erillisiin kohtauskokoelmiin tarvittaessa. Tämä vähentää aktiivisten lähteiden määrää, joita OBS:n on seurattava, mikä voi vähentää suorittimen käyttöä.
Päivitä laitteistosi
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önohjaintasi 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.
Käynnistä kaikki audiolähteet samalla taajuudella
Jos työpöytäsi ääni pyörii 44100 Hz:n taajuudella, mutta olet asettanut OBS:n enkoodaamaan 48000 Hz:n taajuudella, OBS:n on näytteistettävä ääni uudestaan (resamplaus), mikä kuluttaa prosessorille. Mitä useampia audiolähteitä lisäät (esim. mikrofoni, medialähteet), jotka käyttävät eri näytteenottotaajuuksia, sitä enemmän suorittimen käyttöä uudelleennäytteenotto kuluttaa. Käytä kaikkia äänilaitteita ja OBS:ää samalla taajuudella välttyäksesi tältä.
Muut ohjelmat/pelit käyttävät myös prosessoria
Tietyt ohjelmat (erityisesti pelit) voivat käyttää paljon prosessoria. Tähän kuuluu 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ä priorisoi OBS:n ja että se toimii sujuvasti, mutta käytä sitä kuitenkin varoen.
Käynnistä loki lokianalysaattorin kautta saadaksesi lisäohjeita
Jos on muita asioita, jotka voivat aiheuttaa OBS:n hitauden, voit usein löytää ne ajamalla OBS:n lokin R1CH:n lokianalysaattorin kautta. Se kertoo sinulle kaikista muista suorituskykyongelmista, jotka saattavat hidastaa toimintaa, tai muista ongelmista, joita asetuksissasi saattaa olla. Voit tehdä tämän OBS:n Ohje > Lokitiedostot -valikosta tai liittämällä lokisi analysaattorin sivuston laatikkoon.

Vastaa

Sähköpostiosoitettasi ei julkaista.