Skip to content

Cópia de um stream

Um mesmo sinal costuma ser necessário em várias formas: como está, para o arquivo e o controle interno, e processado, para os espectadores; aberto para uns e cifrado para outros. Recebê-lo duas vezes nem sempre é possível: um codificador SRT atende a um único chamador, um receptor de satélite entrega um único stream. A fonte Copy lê outro stream do mesmo streamer dentro do processo, sem uma segunda conexão à fonte e sem laço de rede. A cópia é um stream independente, com ajustes próprios.

O que a cópia recebe

A cópia lê o stream alvo depois de todo o seu processamento — transcodificador, alinhamento e segmentação — e vê exatamente o que o alvo entrega aos espectadores, com as mesmas marcas de tempo. Junto com os quadros chegam os limites dos fragmentos com que o alvo cortou o stream: a cópia corta nos mesmos pontos, e os arquivos dos dois streams são compostos de segmentos idênticos.

Nada mais é herdado. A cópia é um stream à parte, com abas próprias: transcodificador, arquivo, proteção da reprodução, entrega e atribuição são configurados nela de novo e não afetam o alvo. Assim um sinal recebido ganha quantos processamentos independentes forem necessários, enquanto a fonte continua conectada uma única vez.

Configure a cópia

  1. Crie o stream que será a cópia, por exemplo arena-mobile ao lado do stream receptor arena.
  2. Na aba Fontes clique em + Adicionar fonte e escolha o protocolo Copy.
  3. No campo Stream alvo (este nó) digite o nome do stream a ser lido: arena.
  4. Salve. O indicador da fonte fica verde assim que o alvo entrega quadros; o cartão abaixo da fonte mostra o estado e o bitrate, como em qualquer outra fonte.

Fonte Copy: o campo do stream alvo e o cartão de estado

Na lista de streams o alvo e a cópia são dois streams ativos comuns.

Lista de streams: o alvo e sua cópia estão ativos

Os ajustes do alvo não mudam: ele não precisa saber das suas cópias, e pode haver várias.

Um alvo sob demanda

Se o Modo de início do stream alvo for Sob demanda, a cópia o inicia por conta própria, como faria um espectador: o alvo inicia junto com a cópia e funciona enquanto a cópia o lê. Quando a cópia é parada ou excluída, o alvo fica ocioso pelo seu próprio tempo limite sem espectadores.

O alvo em um cluster

A cópia lê apenas um stream do seu próprio streamer: o sinal nunca cruza a rede entre máquinas. O layouter atribui cada stream separadamente e não sabe nada do vínculo entre a cópia e o alvo, portanto manter os dois em um mesmo streamer depende de você: com um namespace ou uma tag. O jeito mais simples: dê ao alvo e à cópia o requisito required_<tag>, e a própria tag a exatamente um streamer.

Se o alvo estiver atribuído a outro streamer, a fonte da cópia fica em erro: o stream aguarda e se conecta sozinho assim que o alvo aparece na sua máquina.

O que não é permitido

A validação ao salvar rejeita duas configurações e destaca o campo do stream alvo:

  • Um stream lê a si mesmo. A cópia esperaria os quadros que ela própria deveria produzir.
  • Uma cadeia de cópias se fecha em anel. ab e ba: nenhum tem fonte. Uma cadeia sem retorno — a cópia de uma cópia — é permitida.

Se a cópia não funciona

  • A fonte está morta, o alvo não foi encontrado. Verifique o nome no campo do stream alvo e a atribuição: o alvo deve funcionar no mesmo streamer que a cópia.
  • O alvo está parado. A fonte da cópia está em erro, o stream aguarda. Assim que o alvo volta a entregar quadros, a cópia se conecta sozinha: não é preciso mudar nada.
  • Os erros de entrada crescem. A cópia não acompanha o alvo e parte dos quadros se perde: o streamer está sobrecarregado. Veja o diagnóstico da fonte e a carga do streamer.