Blog do StreamHousetransmissão 24/7 vps

Transmissão 24/7 em VPS ou em um serviço na nuvem gerenciado?

Rodar uma transmissão 24/7 em uma VPS com FFmpeg parece simples até a playlist recomeçar do zero, o processo morrer de madrugada ou um segundo destino dobrar o seu tráfego de saída. Veja o que o faça-você-mesmo realmente exige e quando um serviço gerenciado compensa mais.

Cerca de 7 min de leitura

Nesta página

Dá, sim, para fazer uma transmissão 24/7 em uma VPS com FFmpeg: você envia seus vídeos para um servidor alugado, escreve uma playlist no formato concat e coloca tudo em loop apontando para a URL RTMP de uma plataforma. Funciona, e pode ser um ótimo projeto de aprendizado. O custo real é o seu tempo, gasto com codificação, recuperação de falhas, monitoramento e planejamento de banda.

Veja o que o faça-você-mesmo realmente envolve e quando um serviço gerenciado é um uso melhor das suas horas.

Principais pontos

  • Um loop básico de FFmpeg sai rápido; mantê-lo no ar por meses é que dá trabalho.
  • Taxas de quadros ou timestamps diferentes podem derrubar uma playlist em modo copy e fazê-la voltar ao início.
  • O FFmpeg não se reinicia sozinho nem avisa você quando cai.
  • Cada destino extra soma o bitrate inteiro ao tráfego de saída.

Como é a configuração caseira em VPS

A estrutura auto-hospedada típica tem quatro partes:

  1. Uma VPS Linux com espaço em disco para a sua biblioteca e franquia de transferência de saída para uma transmissão que nunca para.
  2. Seus arquivos de vídeo, enviados por SFTP ou sincronizados a partir de um armazenamento.
  3. Um arquivo de playlist para o demuxer concat do FFmpeg.
  4. Um comando FFmpeg que lê a playlist em tempo real, coloca em loop e envia para uma URL de ingestão como rtmp://a.rtmp.youtube.com/live2 mais a sua chave.

A maioria dos tutoriais usa o modo stream copy, em que o FFmpeg repassa vídeo e áudio sem recodificar. O uso de CPU fica mínimo, então um servidor pequeno dá conta, e a primeira transmissão realmente sobe rápido.

O porém: o modo copy só roda liso quando todos os arquivos são tecnicamente consistentes, e é aí que vai o esforço de longo prazo.

Codificação e timestamps: por que playlists do FFmpeg recomeçam

Com stream copy, o FFmpeg emenda os arquivos do jeito que estão, então um único arquivo fora do padrão quebra as junções. Os culpados mais comuns:

  • Taxas de quadros diferentes, como uma exportação em 29,97 fps ao lado de arquivos em 30 fps, ou uma gravação de celular com taxa de quadros variável.
  • Resoluções ou formatos de áudio diferentes, como um clipe em 720p no meio de arquivos em 1080p.
  • Timebases estranhas ou timestamps ausentes, deixados por alguns editores e gravadores de tela.

Os sintomas vão de avisos no log a vídeo congelado e ao FFmpeg simplesmente encerrando. Quando ele reinicia, a playlist começa de novo pelo primeiro vídeo, e os espectadores veem a mesma primeira hora repetidas vezes.

A solução é recodificar tudo para um único perfil antes de entrar na playlist: mesma resolução, taxa de quadros constante, mesmo intervalo de keyframes e mesmo formato de áudio. Veja as configurações de codificação para transmissão 24/7.

Quedas, reinícios e monitoramento por sua conta

O FFmpeg é excelente, mas é um único processo sem nenhuma preocupação em continuar vivo. Quando a plataforma derruba a conexão, a rede oscila ou um arquivo provoca um erro, ele encerra, e nada o traz de volta a menos que você tenha montado:

  • Um supervisor, como um serviço systemd com reinício automático.
  • Rastreamento de posição, para que um reinício não comece a playlist do topo.
  • Verificações de saúde que confirmem que a plataforma está recebendo vídeo, já que um processo rodando ainda pode aparecer como offline.
  • Alertas no seu celular, para que uma queda às 3 da manhã não dure até o café.

E ainda tem a manutenção: atualizações, reinicializações, discos lotando de logs e chaves de transmissão em texto puro dentro de scripts. Nada disso é difícil isoladamente; somado, vira um emprego de meio período. Veja como monitorar a saúde e o uptime da transmissão para saber o que acompanhar.

