Campos de entrada e saída por transporte¶
Uma referência dos campos da janela «Editor de entrada e saída» (Editor de entrada e saída): o que cada campo define, quais valores aceita e em que a entrada e a saída de um mesmo transporte diferem. Os campos comuns a todos os transportes e as técnicas de trabalho com a janela são descritos nesta página; os campos de cada transporte, nas páginas a seguir. A escolha do protocolo de transmissão e o planejamento do enlace são descritos em Planejamento e protocolos de transmissão de dados, e o processamento do fluxo no nó, em Streamer: detalhes de implementação.
Os rótulos dos campos próprios do transporte a interface não traduz: são designações técnicas e em qualquer idioma são exibidos em inglês. Aqui eles são reproduzidos tal como na janela, junto com a unidade de medida que a interface acrescenta ao rótulo: «Latency (ms)», «Client timeout (s)». Há uma única exceção — o login e a senha das entradas PS1 e SRT: eles são desenhados por um bloco de autorização à parte, e os rótulos «Usuário» e «Senha» ali estão traduzidos.
O conjunto de campos depende antes de tudo do tipo de transporte e do sentido: em um mesmo transporte, a entrada e a saída são conjuntos diferentes, por isso abaixo elas são descritas separadamente mesmo onde os rótulos coincidem. Parte dos campos, além disso, aparece e desaparece conforme as circunstâncias — conforme o fluxo seja SPTS ou MPTS, conforme o modo listener ou caller, conforme o decodificador escolhido e conforme a atribuição automática de PID esteja ativada ou não.
O número de abas da janela também varia. Uma entrada tem sempre pelo menos duas — «Propriedades» e «MPEG-TS PID» — e as entradas UDP, RTP, Pro-MPEG, PS1, SRT, RIST e TCP, bem como as entradas file, pipe e std, ganham uma terceira, «BISS». Uma saída tem uma única aba, «Propriedades»; a exceção é a saída multiplexador, que possui também «MPEG-TS PID» (Multiplexador (muxer)). Quando há apenas uma aba, a barra de abas não é exibida.
O tipo de transporte é definido pelo campo «Tipo», no topo da janela: na criação é uma lista dos transportes disponíveis; na alteração, um campo não editável, porque o tipo não pode ser mudado (para trocar de transporte, o ponto é recriado). Trocar o tipo no formulário de criação limpa todos os campos de transporte preenchidos — mantêm-se apenas a nota, o indicador de pausa e os campos do catálogo do domínio.
Campos comuns¶
O campo Note existe em uma entrada e uma saída de qualquer tipo; na janela ele fica por último, depois de um separador.
Campo |
Finalidade |
Valores |
|---|---|---|
Note |
Uma nota livre: a finalidade do ponto, o responsável, o número do chamado. Visível nas listas de entradas e saídas e na linha expandida do fluxo. |
uma cadeia de caracteres, vazia por padrão |
A pausa não é configurada nesta janela, embora a entrada e a saída tenham indicador de pausa: ele é controlado pelo botão de pausa na linha da lista de entradas e saídas. É importante saber disso na criação: entradas e saídas recém-criadas são criadas pausadas e, depois de salvas, são ativadas a partir da lista. A ordem das entradas, que define a prioridade de reserva, também não é editada aqui — ela é alterada arrastando as linhas (Redundância de fontes e distribuição).
Mais dois campos são acrescentados apenas nos transportes que entram no catálogo comum de recursos do domínio (UDP, RTP, Pro-MPEG, RIST, PS1 e SRT; Catálogo comum de recursos) — na janela eles formam um grupo à parte:
Campo |
Finalidade |
Valores |
|---|---|---|
Peer note (meshwork library) |
Uma marcação deste ponto no catálogo do domínio: por ela um nó vizinho entende que recurso está vendo. |
uma cadeia de caracteres, vazia por padrão |
Peer private |
Não anunciar o ponto no catálogo do domínio. O ponto continua funcionando, mas os nós vizinhos não o veem e ele não aparece na janela «Biblioteca — este fluxo» (Biblioteca — este fluxo). |
desativado por padrão |
A presença desses dois campos ainda não significa que o ponto entrará no catálogo. As regras são estas: uma saída é sempre anunciada — tanto em multicast quanto em unicast; uma entrada UDP, RTP ou RIST, apenas quando seu endereço é um grupo multicast; as entradas PS1 e SRT são sempre anunciadas, ao passo que uma entrada Pro-MPEG não é anunciada de forma alguma, embora possua os campos (Catálogo comum de recursos).
Campos comuns da entrada¶
A entrada tem ainda um grupo de configurações de sincronização — ele não diz respeito ao transporte, mas ao processamento do fluxo no nó, e por isso é igual para todos os tipos. A composição do grupo depende do tipo de fluxo: na entrada de um fluxo SPTS são os três campos; na de um fluxo MPTS, apenas o último.
Campo |
Finalidade |
Valores |
|---|---|---|
Auto jitter buffer |
Seleção automática do tamanho do buffer conforme o tipo de entrada (Sincronização). |
ativado por padrão; no formulário de criação é exibido desativado |
Jitter buffer (ms) |
O tamanho do buffer definido manualmente — vale quando a seleção automática está desativada. |
a partir de 10, padrão 500 |
PCR discontinuity window (ms) |
A janela dentro da qual um salto de PCR é considerado admissível; um salto maior provoca uma ressincronização dura. Em um fluxo MPTS, a mesma janela é aplicada a cada programa do multiplex (Análise por programas). |
a partir de 100, padrão 1000 |
A seleção e o remapeamento de PID, bem como as chaves BISS, são definidos em abas separadas da mesma janela e são descritos em Editor de entrada e saída.
Campos obrigatórios e verificação de valores¶
Parte dos campos é obrigatória — sem eles o nó não conseguirá estabelecer a conexão. Enquanto um campo desses estiver vazio, o botão de salvar fica indisponível e sob o próprio campo aparece a mensagem «O campo <rótulo> é obrigatório». A mensagem é exibida apenas após a primeira alteração do formulário, por isso um formulário recém-aberto parece limpo embora o salvamento já esteja bloqueado. Quais campos são obrigatórios está indicado nas páginas dos transportes.
As demais verificações são feitas à medida que se digita e bloqueiam o salvamento da mesma forma:
Mensagem |
Quando aparece |
|---|---|
«Mínimo N», «Máximo N» |
Um número fora do intervalo admitido do campo. |
«Deve ser 0 ou 32–8190» |
Um PID fora do conjunto admitido: os valores 1–31 são reservados e 8191 é o PID nulo. Zero significa «como no fluxo de entrada». |
«Deve ter N–M bytes» |
Uma frase-senha de comprimento inadmissível. O comprimento é contado em bytes, não em caracteres: uma letra cirílica ocupa dois bytes. |
«Deve começar por <esquema>» |
O endereço de uma entrada HLS foi inserido sem o esquema |
Uma frase-senha vazia não é considerada erro: é a ausência de criptografia. Um valor fracionário não pode sequer ser inserido em um campo inteiro: o campo não o aceita.
As verificações da janela repetem as restrições do nó, mas não as substituem. O comprimento dos campos de texto e a unicidade dos números — por exemplo, do número de programa em um multiplex — são verificados apenas pelo nó. A verificação de intervalo, além disso, não é feita em todos os campos numéricos: um campo sem valor padrão repousa em zero e a janela não o destaca — um valor pequeno demais em um campo desses só será notado pelo nó.
As listas emparelhadas da janela não podem ser descompassadas: tanto o remapeamento de PID quanto os idiomas das faixas e os peers RIST são editados por linhas, e uma linha é adicionada por inteiro.
A janela não esconde uma recusa do nó: ela permanece aberta com o formulário preenchido e no alto aparece uma faixa com a mensagem do nó — tal como é, em inglês, pois é o texto do próprio nó e não da interface. Os valores inseridos não se perdem.
Outra diferença entre criar e alterar vale ter em mente ao ler a coluna «Valores». No formulário de criação parte dos valores já está preenchida — aqueles chamados adiante de valor do formulário ou valor padrão — e eles são salvos junto com os demais. Os outros campos o formulário deixa vazios ou em zero, e o nó lhes aplica por conta própria os seus valores. Ao alterar um ponto existente, um campo que nunca foi definido tem a mesma aparência: vazio, embora o nó lhe aplique um valor padrão.
Técnicas de trabalho com os campos¶
Colar URL. O botão analisa um link da área de transferência e o distribui pelos campos de endereço e porta. Não é obrigatório indicar o esquema — basta endereço:porta —, mas, se for indicado, deve corresponder ao transporte: udp:// para UDP, rtp:// ou udp:// para RTP, prompeg://, rtp:// ou udp:// para Pro-MPEG, tcp:// para TCP, ps1:// para PS1 e srt:// para SRT. Quando não há nada adequado na área de transferência, o botão fica indisponível e explica: «Não há na área de transferência um endereço adequado para colar».
O botão existe apenas onde o ponto tem um par «endereço e porta»: nas entradas UDP, RTP, Pro-MPEG, TCP, PS1 e SRT e nas saídas UDP, RTP, Pro-MPEG e SRT. A saída PS1 não o tem — ela apenas escuta uma porta —, assim como os transportes em que o endereço é definido de outro modo (RIST, HLS, RTSP, RTMP, arquivo).
Se o navegador não permitir ler a área de transferência, o botão apenas coloca o cursor no campo de endereço: um link colado manualmente será distribuído da mesma forma pelos dois campos. Isso funciona também sem o botão — basta colar endereço:porta diretamente no campo de endereço.
Escolher da biblioteca… O botão abre o catálogo de recursos do domínio na própria janela e preenche o endereço da fonte escolhida, sem digitá-lo manualmente (Fontes da biblioteca). Existe apenas nas entradas UDP, RTP, Pro-MPEG, PS1 e SRT. Para PS1 e SRT é preenchido o endereço do peer pelo qual ele está acessível e, no caso de um vizinho do próprio domínio, ativa-se também a entrada automática do Meshwork e o login e a senha são limpos.
Encontrar uma porta livre. A seleção automática está prevista na saída PS1 e no SRT em modo listener: o campo de porta pode ficar em zero — a dica diz «0 = auto» — e o nó escolherá uma porta livre ao salvar, enquanto o botão ao lado a escolhe de imediato. Se não houver portas livres ou a solicitação falhar, a janela informa isso e o salvamento não é realizado. Nos demais pontos a porta é digitada manualmente, mesmo onde o nó a ocupa por si só — por exemplo nas entradas UDP.
Um campo com seleção automática tem ainda uma verificação branda: se, ao alterar um ponto já criado, for digitada uma porta diferente da salva e ela estiver ocupada, sob o campo aparece o aviso «Esta porta talvez já esteja em uso neste nó». Ele não bloqueia o salvamento.
Senhas e logins. Os campos de frases-senha e senhas são exibidos ocultos; o botão «Mostrar senha» revela o valor digitado. Os logins, ao contrário, são memorizados pelo navegador após um salvamento bem-sucedido e oferecidos na digitação seguinte — em uma lista comum a todos os transportes, de modo que um login digitado uma vez para RTSP será oferecido também em uma entrada SRT. As senhas nunca são memorizadas.
Fechamento da janela. Se algo foi alterado no formulário, «Cancelar», Esc e «✕» pedem para confirmar o descarte das alterações; uma janela intocada fecha imediatamente.