TNN Media Server
Ingestão, marcação SCTE-35, confirmação e distribuição ao vivo — tudo num produto só, por canal, sem somar mais um produto a cada canal novo. Painel para o operador, API para a automação, e o Controlador de Canais mostra o estado de todos os canais de uma vez.
Operações de live e emissoras precisam de tudo isso ao mesmo tempo — e raramente vem de um produto só:
Receber a contribuição com qualidade de broadcast.
Marcar o intervalo comercial de forma que o ecossistema OTT — apps, CDN, inserção de anúncios no servidor — entenda.
Saber, no momento, se o break foi para o ar — e não só se alguém "clicou em disparar".
Sem isso, o comercial não bate com o que o espectador vê, o SSAI falha, a receita do canal FAST vaza — e o MCR opera no escuro.
O TNN Media Server recebe a contribuição por SRT — de encoder, OBS, playout ou produção remota —, marca o início e o fim do intervalo comercial no padrão SCTE-35, e confirma que o OUT e o IN realmente aconteceram no ar. Na saída, entrega o sinal em SRT para distribuição, e em HLS e DASH para web, app e CDN.
Tudo isso tem um painel para o operador e uma API para a automação — playout, vMix, scripts —, e os dois fazem exatamente as mesmas coisas. Cada canal é uma instância própria: um servidor, um encoder, um sinal.
A automação ou o operador disparam o break; o sistema cuida do resto.
Ingestão, marcação, confirmação e distribuição normalmente vêm de produtos diferentes, com cada canal novo repetindo a mesma integração. Aqui, é um produto só.
Cada canal é uma instância isolada — um servidor, um encoder, um sinal —, então um problema num canal não derruba os outros. O Controlador de Canais reúne o estado de todos numa vista só, com um clique para abrir o painel de qualquer canal, não importa quantos canais a grade tiver.
O encoder liga-se por SRT. O painel distingue sinal de verdade de "falso ao vivo" (preenchimento / padding). Se a sessão SRT ficar presa, o operador limpa e o encoder volta a ligar — sem derrubar o serviço inteiro.
O operador dispara o break no painel, ou a automação dispara pela API. O sistema coloca o OUT, espera a duração e devolve o IN sozinho. É a marcação que o SSAI usa pra decidir o break — em canal FAST, é ela que decide se o anúncio é monetizado ou perdido.
SRT de saída, com as marcações no próprio fluxo. Para destinos que não têm capacidade de inserir a marcação a partir do SRT, uma API REST entrega essa marcação separadamente. HLS e DASH levam as mesmas marcas nas playlists e no manifesto.
Preview do ar, bitrate, última marcação, breaks recentes, se o pipeline está vivo. O operador não adivinha.
Clareza desde o início:
Sem citar fornecedores — só o padrão que vemos no mercado de sinalização ao vivo.
O TNN Media Server ainda não tem capturas públicas, então as duas demonstrações abaixo são simulações feitas para esta página — os estados e o tempo seguem o que o produto realmente faz.
Seja qual for o lado que dispara, o outro mostra exatamente o mesmo estado logo em seguida.
// nenhuma chamada ainda
POST /v1/channels/ch-01/break { "action": "start", "source": "operator" }
200 OK { "break": "confirmed", "out": true }
Inventário dos servidores, estado de todos numa só vista, miniatura que se atualiza sozinha, um clique para abrir o painel daquele canal.
Interface ilustrativa feita para esta página — não é uma gravação do produto.
O encoder liga. O painel passa a "ao vivo" quando há vídeo de verdade.
O preview sobe.
Na hora do intervalo, o operador — ou a automação — dispara um break de N segundos.
O sistema marca o OUT e confirma no ar.
Passados N segundos, marca o IN e confirma.
HLS e DASH já levam a marcação para quem for inserir o anúncio.
O operador limpa a sessão SRT e pede para religar.