Ir para o conteúdo principal
Owncat cautions you
Esta página não está listada. Motores de busca não a indexarão, e somente usuários com um link direto podem acessá-la.

Todos os espectadores estão enfrentando buffering

Quando todos os espectadores estão fazendo buffering ao mesmo tempo, o problema geralmente está no servidor ou no lado da transmissão, e não na conexão de um espectador individual. Siga as etapas abaixo em ordem.

Após ler abaixo, você também pode encontrar dicas úteis navegando pelo Guia de Solução de Problemas do OBS, mesmo que você não use o OBS.

Check Stream Performance

Não há sentido em transmitir se ninguém puder assistir. The Stream Performance page in the admin, at /admin/stream-health, gives you an overview of some important metrics that may give you an idea if what you’re offering your viewers is leading to a good experience.

A tela de Desempenho do Stream no admin, com gráficos do tempo de download de segmentos de vídeo, velocidade de rede do player, erros e mudanças de qualidade, e latência do espectador

The page charts four things: Video Segment Download, Player Network Speed, Errors and Quality Changes, and Viewer Latency.

Ver erros, baixas velocidades de rede e tempos de download excessivos para seu conteúdo pode significar que você precisa adicionar qualidades de vídeo adicionais para melhorar o desempenho da reprodução para espectadores com largura de banda mais baixa, redes móveis ou outros fatores.

Se você está vendo nesta página que as pessoas estão enfrentando problemas na reprodução do seu stream, talvez você queira resolver problemas.

Note: Only some players report detailed playback metrics themselves, mostly web browsers running the Owncast web interface.

Server-observed playback metrics require Owncast v0.3.0

For players that do not self-report, such as VLC, mpv, Safari and ffmpeg, Owncast records the download speed and duration of video segments it serves, as observed by the server. This only works when Owncast serves the video itself. If your segments are hosted on S3 storage, viewers download them from there and these players are not represented in the metrics.

Analyze your stream with the HLS Analyzer

Visite HLS Analyzer para auxiliar na solução de problemas. Insira a URL do seu stream quando solicitado, é <yourserver>/hls/stream.m3u8. Clique em Analisar .m3u8.

Anote os seguintes valores:

Segment Download (sec): O tempo (em segundos) que levou para baixar um segmento de vídeo. Se levar mais tempo para baixar um segmento de vídeo do que a duração de cada segmento, ocorrerá buffering.

Player Buffer (sec): A quantidade de vídeo reproduzível (em segundos) disponível. Se isso chegar a zero, ocorrerá buffering.

Outage (sec): O tempo em que o player não teve vídeo disponível e entrou em buffering.

Verifique a utilização do hardware do seu servidor Owncast

Visite a página de uso de hardware no admin para ver como os recursos do seu servidor estão se comportando.

A página de Informações sobre Hardware no admin, mostrando medidores de uso de CPU, memória e disco com um gráfico de uso ao longo do tempo

Se sua CPU estiver no máximo no servidor Owncast, os espectadores verão buffering, pois o servidor não consegue mais acompanhar. Se isso é o que você está enfrentando, o primeiro passo é resolver a utilização excessiva de hardware.

Comece com seu software de transmissão

Transmita seu vídeo de forma confiável

Certifique-se de que seu computador de transmissão está transmitindo vídeo ao vivo de forma confiável. Se seu próprio computador ou conexão de rede estiver tendo dificuldades para enviar vídeo para a internet, os espectadores ficarão travados em um estado de buffer. Reduza a taxa de bits, a resolução e/ou a taxa de quadros no seu software de transmissão no dispositivo de transmissão, se necessário.

Anote quaisquer quadros perdidos e investigue o que está causando essas perdas. É a sua CPU ou GPU local? É a sua rede local? Ou é o servidor Owncast descartando-os devido ao uso de hardware?

Se, por exemplo, sua GPU no computador de transmissão estiver no limite, ela não conseguirá acompanhar a renderização dos quadros. Se você estiver usando o OBS, uma forma de determinar isso é olhar as "Estatísticas" no aplicativo e ver se você está experimentando algum "Atraso na Renderização".

Combine a qualidade do vídeo

Uma otimização fácil para o uso da CPU é garantir que seu vídeo de entrada corresponda à sua mais alta qualidade de saída.

A mais alta taxa de bits, resolução e qualidade de taxa de quadros que você configurou no Owncast para oferecer aos seus espectadores deve corresponder ao que você está enviando para o Owncast em seu software de transmissão para reduzir a quantidade de trabalho extra que a CPU precisa fazer. Comece com a sua maior qualidade correspondente ao seu software de transmissão e, a partir daí, avance. Qualidades mais baixas, é claro, devem ser oferecidas para pessoas com conexões de rede mais lentas ou que estão geograficamente distantes.

Aumente seu buffer de latência

Aumentar a configuração do buffer de latência fará com que o usuário comece mais atrás do ao vivo, mas dará ao cliente mais vídeo reproduzível antes de ficar travado aguardando o ao vivo. Menos latência é menos eficiente e mais provável de causar buffering. Verifique no HLS Analyzer após aumentar o valor do seu buffer de latência para ver se isso reduziu algum aviso.

You can change this value in the admin under Configuration > Video. Latency and video quality changes take effect on your next stream, so restart your stream after changing them.

Desvantagem: Aumentar sua latência dificulta interagir ao vivo com os espectadores, pois o atraso entre quando você realiza uma ação e quando eles a veem aumenta.

Use armazenamento externo

Vídeo de qualidade mais alta significa tamanhos de vídeo maiores que demoram mais para baixar.

