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.