Captura de multicast e MPTS¶
Um fluxo de transporte por UDP é a entrada principal da cabeça de rede. O sinal chega como um serviço único em um grupo (SPTS) ou como um multiplex no qual o programa de que você precisa é um entre uma dúzia (MPTS). O Mcaster aceita os dois casos e, no segundo, recebe o tronco uma única vez para todos os seus programas, sejam quantos streams você montar a partir dele.
Conecte o grupo¶
Crie um stream e pressione + Adicionar fonte na aba Fontes. O protocolo é UDP MPEGTS:
- Host — o endereço do grupo multicast, por exemplo
239.255.1.77, ou0.0.0.0para unicast em uma porta; - Porta — a porta do grupo;
- Tempo limite do peer (ms) — quanto silêncio tolerar antes de reiniciar a captura; campo vazio significa o padrão.
Pressione Salvar. Se no campo Host houver um grupo multicast, a estação se inscreve nele por conta própria (IGMP para IPv4, MLD para IPv6). O unicast difere só no endereço: 0.0.0.0 significa «escutar a porta em todas as interfaces».
Um programa de um tronco MPTS¶
Um multiplex de um satélite ou de um parceiro carrega vários serviços em um mesmo grupo. O necessário é escolhido pelo campo Programa (PNR) da mesma fonte: crie um stream por serviço, todos com o mesmo grupo e porta e com números de programa diferentes.
O campo vazio significa «a primeira com conteúdo» — é o que o formulário diz abaixo dele.
O que importa aqui na prática:
- O tronco é recebido uma única vez. Dois streams no mesmo grupo e porta dividem o socket e o demultiplexador: a rede vê uma única inscrição e a máquina faz uma única análise do transporte. Dez programas de um tronco não custam dez capturas.
- Sem número indicado, toma-se o primeiro programa que realmente carrega mídia. Não o primeiro pelo PSI: as tabelas nos troncos costumam estar desatualizadas e anunciam serviços cujos PIDs foram cortados há tempos.
- Um número ilegível é recusado pelo formulário, e não entendido como «o tronco inteiro»: de outro modo o stream viraria uma salada de todos os programas do multiplex.
- Os contadores são atribuídos por assinante, enquanto os erros do tronco como um todo são duplicados para todos: por stream vê-se tanto os seus próprios PIDs quanto o problema ocorrido com o transporte inteiro.
Captura de um remetente específico (SSM)¶
Quando várias fontes transmitem em um grupo e só uma delas interessa, coloque o endereço dela no campo Origem (SSM).
O kernel se inscreve no grupo indicando o remetente (IP_ADD_SOURCE_MEMBERSHIP, IGMPv3) e descarta o tráfego alheio antes que ele chegue à estação. Suportado para IPv4.
Captura por HTTP¶
O mesmo fluxo de transporte servido por HTTP é a forma habitual de pegar o sinal de um parceiro quando o multicast não circula entre vocês. O protocolo da fonte é HTTP MPEGTS, com uma URL e, se necessário, um Tempo limite do peer (ms).
A transferência chunked é suportada. Uma conexão rompida e uma conexão viva mas silenciosa são distinguidas e aparecem de forma diferente no status da entrada — são dois diagnósticos diferentes: «fomos desconectados» e «pararam de enviar».
Uma entrada HTTP tem o buffer de entrada ligado por padrão (30 segundos): uma fonte assim quase sempre chega em rajadas e, sem o buffer, as rajadas viajariam para a saída.
O que é analisado do stream¶
Vídeo H264, HEVC, MPEG-2; áudio AAC, AC3, EAC3, MPEG-2 audio; teletexto DVB e legendas DVB com seus descritores, legendas CEA-608/708, metadados KLV, marcadores SCTE-35, descritores de idioma das trilhas do PMT.
Os marcadores SCTE-35 são recebidos e sobrevivem ao trânsito até a saída. Processá-los — substituir, compensar, inserir — ainda não existe no Mcaster.
O que deve estar correto na rede¶
- O multicast não viaja pela internet. A estação deve estar no mesmo segmento que a fonte do grupo, ou a rede entre elas deve rotear multicast.
- Quem se inscreve é a estação. A requisição IGMP sai dela, e os switches com IGMP snooping entregam o stream apenas aos inscritos. Não há nada a configurar na estação para isso — o importante é que a rede deixe passar a inscrição.
- Verifique na máquina da estação. O
tcpdump -i <iface> host 239.255.1.77executado nela responde à pergunta «os pacotes chegam?», e nenhuma verificação feita de uma máquina vizinha a substitui.
Aplicação das mudanças¶
A troca de grupo, porta, número de programa ou URL reinicia a fonte. A troca de apenas um tempo limite é aplicada em tempo real, sem interromper a captura.
O que vem a seguir¶
- Adicione uma entrada reserva — uma segunda fonte e as regras de comutação.
- Erros de entrada — o que os contadores significam quando o sinal degrada.
- Devolva o sinal para a rede.