La codifica dei video è un’operazione che richiede molta CPU, e OBS non fa eccezione. OBS usa la migliore libreria di codifica video open source disponibile, x264, per codificare i video. Tuttavia, alcune persone potrebbero sperimentare un elevato utilizzo della CPU, e altri programmi in esecuzione sul tuo computer potrebbero sperimentare prestazioni degradate mentre OBS è attivo se le tue impostazioni sono troppo alte per l’hardware del tuo 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 alcuni secondi, o uno stuttering periodico.
Questi sono 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 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.
Bassa 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 vostra CPU deve elaborare in un dato lasso di tempo, il che ridurrà l’uso della CPU. Potresti anche sentire il bisogno di abbassare il tuo frame rate a qualcosa sotto i 30 FPS, nel caso in cui la tua CPU sia davvero debole e in difficoltà.
Cambia il tuo preset x264
Il codificatore video, x264, ha un certo numero di “preset” che cambieranno la qualità del tuo video e l’uso 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 “faster” può usare il doppio della CPU rispetto a “veryfast”, quello subito sopra. Riportalo sempre a veryfast se non sei sicuro su cosa impostarlo.
Prova Quicksync, AMF o NVENC
Quicksync, AMF e NVENC sono codificatori hardware presenti 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. In generale, gli encoder basati su GPU non hanno la stessa qualità di x264 per un dato bit rate, ma il beneficio è un carico notevolmente ridotto sulla CPU.
Se hai uno degli encoder hardware menzionati, puoi vedere se queste opzioni sono disponibili per te in Encoding settings.
- Quicksync è un po’ più complicato da impostare, ma ecco una guida: https://obsproject.com/forum/resources/how-to-use-quicksync.82/
- Parimenti, ecco la guida alla risoluzione dei problemi per il codificatore AMF: https://github.com/Xaymar/obs-studio_amf-encoder-plugin/wiki/Troubleshooting-Guide
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). La Logitech C920 in particolare ha problemi su molti sistemi quando funziona alla risoluzione massima di 1080p. Le fonti del browser possono anche consumare CPU se ci sono animazioni complesse o script attivi.
Guarda questo video per una spiegazione più dettagliata (mentre il video è un po’ vecchio e usa OBS Classic, queste informazioni sono ancora molto accurate!) https://www.youtube.com/watch?v=a274YynXRwI
Aggiorna il tuo 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 più tardi, o un AMD 6-core o 8-core o più tardi, 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.
Anche altri programmi/giochi usano la CPU
Alcuni programmi (in particolare 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 usatelo con cautela.