Banda e vários destinos a partir de um único servidor

Uma transmissão ininterrupta consome mais dados do que as pessoas imaginam. Uma única transmissão de 6 Mbps rodando por 30 dias envia cerca de 1,9 TB. Mande para três plataformas e o servidor passa a enviar uns 18 Mbps sem parar, perto de 6 TB por mês. Confira a franquia de transferência de saída do seu provedor e as condições de cobrança do excedente.

O FFmpeg com vários destinos tem suas próprias manias. Um processo por plataforma significa vários processos para supervisionar. O muxer tee do FFmpeg manda uma entrada para várias saídas, mas um único destino com falha, como uma plataforma recusando uma chave desatualizada, pode derrubar o processo inteiro, a menos que cada saída seja configurada para tolerar falhas.

As particularidades das plataformas também ficam por sua conta, como o limite de arquivamento de 12 horas do YouTube, que um loop simples ignora.

Quando uma transmissão caseira em VPS é a escolha certa

Hospedar por conta própria faz sentido quando a maior parte disto é verdade:

  • Você se sente à vontade na linha de comando do Linux e gosta de manter sistemas.
  • Você transmite para um único destino, ou está disposto a projetar o tratamento de falhas para vários.
  • Sua biblioteca é pequena e estável, e você controla como cada arquivo é exportado.
  • Um reinício ocasional do topo da playlist não é grande coisa para o seu público.
  • Você quer aprender como o streaming funciona por baixo dos panos.

Um serviço gerenciado faz mais sentido quando a transmissão sustenta uma renda ou uma marca, você adiciona vídeos com frequência, precisa de várias plataformas ou seu tempo rende mais criando conteúdo. A comparação justa é a conta do servidor mais as horas de configuração e de correções de madrugada, contra um serviço que já resolveu esses problemas.

Rodando o mesmo loop 24/7 no StreamHouse

O StreamHouse substitui cada peça dessa estrutura. Os uploads são preparados com antecedência em um único perfil de codificação consistente, o que mantém bitrate e timestamps estáveis, então um arquivo fora do padrão não reinicia a sua playlist. Monte a playlist no navegador, adicione destinos como YouTube, Twitch, Rumble, Facebook, RTMP personalizado ou SRT, e clique em Iniciar ou agende um horário.

O loop roda 24/7 na nuvem e se reconecta automaticamente após instabilidades da plataforma ou da rede. Adicione, remova ou reordene vídeos com a live no ar; as mudanças valem a partir do próximo vídeo. Destinos extras não consomem vagas de transmissão adicionais e, para um canal do YouTube conectado, a proteção de gravação pode encerrar a primeira transmissão no ponto que você escolher e continuar em uma nova sem reiniciar a playlist.

Compare assinaturas e créditos pré-pagos na página de preços.

Perguntas frequentes

Dá para fazer uma live 24/7 no YouTube com FFmpeg em uma VPS?

Sim. Um comando FFmpeg em loop apontado para a URL RTMP do YouTube mantém o canal ao vivo. A parte difícil é mantê-lo saudável por semanas: codificação consistente, reinícios automáticos, monitoramento e arquivamento de transmissões longas ficam todos por sua conta.

Por que minha playlist do FFmpeg fica recomeçando do início?

Normalmente um arquivo não bate com os outros, com taxa de quadros, resolução ou formato de áudio diferentes. No modo copy os timestamps quebram, o FFmpeg encerra e reinicia no primeiro vídeo. Recodifique todos os arquivos para um único perfil constante.

Quanta banda uma transmissão 24/7 consome por mês?

Cerca de 1,9 TB para uma transmissão de 6 Mbps rodando sem parar por 30 dias, e proporcionalmente mais com bitrates maiores ou destinos extras. Três plataformas nesse bitrate somam perto de 6 TB, então confira antes a franquia de transferência do seu servidor.

Preciso de uma VPS potente para transmitir 24/7?

Não, se você pré-codificar os arquivos e usar stream copy, que exige pouquíssima CPU. Codificar 1080p em tempo real no servidor é outra história: exige núcleos dedicados, e planos compartilhados pequenos muitas vezes não conseguem acompanhar a velocidade de tempo real.

Próximos passos