top of page
Página inicial da XSplit

Como melhorar a qualidade do seu stream ao vivo e evitar perda de frames!

Foto do escritor: SplitmediaLabs Limited
SplitmediaLabs Limited
13 de mai. de 2021
5 min de leitura

Interior de um computador iluminado por RGB, com componentes Corsair, Asus e Gigabyte. Ventoinhas e cabos coloridos criam uma atmosfera tecnológica vibrante.

Acho que um dos principais desafios de quem começa a fazer streaming é a busca constante por qualidade. Qualidade do stream pode significar várias coisas: a qualidade do conteúdo, a qualidade da produção ou a qualidade do próprio sinal transmitido. Embora as duas primeiras sejam muito importantes, as pessoas não continuarão assistindo se o vídeo ficar pixelado ou travar a cada poucos segundos. Por isso, hoje vamos falar sobre qualidade do stream, ou melhor, sobre como codificar corretamente o seu stream para melhorar a qualidade da transmissão ao vivo.


Encoders


O que são encoders? Em termos básicos, eles pegam tudo o que você montou no software de streaming, como gameplay, câmera e áudio, e comprimem esse material para enviá-lo à internet. Essa compressão é a parte que exige mais trabalho do XSplit Broadcaster e é um fator importante para melhorar a qualidade do stream ao vivo. Ela pode ser feita pela CPU, usando X264, o que é chamado de codificação por software, ou pela GPU, usando NVENC, VCE ou Quicksync, o que é chamado de codificação por hardware.

Por muito tempo, o X264 foi considerado o melhor nesse processo de codificação, mas agora o NVENC se estabeleceu nas GPUs NVIDIA RTX mais recentes, e em algumas GTX, conseguindo competir de igual para igual. Por isso, no guia de montagem de PC abaixo, recomendei comprar uma GPU para codificação em vez de uma CPU cara, até que a mineração de criptomoedas estragasse tudo.




Resolução e taxa de quadros


Então você provavelmente está se perguntando: o que faz o encoder trabalhar tanto? A resposta é a resolução e a taxa de quadros. Quanto maior a resolução e mais rápida a taxa de quadros, mais imagens, em tamanhos maiores, o encoder precisa processar. Isso faz diferença quando o objetivo é melhorar a qualidade do stream ao vivo.

Com o X.264, você precisa escolher um preset mais lento para manter a qualidade da imagem em resoluções e taxas de quadros maiores. No XSplit Broadcaster você encontrará estes presets: very fast, faster, fast, medium e slow, acessando…


Broadcast > clique no ícone de engrenagem ao lado da saída do stream > clique no ícone de engrenagem na seção Video Encoding > Encoder Preset


O problema é que, ao usar esses presets, o uso da CPU aumenta exponencialmente, o que pode afetar muito o gameplay, a menos que você use uma configuração de streaming com dois PCs ou não esteja transmitindo gameplay.

Como alternativa, os encoders de hardware costumam ter chips dedicados apenas à codificação, o que limita o impacto sobre elementos como a taxa de quadros dos jogos. Se você precisar usar a CPU para codificar, recomenda-se escolher uma CPU com o maior número possível de núcleos, até 32, para tentar alcançar o preset lento em um stream de 1080p a 60 FPS.

O equivalente seria uma GPU NVIDIA com o encoder NVENC mais recente, encontrado nas GPUs da série RTX. Ela alcança o preset médio do X264 ou até o supera em alguns casos. Você também pode usar as versões antigas de NVENC, VCE e Quicksync para streaming, mas ainda não conseguirá igualar o desempenho do NVENC atual ou do X264.



Duas pessoas jogam um videogame em um evento movimentado de gaming. Os monitores mostram imagens coloridas do jogo. O clima é de concentração e competição.
Foto de Stem List no Unsplash

Movimento e bitrate


Independentemente do encoder escolhido, o que mais afeta a melhoria da qualidade do stream ao vivo é o bitrate. Bitrate é, basicamente, o orçamento de upload da internet que você define para a qualidade de saída do vídeo e do áudio. Quanto maior, melhor. Felizmente, o áudio não exige um bitrate muito alto, deixando a maior parte do orçamento para o vídeo. É aqui que o movimento entra em cena.

