Skip to content

Publicação SRT

A captura por SRT funciona assim: você diz de antemão à estação onde esperar o sinal, e o remetente deve discar exatamente para lá. A publicação inverte o esquema — um correspondente com OBS ou um codificador móvel disca para o cluster por conta própria, com um único endereço e uma única porta, sem saber nem escolher de quais máquinas o cluster é feito. A captura sobe no nó que atendeu a chamada.

É assim que se conectam autores externos: um repórter com um telefone, o estúdio de um parceiro, uma câmera em um evento. Eles recebem uma única linha de conexão — do resto o cluster cuida sozinho.

Como o cluster atende a chamada

  • A porta UDP dedicada do stream é escutada por todos os nós do cluster — disque para qual for, a porta é a mesma.
  • Quem liga passa pela verificação da senha de acesso no próprio handshake; depois o stream fica fixado ao nó que atendeu a chamada e arranca ali.
  • Uma publicação caída espera o seu retorno: após alguns segundos de silêncio a conexão se fecha e o stream volta à espera. Um codificador que redisca para outro nó leva o stream consigo — a fixação segue a chamada.
  • Enquanto a publicação está no ar, a porta está ocupada: um segundo codificador que discar para a mesma porta recebe uma recusa de «ocupado» e não derruba a transmissão em curso.

As fontes são opcionais para esse stream: ele pode viver só da publicação e arrancar com a primeira chamada. Uma fonte configurada ao lado da publicação atua de reserva — o ao vivo a supera.

Um endereço para todos os codificadores

O codificador precisa de um único endereço, e o cluster tem vários nós. O ajuste Endereço de publicação (menu Configurações do central) é o nome ou o IP que o console coloca na linha de conexão. O que está por trás desse endereço — um nome DNS com vários registros A, um VIP ou um balanceador UDP — é decisão da instalação; esta página cobre a variante DNS como a que não exige software adicional. O ajuste vazio significa o host do console e só serve para uma máquina única.

Endereço de publicação e candidatos a DNS

Cenário: um nome DNS com vários registros A

No SRT não há redirecionamentos: o cliente disca por UDP para um endereço concreto, e o protocolo não sabe dizer «pergunte no nó ao lado». O que os clientes SRT — OBS, Larix, VLC — sabem fazer é percorrer os registros A: quando um endereço não responde, eles tentam os registros do nome por conta própria, gastando uns três segundos por cada um morto. Um nome com um registro A por nó dá tolerância a falhas pelo esforço do próprio cliente: um nó morre — o codificador disca para o seguinte.

A ordem de configuração:

  1. Declare os endereços públicos dos nós. Na ficha de cada nó preencha o Endereço público de mídia — o campo oferece a escolha entre os endereços que o nó vê nas suas interfaces; atrás de NAT o correto só você sabe, escreva-o à mão.
  2. Confira a dica. Sob o ajuste Endereço de publicação o console lista os candidatos a registros DNS — um endereço por nó vivo, com o nome do nó. Essa é exatamente a lista do que vai para a zona.
  3. Crie os registros A. Na sua zona DNS crie um nome — por exemplo, publish.example.com — com um registro A para o endereço de cada nó da lista.
  4. Coloque o nome em «Endereço de publicação» e salve. O cluster resolve o nome periodicamente e confere o resultado com o registro de nós: junto ao ajuste se vê que o nome leva a nós vivos. Um nome que não se resolve, ou que leva só a nós desligados, acende um aviso — o erro clássico de manutenção «nó retirado, registro esquecido» aparece de imediato, não na primeira transmissão quebrada. A partir desse momento as URL do codificador de todos os streams passam a ser montadas com o nome.

Duas ressalvas honestas:

  • Vários registros A são tolerância a falhas, não balanceamento de carga: os resolvedores cacheiam e embaralham os registros do seu jeito, e os codificadores de uma mesma rede podem cair todos no mesmo nó. Um desvio de fixações entre os nós é um quadro normal.
  • Nem todo cliente móvel percorre os registros. Alguns aplicativos pegam o primeiro endereço e insistem nele. Para esses é mais seguro configurar dois endereços no perfil do codificador — principal e reserva.

Configuração do stream

Abra o stream na aba Streams e encontre a seção Publicação SRT:

Campo O que define
Porta UDP a porta de publicação; uma porta — um stream, em todos os nós ao mesmo tempo
Senha de acesso a chave de criptografia AES, de 10 a 79 bytes; na divergência, a chamada é recusada no handshake

A senha de acesso é opcional, mas uma porta sem ela é uma porta aberta: poderá publicar qualquer um que discar. Deixe-a vazia só em uma rede de confiança — o formulário avisa sobre isso.

Adicionando uma porta de publicação: uma porta sem senha de acesso acende o aviso de porta aberta

Abaixo dos campos monta-se a URL do codificador pronta — srt://endereço:porta?passphrase=… — com botão de copiar e código QR: o endereço com a chave entram no codificador móvel pela câmera, não pelo teclado. O endereço da linha é o mesmo Endereço de publicação da seção acima: configure-o antes de distribuir a linha, senão o codificador leva o endereço de um nó concreto.

Ao lado do QR estão as abas Larix e Moblin: a mesma porta como link de importação pronto para esses aplicativos — escaneie com a câmera deles e a conexão aparece sozinha nas configurações.

A seção de publicação SRT na ficha do stream

Conexão do codificador

No OBS: Configurações → Transmissão → Serviço: Personalizado..., e a linha inteira da ficha do stream no campo Servidor:

srt://publish.example.com:9000?passphrase=sua-chave

Ao codificador móvel mostre o QR da mesma seção. Depois de iniciar a transmissão, o stream sobe em um par de segundos — visível na lista de streams e na página de portas.

O resumo de portas SRT

A página Portas SRT (no menu, sob Streams) é o mapa de todas as portas SRT do cluster: portas de publicação e de entrega, de qual stream é cada uma, se tem senha de acesso, se de fato está escutando. Também mostra:

  • a escolha de porta para um stream novo — os números ocupados estão à vista, uma porta duplicada fica marcada;
  • uma publicação ao vivo — o endereço do codificador e o nó que atendeu a chamada;
  • a fixação entre chamadas — para um stream cujo codificador caiu e ainda não voltou, o nó onde o stream espera: uma chamada para ele retoma sem consultar o central, uma chamada para outro nó leva o stream para lá;
  • a verificação do endereço de publicação — a mesma linha de estado que junto ao ajuste.

O resumo de portas SRT

Quando uma chamada é recusada

O que aconteceu O que o codificador vê
A senha de acesso não coincidiu uma recusa no handshake, sem conexão
A porta está ocupada por uma publicação em curso uma recusa de «ocupado»; a transmissão em andamento não é interrompida
A publicação ficou em silêncio após alguns segundos de silêncio a conexão se fecha e o stream espera a próxima chamada

O que vem depois