Blog do StreamHouseconfiguração de streaming srt

Como enviar uma transmissão ao vivo para um destino SRT

Destinos SRT pedem alguns detalhes a mais do que o RTMP: um modo, um host e uma porta e, muitas vezes, um stream ID, uma senha (passphrase) e a latência. Veja o que significa cada parte de uma URL srt:// e como deixar a transmissão conectada.

Cerca de 7 min de leitura

Nesta página

Para enviar uma transmissão ao vivo para um destino SRT, obtenha um endereço srt:// com quem recebe, confirme qual lado escuta e qual lado chama e use o mesmo stream ID, a mesma passphrase e a mesma latência que o receptor espera. Depois, abra a porta UDP do receptor, inicie o envio e confira se o vídeo está chegando antes de depender dele.

Pequenas divergências quebram configurações SRT, então acerte cada detalhe. É novo no protocolo? Comece por o que é streaming SRT.

Principais pontos

  • Um lado da conexão SRT escuta em uma porta UDP e o outro faz a chamada.
  • Uma URL srt:// traz host e porta, além de opções como mode, streamid e passphrase.
  • A maioria das falhas vem de uma porta fechada, de dois callers ou de passphrase ou stream ID diferentes.
  • Teste localmente antes de apontar uma transmissão 24/7 para um receptor de produção.

Quem realmente usa destinos SRT

Normalmente você não vai mandar SRT para uma rede social popular. Os destinos SRT costumam ser sistemas mantidos por uma emissora, uma empresa ou um parceiro:

  • Playout e produção de broadcast. Estúdios recebem sinais de contribuição via SRT em decodificadores de hardware, switchers e sistemas de playout.
  • Servidores de mídia. Servidores de mídia auto-hospedados e comerciais aceitam SRT e reempacotam o sinal para players, gravação ou distribuição posterior.
  • Entregas para parceiros. Um canal que fornece programação para uma rede, telas de um local de eventos ou um distribuidor muitas vezes faz a entrega via SRT.
  • Serviços de vídeo na nuvem. Algumas plataformas profissionais oferecem ingestão SRT ao lado do RTMP.

Em todos os casos, o operador do receptor passa os dados de conexão, que você precisa reproduzir exatamente. Se o outro lado só oferece RTMP, siga o guia de servidor RTMP personalizado.

Modos caller, listener e rendezvous

Toda conexão SRT precisa de um lado que espera e de um lado que disca.

  • Listener se vincula a uma porta UDP e aguarda conexões. Ele precisa de um endereço acessível e de uma porta aberta no firewall.
  • Caller se conecta ao host e à porta de um listener e funciona atrás da maioria dos firewalls, porque a conexão é de saída.
  • Rendezvous faz os dois lados chamarem um ao outro ao mesmo tempo em portas combinadas, o que pode ajudar quando nenhum dos lados aceita tráfego de entrada.

O modo não tem relação com o sentido em que o vídeo flui. Quando um serviço na nuvem ou um encoder entrega para o seu servidor, o arranjo mais comum é quem envia como caller e quem recebe como listener.

O erro clássico são dois callers ou dois listeners. Os dois lados ficam esperando sem nenhum erro claro, então confirme o modo com o operador do receptor.

Lendo uma URL srt:// parte por parte

Um endereço SRT costuma ter mais ou menos esta cara:

srt://ingest.example.com:9000?mode=caller&streamid=channel-main&passphrase=YOUR-LONG-SECRET

  • Host e porta. O nome de host ou endereço IP do receptor e a porta UDP em que ele escuta. Não existe uma porta padrão universal, então use a que passaram para você.
  • mode. O papel do seu lado: caller, listener ou rendezvous.
  • streamid. Um identificador que alguns receptores usam para direcionar ou autorizar um sinal, parecido com uma chave de transmissão. O formato depende do receptor.
  • passphrase. O segredo compartilhado para a criptografia AES, que normalmente precisa ter de 10 a 79 caracteres. As duas pontas precisam coincidir exatamente.
  • pbkeylen. Tamanho opcional da chave, de 16, 24 ou 32 bytes, ou seja, AES-128, 192 ou 256.
  • latency. O buffer de recuperação. Algumas ferramentas usam milissegundos, enquanto softwares baseados em FFmpeg costumam esperar microssegundos, então confira antes de copiar um número de outra configuração.

