Alto uso/Alto tempo de codificação da CPU? Leia isto primeiro!

O vídeo de codificação é uma operação muito intensiva para a CPU, e o OBS não é excepção. O OBS usa a melhor biblioteca de codificação de vídeo de código aberto disponível, x264, para codificar vídeo, e pode usar codificadores de hardware como o NVENC em GPUs high end. No entanto, algumas pessoas podem experimentar uma alta utilização da CPU e outros programas em execução no seu computador podem experimentar uma performance degradada enquanto o OBS está ativo se as configurações forem muito altas para o hardware do seu computador. Em alguns casos, o OBS dirá “Codificação sobrecarregada!” em sua barra de status, o que significa que seu computador não pode codificar seu vídeo suficientemente rápido para manter as configurações que você definiu, o que causará o congelamento do vídeo após alguns segundos, ou gagueira periódica.
Aqui estão algumas formas de reduzir a utilização de recursos e, esperançosamente, fazer com que tanto o OBS quanto seus programas rodem mais rápido enquanto codificam:
Downscale your output resolution
A resolução em que você está codificando tem o maior impacto na utilização da CPU. Por exemplo, 1080p tem mais que o dobro do número de pixels em cada frame versus 720p, e o uso da sua CPU aumenta de acordo. A forma mais comum de reduzir o uso da CPU é reduzir a sua resolução. Quando você diminui a escala, o OBS pega sua cena e a encolhe tanto quanto você diz a ela antes de dá-la ao codificador. Você pode querer sua resolução base a 1080p, já que é a resolução em que seu conteúdo está, mas sua CPU pode não ser capaz de codificar um vídeo não-descalonado de 1080p. Então você pode reduzir sua resolução para 720p (ou menor) para manter sua imagem igual, mas usando uma resolução menor para reduzir a carga da CPU.
Você pode mudar o quanto você quer reduzir a escala em Configurações > Vídeo > Resolução da Saída (Escalonável). Você pode manter sua Resolução Base (Canvas) a mesma, para que seu layout não mude, e depois reduza a resolução para o que lhe der bom desempenho.
Os diferentes filtros downscale (bilinear, bicubic e Lanczos) simplesmente mudam o algoritmo usado para diminuir a imagem: bilinear é mais rápido e leva menos recursos, mas não parece tão bom, enquanto Lanczos leva mais recursos, mas parece melhor. Em termos de desempenho, embora não sejam assim tão diferentes. Sinta-se à vontade para experimentar qual filtro funciona melhor para si.
Diminua a sua taxa de fotogramas
Se estiver a transmitir acima dos 30 FPS, outra opção a considerar é reduzir a sua taxa de fotogramas para 30 FPS. Isso reduzirá o número de quadros que sua CPU tem que processar em um determinado período de tempo, o que reduzirá o uso da CPU. Você pode até sentir a necessidade de reduzir sua taxa de quadros para algo abaixo de 30 FPS, caso sua CPU esteja realmente fraca e com dificuldades.
Utilizar codificadores de hardware (Quicksync, AMF ou NVENC)
Quicksync, AMF e NVENC são codificadores de hardware que vêm em GPUs Intel integradas recentes, GPUs AMD mais recentes, e GPUs NVIDIA recentes, respectivamente. Você pode descarregar a carga de codificação para esses codificadores de hardware ao custo de uma redução de qualidade um pouco notável na mesma taxa de bits, embora as placas NVIDIA mais recentes tenham um desempenho superior ao da codificação de software). Observe que QSV / AMF são particularmente ruins com taxas de bits baixas, portanto não são recomendados para streaming.
Se você tiver um dos codificadores de hardware mencionados, você pode ver se essas opções estão disponíveis em Configurações de codificação.
Quicksync é um pouco mais complicado de configurar, mas aqui está um guia: https://obsproject.com/forum/resources/how-to-use-quicksync.82/
Likewise, aqui está o guia de resolução de problemas para o codificador AMF: https://github.com/Xaymar/obs-studio_amf-encoder-plugin/wiki/Troubleshooting-Guide
Altere sua predefinição x264
Se estiver usando o codificador de software (x264), ele tem um número de “predefinições” que mudarão sua qualidade de vídeo e uso da CPU de acordo. O padrão do OBS é muito rápido, o que para a maioria dos casos é o melhor equilíbrio entre o uso da CPU e a qualidade do vídeo. Esta configuração pode ser alterada em Configurações > Saída (verifique a opção Ativar Configurações Avançadas do Codificador se você estiver no modo Simples) > Predefinição do Codificador.
O nome da predefinição destina-se a indicar o quão “rápido” o codificador deve rodar. Presets mais rápidos usarão menos CPU ao custo de computações de qualidade. Presets mais lentos usarão mais cálculos para qualidade, mas usarão muito mais CPU.
Por exemplo, se você gostaria de tentar reduzir o uso da CPU sem modificar sua resolução ou FPS, você pode reduzir o uso da CPU alterando seu preset x264 para super rápido ou ultra rápido, e x264 gastará menos tempo tentando fazer a imagem parecer boa, e lhe poupará alguns ciclos de CPU. A imagem pode parecer um pouco mais bloqueada ou pixelada, mas você será capaz de manter sua resolução/fps.
Seja muito cuidadoso com esta configuração, porque mesmo um passo mais rápido ou mais lento pode ter um enorme impacto no uso da CPU. Por exemplo, a predefinição chamada “mais rápida” pode usar o dobro da quantidade de CPU como “muito rápida”, a que está logo acima dela. Sempre coloque de volta para muito rápido se você não tiver certeza do que definir isso para.
Cheque suas fontes
Algumas fontes como webcams e placas de captura podem usar muita CPU apenas por estarem na sua cena, pois eles têm que decodificar os dados do vídeo. Se você estiver usando uma webcam, verifique se ela não está rodando com uma resolução muito alta (mais de 480p é raramente necessário se não for de tela cheia). As fontes do navegador também podem consumir CPU se houver animações ou scripts complexos ativos.
Se você tiver muitas cenas diferentes para cenários diferentes, considere dividi-las em coleções de cenas separadas, se apropriado. Isto reduzirá o número de fontes ativas que o OBS tem que controlar, o que pode reduzir o uso da CPU.
Upgrade seu hardware
algumas CPUs são tão fracas que estão quase sem CPU para conseguir algo que funcione decentemente. CPUs dual-core e APUs AMD são particularmente notórios para isto. Eles podem ser capazes de se safar com um fluxo de 360p a 25 FPS usando a predefinição ultra-rápida, mas certamente não vai parecer bom. Cabe a você decidir isso. Se você tem uma Sandy Bridge i5 ou i7 ou posterior, ou uma AMD 6-core ou 8-core ou posterior, então você deve ser capaz de criar um stream com aparência decente a resoluções e taxas de quadros razoáveis.
OBS é diferente de muitos outros programas de streaming/gravação no sentido de que ele faz uso da sua GPU para um melhor desempenho. Infelizmente, em algumas GPUs mais antigas ou de modelo orçamentário isto pode ser um gargalo na performance do seu stream. Isso geralmente é devido à baixa largura de banda de memória e/ou baixa contagem do núcleo do processador. GPUs como a nVidia GTX série 200 (250, 260, 280) e 9800GT e anteriores já foram muito poderosas em seus dias, mas agora são placas muito antigas que farão a performance do OBS sofrer muito.
Executar todas as fontes de áudio na mesma freqüência
Se seu áudio desktop roda a 44100 Hz mas você tem o OBS configurado para codificar a 48000 Hz, ele terá que fazer uma resamostragem do áudio, que usa o tempo da CPU. Quanto mais fontes de áudio você adicionar (por exemplo, Microfone, Fontes de mídia) que usam diferentes taxas de amostragem, mais o uso da CPU será consumido por meio de nova amostragem. Execute todos os seus dispositivos de áudio e OBS na mesma frequência para evitar isto.
Outros programas/jogos também usam CPU
Determinados programas (particularmente jogos) podem usar muita CPU. Isto inclui alguns óbvios, como o Battlefield 4, e alguns não óbvios, como os jogos jogados através de emuladores. Se um jogo usa muita CPU, ele pode interferir com o OBS assim como o OBS pode interferir com o jogo, então você precisará considerar a possibilidade de recusar essas configurações para compensar o jogo que você está jogando. Você também pode usar a configuração “Process priority” em Settings > Advanced para aumentar ou reduzir a prioridade do processador do programa. É comum dar prioridade ao processo do OBS “Above normal” para garantir que o OBS seja priorizado pelo sistema e executado sem problemas, embora use-o com cuidado.
Executar seu log através do analisador de log para mais conselhos
Se houver qualquer outra coisa que possa estar fazendo o OBS rodar devagar, você pode frequentemente encontrá-las executando seu log do OBS através do analisador de log do R1CH. Ele irá informá-lo de quaisquer outros problemas de desempenho que possam estar atrasando as coisas, ou quaisquer outros problemas que você possa estar tendo com suas configurações. Você pode fazer isso no menu Ajuda do seu OBS >Arquivos de Log, ou colando seu log na caixa no site do analisador.

Deixe uma resposta

O seu endereço de email não será publicado.