Marcas publicitárias¶
Visão geral¶
Uma marca publicitária diz ao equipamento seguinte onde começa e onde termina um intervalo comercial no stream. O Mcaster aceita as marcas na entrada, leva-as pelo stream junto com o vídeo e o áudio e entrega-as em cada saída no formato que essa saída entende. Aconteça o que acontecer com o stream no caminho — alinhamento, transcodificador, troca de fonte —, o ponto de emenda na saída aponta para o mesmo quadro que na entrada.
As marcas chegam pelas entradas:
- MPEG-TS — seções SCTE-35 num PID com
stream_type 0x86, veja Recepção de multicast e MPTS; - SDI — mensagens SCTE-104 no VANC, veja Recepção SDI;
- HLS — tags da playlist
EXT-X-DATERANGEcom os atributosSCTE35-OUT,SCTE35-IN,SCTE35-CMD, e tagsEXT-X-CUE-OUT/EXT-X-CUE-IN.
E saem:
- para MPEG-TS — como seções SCTE-35 no seu próprio PID;
- para SDI — como mensagens SCTE-104 no VANC do quadro de saída;
- para HLS — como tags
EXT-X-DATERANGEeEXT-X-CUE-OUT/EXT-X-CUE-OUT-CONT/EXT-X-CUE-IN; - para DASH — como eventos
EventStreamno período do manifesto; - para o arquivo — junto com os segmentos, de modo que a playlist do arquivo traz as mesmas marcas que a playlist ao vivo trazia.
Intervalo comercial¶
Uma fonte raramente envia uma única marca por intervalo. Primeiro chegam os anúncios — «vamos para os comerciais em 8 segundos», muitas vezes repetidos —, depois, às vezes, uma marca de saída imediata, e minutos mais tarde uma marca de retorno. O Mcaster junta as marcas de um mesmo evento (splice_event_id) num único intervalo comercial e lembra-se dele enquanto dura.
Se a fonte enviou só um anúncio e nenhuma emenda própria no momento da saída, o Mcaster coloca a emenda por conta própria, no quadro a que chegou o ponto anunciado. Essa emenda fica dentro do Mcaster: nenhuma marca adicional sai em nenhum formato, e cada saída leva exatamente as marcas que a fonte enviou. Se o anúncio declara o retorno ao fim da duração (auto_return), o Mcaster coloca o retorno da mesma forma.
Em cada emenda o segmento HLS e DASH fecha no primeiro quadro-chave não anterior ao ponto de emenda, sem esperar a sua duração habitual. Assim a publicidade começa com um segmento novo, e um player ou um sistema de inserção de publicidade no servidor pode substituir inteiros os segmentos do intervalo.
Verificação da previsão. O ponto de emenda do anúncio é uma previsão. O Mcaster compara-o com o ponto onde o segmento realmente fechou e mostra a diferença. O limite cai num quadro-chave, por isso, se não houver quadro-chave no ponto de emenda, a diferença chega a um GOP.
Troca de fonte. Quando o stream passa para uma fonte de reserva, as emendas que apenas se esperavam são descartadas: os anúncios da fonte anterior não têm nada a ver com a nova. Um intervalo já começado continua até o retorno.
HLS¶
Um intervalo sai como um único intervalo EXT-X-DATERANGE: enquanto dura, com o início e SCTE35-OUT; depois do retorno, o mesmo intervalo ganha o fim, a duração e SCTE35-IN. Ao lado, a playlist traz EXT-X-CUE-OUT no primeiro segmento do intervalo, EXT-X-CUE-OUT-CONT nos seguintes e EXT-X-CUE-IN no primeiro segmento depois do intervalo: alguns players e sistemas de inserção de publicidade leem os intervalos, outros estas tags.
Numa entrada HLS as marcas são tiradas das mesmas tags. As tags que já estavam na playlist no momento da conexão contam como passado e não viram marcas. Se os segmentos da fonte trazem o seu próprio PID SCTE-35, as tags da playlist não são usadas: o tempo da marca dentro do segmento é mais preciso.
A aba Publicidade¶
O que acontece com as marcas do stream aparece na página do stream, aba Publicidade. Ela atualiza-se sozinha a cada dois segundos.
O bloco Agora mostra:
- se o stream está em intervalo comercial ou em programa;
- o intervalo em curso: número do evento, quando começou, duração declarada e quanto falta;
- as emendas pendentes — anúncios cujo ponto ainda não chegou;
- a última verificação da previsão: onde se esperava a emenda, onde o segmento fechou e quanto se desviaram.

A tabela Histórico de marcas lista as marcas do stream, as novas em cima: hora, de onde vem o registro — entrada (marca da fonte) ou gestor (emenda colocada pelo Mcaster, ou troca de fonte) —, tipo de marca, número do evento, ponto de emenda, duração declarada e tipos de segmentação SCTE-35.

O histórico vive na memória do streamer onde o stream corre e recomeça quando ele reinicia. Se o stream não está em execução, a aba diz isso. As marcas em si não se perdem: ficam gravadas no arquivo junto com os segmentos.
Contadores¶
As marcas aceitas e perdidas na entrada e na saída são contadas pelos contadores do Prometheus: stream_input_ad_marks_total, stream_input_errors_ad_marks_dropped_total, stream_out_ad_marks_total, stream_out_errors_ad_marks_lost_total. Uma marca perdida conta no total de erros da entrada, veja Erros de entrada.