Preparando o lado que recebe

Se você mesmo opera o receptor, prepare-o antes de qualquer envio:

  1. Configure um listener em uma porta UDP fixa no seu servidor de mídia, decodificador ou software de playout.
  2. Abra essa porta UDP no firewall do servidor e em qualquer grupo de segurança na nuvem ou roteador na frente dele. Regras TCP não cobrem o SRT.
  3. Escolha uma passphrase e, se o seu software direciona por stream ID, um ID para esse sinal.
  4. Escolha uma latência adequada ao trajeto; rotas longas ou instáveis precisam de mais.
  5. Confirme o formato. O SRT normalmente carrega MPEG-TS com vídeo H.264 e áudio AAC, então garanta que o receptor aceita isso.
  6. Teste localmente enviando um sinal curto pelo OBS ou pelo FFmpeg a partir de outra máquina.

Se o receptor só aceita endereços autorizados, libere também o de quem envia.

Resolvendo conexões SRT que não iniciam

Os erros do SRT costumam ser vagos, então diagnostique pelo sintoma:

  • A conexão expira (timeout). A porta UDP está fechada ou não foi redirecionada, o host está errado ou os dois lados usam o mesmo modo.
  • A conexão é recusada. Normalmente é passphrase diferente, passphrase configurada em só um dos lados ou um stream ID que o receptor não reconhece.
  • Conecta, mas depois engasga ou cai. A latência está baixa demais para o trajeto da rede, ou a banda está abaixo do bitrate somado à sobrecarga de retransmissão. Aumente a latência primeiro.
  • Conecta sem imagem nem som. O receptor espera outro contêiner ou codec, e os logs dele normalmente dizem qual.

Quando funcionar, anote todos os valores que conectaram. Os hábitos mais amplos de como manter uma transmissão 24/7 no ar também valem para destinos SRT.

Adicionando um destino SRT a uma transmissão no StreamHouse

No StreamHouse, o SRT é um destino personalizado ao lado das plataformas integradas. Cole a URL srt:// completa do receptor, incluindo as opções exigidas, como a passphrase. Se você recebeu um stream ID ou uma chave separadamente, informe no campo de stream ID, e o StreamHouse o adiciona como parâmetro streamid quando a URL ainda não tiver um. Sem um modo na URL, o StreamHouse se conecta como caller, então o seu receptor deve escutar.

Envie uma playlist em loop de vídeos pré-codificados para o seu receptor 24 horas por dia, ou adicione o SRT ao lado do YouTube, da Twitch e de outros destinos RTMP na mesma transmissão sem consumir vagas de transmissão extras. Tudo roda na nuvem e se reconecta automaticamente após instabilidades. O guia de primeiros passos mostra como fazer a primeira transmissão.

Perguntas frequentes

Qual porta o SRT usa?

Não existe uma porta padrão única. O listener pode usar qualquer porta UDP disponível, e o operador do receptor informa qual. Essa porta precisa estar aberta para tráfego UDP em todos os firewalls entre quem envia e o listener.

Quem envia o SRT deve ser caller ou listener?

Normalmente quem envia faz a chamada e quem recebe escuta, porque os receptores costumam ter endereços fixos e portas abertas, enquanto quem envia fica atrás de firewalls. Tecnicamente os dois jeitos funcionam, desde que os lados usem modos opostos ou ambos usem rendezvous.

Qual latência devo configurar no streaming SRT?

Um ponto de partida comum é várias vezes o tempo de ida e volta entre quem envia e quem recebe, aumentando para links com perdas ou de longa distância. Comece de forma conservadora, observe os pacotes perdidos e depois reduza aos poucos. Confirme se a sua ferramenta espera milissegundos ou microssegundos.

Posso enviar SRT e RTMP a partir da mesma transmissão?

Sim, se a sua ferramenta suportar várias saídas. Um serviço na nuvem pode entregar RTMP para plataformas públicas e SRT para um receptor privado ao mesmo tempo, sem upload extra da sua conexão. Cada destino continua precisando dos próprios dados corretos.

Próximos passos