Conforme citado no OBS Wiki:

> Este é um erro muito comum que novos streamers cometem. Os streamers tendem a usar o máximo de bitrate que têm disponível para upload, sem considerar como isso pode afetar seus espectadores. Claro que entendemos que você quer que sua transmissão tenha uma boa aparência. Aumentar seu bitrate é uma maneira simples de conseguir isso, mas deve ser feito com moderação. >

No final, enquanto sua transmissão de 1080p 60fps 9mb/s pode parecer gloriosa, e 3 pessoas podem assisti-la sem problemas, o seu provedor de transmissão ou o resto dos seus espectadores podem ter problemas.

Reduza o bitrate e a taxa de quadros de suas variantes de saída de vídeo no Owncast e, em seguida, ajuste sua maior qualidade ao que você está enviando no seu software de transmissão.

Quanto maior cada segmento de vídeo, mais tempo leva para baixar. Portanto, em geral, se você diminuir a qualidade do seu vídeo (em bitrate e/ou resolução), é provável que diminua o tempo necessário para baixar, reduzindo assim a probabilidade de buffering para sua audiência.

Ao diminuir a taxa de quadros e/ou o bitrate no seu servidor, você também deve diminuir o que envia para o Owncast em seu software de transmissão. Isso ajuda porque:**

  1. Reduz a quantidade de tráfego de rede que sua conexão de internet está usando, diminuindo a chance de que sua conexão de upload se torne um gargalo na transmissão.
  2. Reduz a quantidade de dados que estão sendo ingeridos no Owncast.
  3. Quanto menos trabalho de conversação for necessário dentro do Owncast, mais rápido as coisas ficam.

Desvantagem: Reduzir a taxa de quadros e/ou o bitrate do seu vídeo pode diminuir visivelmente a qualidade de sua transmissão em alguns conteúdos.

Taxa de quadros

Diminuir a taxa de quadros do seu vídeo é muitas vezes uma maneira fácil de reduzir o buffering. FPS significa "quadros por segundo", portanto, se você diminuir a taxa de quadros do seu vídeo de 60fps para 30fps, há literalmente metade dos quadros de vídeo para seus espectadores baixarem, reduzindo a quantidade de dados do vídeo pela metade.

Desvantagem: Reduzir a taxa de quadros pode diminuir visivelmente a qualidade de sua transmissão em alguns conteúdos.

Use armazenamento externo

Se o problema central é que seu servidor não consegue lidar com o número de espectadores, você pode aproveitar provedores de armazenamento de objetos de terceiros para que seus espectadores baixem o vídeo de lá em vez de do seu servidor. Owncast still serves the master playlist, the APIs and chat itself, but the variant playlists and video segments, which make up almost all of the bandwidth, are offloaded to the storage provider.

Isso permite que você gere o vídeo em seu servidor Owncast, mas o sirva a partir de um provedor que possui largura de banda e capacidade ilimitadas a um custo baixo.

With this setup you don't need extra CPU or a more powerful server in order to support more viewers, as the heavy video traffic no longer comes from your server.

Saiba mais sobre como configurar armazenamento externo com Owncast.

Mude para um servidor mais centralizado ou hospedado por um fornecedor mais rápido

Para alcançar mais pessoas ao redor do mundo, um CDN (rede de distribuição de conteúdo) geralmente é o próximo passo. Colocar um CDN na frente do seu vídeo permite que ele seja distribuído por servidores geograficamente mais próximos do espectador.

Saiba mais sobre o uso de CDN com Owncast.

Se você está enfrentando envios lentos para armazenamento externo

Você pode ter mais sucesso executando o Owncast em um servidor localizado mais centralmente ou que possua uma conexão com o mundo mais rápida. Se o seu servidor estiver fisicamente distante tanto de você (para onde transmitir) quanto dos seus espectadores (de onde consumam o vídeo), você pode não estar na configuração mais ideal.

Se você está enfrentando uploads lentos para o armazenamento externo

Se você estiver usando armazenamento externo, certifique-se de que consegue enviar para este serviço de armazenamento rapidamente. Caso contrário, o atraso na chegada dos seus arquivos ao provedor de armazenamento que todos estão usando para visualizar o vídeo causará buffering.

Se você tiver uma conexão de upload lenta, ou estiver enviando para um serviço de armazenamento externo que está muito longe, ou não otimizado para uploads rápidos, você pode enfrentar um problema onde leva muito tempo para enviar os segmentos de vídeo, tornando-os não disponíveis rapidamente para uso.

  1. Determine se há outro endpoint para o seu serviço de armazenamento que possa estar geograficamente mais próximo de você.
  2. Use um serviço de armazenamento que esteja o mais próximo (fisicamente e logicamente) possível de onde sua instância Owncast está. Por exemplo, se você estiver em uma máquina AWS, use um bucket S3 na mesma região. Se você estiver na Digital Ocean, experimente o DO Spaces. Mas talvez não use o DO Spaces se você estiver em uma máquina Linode, use o Linode Object Storage em vez disso. Execute o owncast com --enableVerboseLogging para ver se você recebe algum aviso de upload lento.
  3. Tente aumentar sua velocidade de upload com seu provedor de servidores.
  4. Descubra se seu serviço de armazenamento oferece algo como Transfer Acceleration da AWS para (possivelmente) tentar aumentar a velocidade dos uploads.
  5. Reduza a qualidade do seu vídeo para que os segmentos de vídeo sejam menores e levem menos tempo para serem enviados.

Improve this page

See something missing or incorrect? Edit this page and improve the documentation for everyone.

Contributors to this documentation