Uso elevato della CPU/Codifica elevata/Tempo di codifica troppo lungo? Leggi prima questo!

La codifica dei video è un’operazione che richiede molta CPU, e OBS non fa eccezione. OBS utilizza la migliore libreria di codifica video open source disponibile, x264, per codificare i video, e può utilizzare codificatori hardware come NVENC su GPU di fascia alta. Tuttavia, alcune persone potrebbero sperimentare un elevato utilizzo della CPU, e altri programmi in esecuzione sul vostro computer potrebbero sperimentare prestazioni degradate mentre OBS è attivo se le impostazioni sono troppo alte per l’hardware del vostro computer. In alcuni casi, OBS dirà “Encoding overloaded!” sulla sua barra di stato, il che significa che il tuo computer non può codificare il tuo video abbastanza velocemente per mantenere le impostazioni che hai impostato, il che causerà un blocco del video dopo pochi secondi, o uno stuttering periodico.
Ecco alcuni modi in cui puoi ridurre l’utilizzo delle risorse e, si spera, rendere sia OBS che i tuoi programmi più veloci durante la codifica:
Riduci la tua risoluzione di uscita
La risoluzione a cui stai codificando ha il maggiore impatto sull’utilizzo della CPU. Per esempio, 1080p ha più del doppio del numero di pixel in ogni fotogramma rispetto a 720p, e l’uso della CPU aumenta di conseguenza. Il modo più comune per ridurre l’uso della CPU è quello di ridimensionare la risoluzione. Quando fai il downscaling, OBS prende la tua scena e la rimpicciolisce tanto quanto tu gli dici di fare prima di darla al codificatore. Potresti volere la tua risoluzione di base a 1080p, dato che è la risoluzione del tuo contenuto, ma la tua CPU potrebbe non essere in grado di codificare un video 1080p non ridimensionato. Quindi puoi ridimensionare la tua risoluzione a 720p (o inferiore) per mantenere la tua immagine uguale, ma usando una risoluzione più piccola per ridurre il carico della CPU.
Puoi cambiare quanto vuoi ridimensionare in Settings > Video > Output (Scaled) Resolution. Puoi mantenere la tua risoluzione di base (tela) la stessa, in modo che il tuo layout non cambi, e poi ridimensionare la risoluzione a qualsiasi cosa ti dia buone prestazioni.
I diversi filtri di ridimensionamento (bilineare, bicubico e Lanczos) cambiano semplicemente l’algoritmo usato per ridurre l’immagine: bilineare è più veloce e richiede meno risorse, ma non è altrettanto bello, mentre Lanczos richiede più risorse ma è migliore. Dal punto di vista delle prestazioni, però, non sono molto diversi. Sentiti libero di sperimentare quale filtro funziona meglio per te.
Abbassa il tuo frame rate
Se stai trasmettendo sopra i 30 FPS, un’altra opzione da considerare è abbassare il tuo frame rate a 30 FPS. Ridurrà il numero di fotogrammi che la tua CPU deve elaborare in un dato lasso di tempo, il che ridurrà l’uso della CPU. Potreste anche sentire il bisogno di abbassare il vostro frame rate a qualcosa al di sotto dei 30 FPS, nel caso in cui la vostra CPU sia davvero debole e in difficoltà.
Utilizzare codificatori hardware (Quicksync, AMF, o NVENC)
Quicksync, AMF, e NVENC sono codificatori hardware che si trovano rispettivamente sulle recenti GPU integrate Intel, sulle più recenti GPU AMD, e sulle recenti GPU NVIDIA. È possibile scaricare il carico di codifica su questi codificatori hardware al costo di una diminuzione un po’ evidente della qualità a parità di bit rate, anche se le più recenti schede NVIDIA in realtà superano la codifica software). Nota che QSV / AMF sono particolarmente scadenti a basso bitrate, quindi non sono raccomandati per lo streaming.
Se hai uno degli encoder hardware menzionati, puoi vedere se queste opzioni sono disponibili per te nelle impostazioni di codifica.
Quicksync è un po’ più complicato da configurare, ma ecco una guida: https://obsproject.com/forum/resources/how-to-use-quicksync.82/
Parimenti, ecco la guida alla risoluzione dei problemi per l’encoder AMF: https://github.com/Xaymar/obs-studio_amf-encoder-plugin/wiki/Troubleshooting-Guide
Cambia il tuo preset x264
Se stai usando l’encoder software (x264), ha un certo numero di “preset” che cambieranno la qualità video e l’utilizzo della CPU di conseguenza. L’impostazione predefinita di OBS è veryfast, che per la maggior parte dei casi è il miglior equilibrio tra uso della CPU e qualità video. Questa impostazione può essere cambiata in Settings > Output (spunta la voce Enable Advanced Encoder Settings se sei in modalità Simple) > Encoder Preset.
Il nome del preset ha lo scopo di indicare quanto “veloce” dovrebbe funzionare l’encoder. I preset più veloci useranno meno CPU al costo di calcoli di qualità. I preset più lenti useranno più calcoli per la qualità, ma useranno molta più CPU.
Per esempio, se vuoi provare a ridurre l’uso della CPU senza modificare la risoluzione o gli FPS, puoi ridurre l’uso della CPU cambiando il tuo preset x264 a superfast o ultrafast, e x264 spenderà meno tempo cercando di far sembrare buona l’immagine, e ti risparmierà alcuni cicli di CPU. L’immagine potrebbe apparire un po’ più bloccata o pixellata, ma sarete in grado di mantenere la vostra risoluzione/fps.
Fate molta attenzione con questa impostazione, perché anche un solo passo più veloce o più lento può avere un enorme impatto sull’uso della CPU. Per esempio, il preset chiamato “più veloce” può usare il doppio della quantità di CPU di “molto veloce”, quello subito sopra. Riportalo sempre a “veryfast” se non sei sicuro su cosa impostarlo.
Controlla le tue fonti
Alcune fonti come le webcam e le schede di acquisizione possono usare molta CPU solo per essere sulla tua scena, dato che devono decodificare i dati video. Se stai usando una webcam, controlla che non stia funzionando ad una risoluzione troppo alta (più di 480p è raramente necessario se non è a schermo intero). Le fonti del browser possono anche consumare la CPU se ci sono animazioni complesse o script attivi.
Se hai molte scene diverse per scenari diversi, considera di dividerle in collezioni di scene separate, se appropriato. Questo ridurrà il numero di fonti attive di cui OBS deve tenere traccia, il che può ridurre l’utilizzo della CPU.
Aggiornate il vostro hardware
Alcune CPU sono così deboli che sono quasi senza speranza per far funzionare qualcosa di decente. Le CPU dual-core e le APU AMD sono particolarmente famose per questo. Potrebbero essere in grado di cavarsela con un flusso a 360p a 25 FPS usando il preset ultraveloce, ma certamente non sarà bello. Sta a voi decidere. Se avete un Sandy Bridge i5 o i7 o successivi, o un AMD 6-core o 8-core o successivi, allora dovreste essere in grado di ottenere un flusso dall’aspetto decente a risoluzioni e frame rate ragionevoli.
OBS è diverso da molti altri programmi di streaming/registrazione in quanto fa uso della vostra GPU per una migliore performance. Sfortunatamente, su alcuni modelli di GPU più vecchi o economici questo può essere un collo di bottiglia nelle prestazioni del vostro streaming. Questo è generalmente dovuto alla bassa larghezza di banda della memoria e/o al basso numero di core del processore. GPU come la nVidia GTX serie 200 (250, 260, 280) e 9800GT e precedenti erano una volta molto potenti ai loro tempi, ma ora sono schede molto vecchie che faranno soffrire molto le prestazioni di OBS.
Fai girare tutte le fonti audio alla stessa frequenza
Se il tuo audio desktop gira a 44100 Hz ma hai OBS impostato per codificare a 48000 Hz, dovrà ricampionare l’audio, il che usa il tempo della CPU. Più sorgenti audio aggiungi (es. microfono, sorgenti multimediali) che usano diverse frequenze di campionamento, più l’uso della CPU sarà consumato dal ricampionamento. Esegui tutti i tuoi dispositivi audio e OBS alla stessa frequenza per evitare questo.
Anche altri programmi/giochi usano la CPU
Alcuni programmi (in particolare i giochi) possono usare molta CPU. Questo include alcuni ovvi, come Battlefield 4, e alcuni non ovvi, come i giochi giocati tramite emulatori. Se un gioco usa molta CPU, può interferire con OBS proprio come OBS può interferire con il gioco, quindi dovrete considerare di abbassare queste impostazioni per compensare il gioco che state giocando. Puoi anche usare l’impostazione “Priorità del processo” in Impostazioni > Avanzate per aumentare o ridurre la priorità del processore del programma. È comune dare a OBS una priorità di processo “Sopra il normale” per assicurarsi che OBS sia prioritario per il sistema e funzioni senza problemi, anche se usalo con cautela.
Esegui il tuo log attraverso l’analizzatore di log per ulteriori consigli
Se ci sono altre cose che potrebbero causare la lentezza di OBS, spesso puoi trovarle eseguendo il log di OBS attraverso l’analizzatore di log di R1CH. Ti farà sapere di qualsiasi altro problema di performance che potrebbe rallentare le cose, o qualsiasi altro problema che potresti avere con le tue impostazioni. Puoi farlo dal tuo menu OBS Help > Log Files, o incollando il tuo log nella casella sul sito dell’analizzatore.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.