O vídeo de codificação é uma operação muito intensiva em CPU, e o OBS não é exceção. OBS usa a melhor biblioteca de codificação de vídeo de código aberto disponível, x264, para codificar vídeo. No entanto, algumas pessoas podem experimentar uma alta utilização da CPU, e outros programas em execução no seu computador podem experimentar um desempenho degradado 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 com rapidez suficiente para manter as configurações que você definiu, o que causará o congelamento do vídeo após alguns segundos, ou gagueira periódica.

Encodificação de sobrecarga

Aqui estão algumas maneiras de reduzir a utilização de recursos e, esperançosamente, fazer tanto o OBS quanto seus programas rodarem mais rápido enquanto codificam:

Downnscale sua resolução de saída

A resolução que você está codificando tem o maior impacto no uso da CPU. Por exemplo, 1080p tem mais do 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 a sua Resolução Base (Canvas) igual, para que o seu layout não mude, e depois reduzir 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 com 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 frames 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, no caso da sua CPU estar realmente fraca e com dificuldades.

Altere sua predefinição x264

O codificador de vídeo, x264, tem um número de “predefinições” que irão alterar a qualidade do seu vídeo e o 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 computações 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, o preset chamado “mais rápido” pode usar o dobro da quantidade de CPU como “muito rápido”, o mesmo acima dele. Sempre volte a defini-lo como muito rápido se você não tiver certeza do que definir para.

Try Quicksync, AMF, ou NVENC

Quicksync, AMF, e NVENC são codificadores de hardware que vêm em recentes GPUs Intel Integradas, mais recentes GPUs AMD, e recentes GPUs nVidia, respectivamente. Você pode descarregar a carga de codificação para esses codificadores de hardware ao custo de uma diminuição da qualidade, de certa forma perceptível, na mesma taxa de bits. Geralmente falando, os codificadores baseados em GPUs não têm uma qualidade tão alta quanto x264 para uma determinada taxa de bits, mas o benefício é uma carga muito reduzida na sua CPU.

Se você tiver um dos codificadores de hardware mencionados, você pode ver se essas opções estão disponíveis para você 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

Verifica as tuas fontes

Algumas fontes como webcams e placas de captura podem usar muita CPU apenas por estarem na tua cena, pois têm de descodificar 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). O Logitech C920, em particular, tem problemas em muitos sistemas quando executado com a resolução total de 1080p. As fontes do navegador também podem consumir CPU se houver animações ou scripts complexos ativos.

Cheque este vídeo para uma explicação mais detalhada (enquanto o vídeo é um pouco antigo e usando OBS Classic, esta informação ainda é muito precisa!): https://www.youtube.com/watch?v=a274YynXRwI

Atualize o seu hardware

algumas CPUs são tão fracas que estão quase sem oficina para conseguir algo que funcione decentemente. CPUs dual-core e APUs AMD são particularmente notórios para isso. 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ê tiver 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 melhor desempenho. Infelizmente, em algumas GPUs de modelos mais antigos 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.

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 diminuir 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 funcione sem problemas, embora use-o com cautela.

Articles

Deixe uma resposta

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