Quanto mais movimento houver na tela, seja pelo número de quadros por segundo ou pelo que acontece na imagem, como golpes especiais de um jogo de luta ou movimentos rápidos de um jogo de tiro em primeira pessoa, mais o orçamento de bitrate do vídeo será dividido. Por isso, para jogos com muito movimento, geralmente recomenda-se diminuir a resolução e/ou o FPS do stream.

Agora, o seu bitrate é determinado por dois fatores: a largura de banda disponível e a plataforma de streaming. Plataformas como Twitch, Twitter e Facebook limitam a largura de banda disponível, geralmente em torno de 6000 Kbps. Por que fazem isso? Porque quanto maior a largura de banda usada, maiores ficam as contas delas.

Sua largura de banda disponível é determinada pela conexão de internet. Você pode descobri-la fazendo um teste simples de velocidade. O resultado pode variar em períodos de tráfego intenso, mas, ao definir o bitrate, tente não usar mais de 70% da largura de banda disponível para evitar problemas nos seus jogos online. Além disso, conecte a máquina de streaming por uma conexão com fio, se possível, pois isso pode fazer uma grande diferença na qualidade do stream ao vivo.

A regra geral é definir o bitrate no valor mais alto permitido pela sua conexão de internet e pela plataforma de streaming. Se a conexão for limitada, tente reduzir a resolução e a taxa de quadros para se adaptar ao bitrate menor.



Uma pessoa joga em um computador em um quarto pouco iluminado, usando fones de ouvido luminosos. A tela brilhante mostra uma cena de ação rápida. O clima é de concentração.
Foto de Sean Do no Unsplash

Atraso, travamentos e perda de frames


Atraso é um termo interessante, especialmente quando falamos de streaming, mas, em geral, há dois tipos de atraso que podem ocorrer durante a codificação. O primeiro é percebido pelo espectador: o stream trava ou fica lento, às vezes até sai do ar e volta. Como streamer, você também pode ver esse problema na forma de frames perdidos. Isso costuma acontecer por dois motivos.


1) O bitrate foi definido alto demais. Como mencionado antes, faça um teste de velocidade antes de definir o bitrate. Talvez você tenha usado esse mesmo valor antes sem problemas, mas os provedores de internet podem enfrentar períodos de tráfego intenso ou manutenção de rede que afetam sua largura de banda geral. A melhor solução é reduzir a largura de banda do stream. Se o problema continuar, tente falar com o seu provedor de internet.


2) O servidor de streaming está com problemas. Sites importantes, como a Twitch, têm servidores de streaming dedicados para diferentes regiões, mas às vezes eles apresentam falhas. A melhor solução é ficar offline e trocar de servidor. Se o problema for recorrente, faça um teste de largura de banda para verificar se o servidor escolhido é estável antes de entrar ao vivo.

Você pode trocar facilmente de servidor no XSplit Broadcaster acessando…


Broadcast > clique no ícone de engrenagem ao lado da saída do stream > em “Server”, troque Automatic, ou o servidor selecionado, pelo próximo servidor mais próximo da sua região.


Na Twitch, por exemplo, uma boa forma de determinar isso é verificar aqui, onde os servidores mais próximos aparecem em ordem.



Uma pessoa joga com fones de ouvido, concentrada em uma tela colorida que mostra um videogame. Teclado iluminado com néon, clima descontraído, ambiente interno.
Foto de Priyam Raj no Unsplash

O segundo tipo de atraso às vezes pode ser visto pelos espectadores, mas geralmente é percebido ou visto pelo streamer enquanto joga. Isso é conhecido como sobrecarga do encoder do stream. Basicamente, você está tentando codificar o vídeo de uma maneira que o encoder não consegue acompanhar, algo muito comum ao usar x264. O PC passa a disputar recursos da CPU, fazendo com que frames sejam perdidos no stream e o desempenho dos programas em execução seja afetado.

A melhor forma de resolver isso é reduzir as configurações de codificação, como discutimos acima. O principal culpado costuma ser definir o preset X264 mais alto. Se isso não resolver, reduza a resolução e/ou a taxa de quadros.

Para concluir, em termos de codificação correta, use encoders de hardware sempre que possível para obter uma boa qualidade de stream. Conheça as limitações da sua internet e da plataforma. Reduza as configurações se estiver enfrentando problemas. Esperamos que isso ajude, e, se houver outros assuntos que você gostaria que discutíssemos, deixe um comentário nesta publicação!


Comentários


bottom of page