Outras entradas e saídas

Aqui é descrita a configuração das entradas e saídas listadas brevemente na visão geral dos protocolos (Outras entradas e saídas): recepção de fontes RTSP e via HLS/HTTP, trabalho com arquivos e dispositivos, canais nomeados e ponte para aplicativos externos. Os nomes dos campos correspondem aos da interface.

Entrada RTSP

A entrada recebe um fluxo de vídeo de fontes RTSP: câmeras IP e servidores RTSP. O nó abre uma sessão RTSP, lê os fluxos elementares e os remultiplexa no MPEG-TS interno; em seguida, o fluxo percorre o pipeline SPTS habitual. Se a fonte não tiver faixas de áudio, é adicionada uma faixa silenciosa MPEG-1 Layer II, porque o pipeline precisa de pelo menos uma faixa de áudio. O RTSP é uma fonte de programa único, disponível apenas para fluxos SPTS.

Configurações:

  • URI (rtsp://…) — endereço completo da sessão; Login e Password — as credenciais, caso o servidor exija autorização;

  • Transport — o transporte RTP dentro do RTSP: UDP (padrão; baixa latência, sensível a perdas), TCP (atravessa NAT e firewalls) ou túnel HTTP (para passar por proxies HTTP);

  • User-Agent e Cookies (configurações avançadas) — para servidores com autorização não padronizada;

  • Client timeout — tempo limite de abertura e de leitura, 10 segundos por padrão.

Entrada HLS / HTTP

A entrada recebe MPEG-TS sobre HTTP: uma lista de reprodução HLS comum ou uma transferência HTTP contínua. Por padrão, o modo é determinado automaticamente pelo tipo de conteúdo da resposta; quando necessário, é definido explicitamente. Para uma lista de reprodução adaptativa, por padrão é tomada a primeira variante da lista de reprodução master; o número da variante pode ser definido explicitamente (configuração avançada). São suportadas a autorização por login e senha, Cookies e um User-Agent próprio, bem como listas de reprodução que redirecionam para a lista de reprodução de uma nova sessão. A entrada está disponível apenas para fluxos SPTS; para MPTS, use UDP / RTP / TCP, arquivo ou adaptador DVB.

Arquivos e dispositivos

O tipo file serve tanto de entrada quanto de saída:

  • Saída — gravação em arquivo TS (por exemplo, para diagnóstico posterior por analisadores externos) ou saída para um dispositivo: o fluxo de transporte MPEG-TS é gravado como está em um nó de dispositivo em /dev, por exemplo uma placa ASI. Para um dispositivo, ative o indicador Is device node.

  • Entrada — reprodução em loop a partir de um arquivo TS ou captura de um dispositivo (por exemplo, recepção de DVB-ASI — Receptor DVB).

O caminho é definido pelo campo File path — o caminho completo para o arquivo ou o dispositivo.

Nota

O nó trabalha apenas com o fluxo de transporte MPEG-TS. O vídeo SDI não comprimido (baseband) não é suportado nem na entrada nem na saída: uma placa de captura ou de saída SDI não funcionará com o nó. Para a troca com um dispositivo, serve uma placa que receba ou entregue MPEG-TS, por exemplo ASI.

Canais nomeados (pipe)

Uma entrada deste tipo lê de um pipe nomeado (FIFO), e uma saída escreve nele. Ao contrário do tipo std, o nó não inicia um processo filho: o programa externo de origem ou de destino deve ser iniciado de forma independente e manter o pipe aberto do seu lado. O campo FIFO path (empty = auto) define o caminho do pipe; o próprio pipe é criado pelo nó — ao iniciar a entrada ou a saída — e removido ao parar, por isso não se deve indicar um pipe que pertença a outro programa. Com um valor vazio, o nó escolhe o caminho automaticamente. O caminho obtido fica visível na lista de entradas e saídas e nas estatísticas. Disponível para SPTS e MPTS.

Aplicativos externos (std)

O tipo std é uma ponte para protocolos não suportados pelos recursos integrados: o fluxo MPEG-TS é recebido e transmitido pelos fluxos padrão de entrada e saída de um aplicativo de console de terceiros, que o próprio nó inicia e supervisiona (reiniciando-o quando ele termina).

Contrato do aplicativo:

  • entrada — o aplicativo escreve MPEG-TS em stdout; envie as mensagens de diagnóstico somente para stderr — o stdout está reservado para o fluxo;

  • saída — o aplicativo lê MPEG-TS de stdin em lotes de 16 pacotes TS; o tamanho do lote é configurável (Packets per write).

Configurações: Command (absolute path) — o caminho absoluto para o aplicativo; Arguments — a linha de comando (as aspas preservam os espaços dentro de um argumento, a barra invertida escapa os caracteres); Env names e Env values — os pares de variáveis de ambiente passados ao aplicativo. A lista completa de campos com seus intervalos está em Aplicação externa (std).

Se o receptor de uma saída std, pipe ou file ficar atrasado em relação ao fluxo por muito tempo, a saída entra no erro Output queue full e é reiniciada; os dados transmitidos chegam em ordem. Quando o aplicativo termina com falha, o final do seu stderr é exibido no texto do erro.