SCTE-35 os marcadores se deslocam em Fluxos de transporte MPEG. No PLAYDECK, isso significa UDP, SRT, compatível com DVB streaming, MPEG-TS gravações e Segmentos HLS — nem SDI nem MKV/RTMP.
Em SDI, use SCTE-104 em vez disso: Utilização do SCTE-104 em SDI.
Matriz completa de → a: Legendas ocultas e SCTE — Visão geral.
O PLAYDECK permite que você crie seu próprio arquivo XML SCTE-35 (compatível com qualquer receptor). Os espaços reservados preenchem os tempos e os IDs dos clipes/blocos.
Neste artigo:
→ Ativar SCTE-35
→ Onde colocar os marcadores
→ Exemplos e marcadores de posição em XML
→ Teste de loop de fluxo local
→ Encaminhamento entre fluxos
→ Saída do HLS
→ Teste com o Nimble Streamer
→ Exploração madeireira e ferramentas
→ Relacionado
Ativar SCTE-35
SCTE-35 é não ativado por padrão para transmissões/gravações. Abrir Parâmetro e definir:
embed_scte35='true'
| Funciona com | Não se aplica |
|---|---|
UDP, SRT, compatível com DVB (formato (mpegts/dvb), gravação de arquivo MPEG-TS, HLS segmentos | SDI, NDI, MKV, RTMP/FLV |
O O codec de vídeo não importa para SCTE-35 (ao contrário das legendas ocultas / embed_cc).
Dica sobre URL do UDP: use seu endereço IP da LAN (por exemplo,. udp://192.168.x.x:5000?pkt_size=1316). Prefiro não 127.0.0.1.
Você pode combinar com legendas quando for necessário:
embed_scte35='true' embed_cc='true'
Não foi constatado nenhum conflito entre SCTE-35 e embed_cc em fluxos MPEG-TS (ao contrário do SCTE-104 + trilha CC/ASS ativa no SDI — consulte limites gerais).
Onde colocar os marcadores
Anexe os comandos SCTE a:
- Vídeos (qualquer posição em campo)
- Blocos (início / fim)
- Sobreposições (mostrar / ocultar)
- Botões de ação
Defina o tipo de comando como SCTE-35 (não SCTE-104) quando o destino for um stream ou um arquivo TS.
Exemplos e marcadores de posição em XML
Os formatos variam de acordo com o destinatário. Os exemplos abaixo correspondem ao SCTE-35 Fora / Nos botões da caixa de diálogo “Comandos” e funcionam para fluxos de trabalho típicos de splice_insert / SSAI (incluindo o Nimble). Pergunte ao seu provedor se é necessário um formato XML diferente.
Um intervalo publicitário exibição = uma spliceEventId. O marcador que inicia a quebra ({eventid}) e o marcador que o encerra ({eventlastid}) deve ter o mesmo número. A próxima pausa recebe um novo ID. O PLAYDECK incrementa um contador por canal quando {eventid} / {eventidhex} está no XML; {eventlastid} / {eventlastidhex} reutilize o último valor e não incremente. O contador é não armazenado na linha da lista de reprodução (em um loop ou no dia seguinte, não se deve reutilizar o ID de ontem). Ele é reinicializado quando o PLAYDECK é reiniciado.
Faça não colocar {timestamp} em spliceEventId — os analisadores de sintaxe costumam interpretar o ano (por exemplo, 2026) como o ID do evento.
Os marcadores de duração são preenchidos apenas enquanto o canal estiver jogando. Para inserir uma quebra de bloco, use {blockduration} (impulsos de 90 kHz: segundos × 90.000). {clipduration} é o trecho atual, não a sequência inteira.
Emenda com duração (retorno automático)
Utilizar em início do bloco (ou uma ação que abra a pausa). autoReturn="1" permite que o receptor retorne após o tempo de duração; você ainda pode disparar um In com {eventlastid} se a sua emissora quiser um CUE-IN explícito.
Inserir (retornar)
A mesma pausa, fim do bloco (ou uma segunda ação). Sem duração. Mesmo ID por meio de {eventlastid}.
outOfNetworkIndicator 1 = sair do programa (CUE-OUT), 0 = retorno (CUE-IN). Fechar </SpliceInsert> — a falta de tags de fechamento causa erros em muitos analisadores.
Espaços reservados
| Token | O que você recebe |
|---|---|
{eventid} | Novo ID de evento (decimal). Incrementa uma vez a cada comando que contenha {eventid} / {eventidhex}. |
{eventlastid} | Último ID de evento, sem incremento. Usar na entrada. |
{eventidhex} / {eventlastidhex} | Os mesmos IDs em formato hexadecimal de 8 dígitos (SCTE-104 ). |
{blockduration} | Comprimento do bloco, 90 kHz decimal (SCTE-35). |
{clipduration} | Duração atual do clipe: 90 kHz. |
{blockduration10} / {clipduration10} | O mesmo comprimento em décimos de segundo (SCTE-104). |
{blockduration10hex} | Décimas como número hexadecimal de 4 dígitos, no máximo FFFF. |
{blockduration+6} / {blockduration10hex+6} | Adicione/subtraia segundos inteiros (por exemplo, início/fim). É permitido usar espaços no meio { }. |
{timestamp} {timestampunix} {airtimenext} {plannednext} {clipid} {blockid} | Tempo / IDs das listas de reprodução — não para spliceEventId. |
O tipo de comando deve ser SCTE-35 (não SCTE-104) quando o destino for um stream ou um arquivo TS.
Teste de loop de fluxo local
- Canal 1: inicie o UDP ou o SRT com
embed_scte35='true'. - Canal 2: reproduza a mesma URL como um clipe de transmissão.
- Ação no canal Ch1 com XML SCTE-35 → Registro de eventos:
>>no canal 1,<<SCTE-35 no canal 2.
Opcional: gravar em um .ts arquivo com embed_scte35='true', marque os pontos de referência durante a gravação e, em seguida, confirme no DVB Inspector e reproduzindo o arquivo no PLAYDECK (<<). Veja Gravação CC e SCTE.
Encaminhamento entre fluxos
O PLAYDECK pode retransmitir SCTE-35 entre entradas e saídas de fluxo (por exemplo, SRT → UDP ou Ch1 → Ch2 → Ch3 via UDP).
Exibir os receptores << em cada salto, quando embed_scte35 está ativado em cada fluxo MPEG-TS de saída.
Não compatível: automático SCTE-104 → SCTE-35 quando uma fonte SDI é transmitida por IP. Em vez disso, envie SCTE-35 no canal de transmissão.
Saída do HLS
Se você selecionar Apple HLS, o PLAYDECK grava um arquivo local .m3u8 (+ segmentos), e não uma publicação ao vivo na CDN por si só.
- A PLAYDECK faz não gravar tags SCTE/CUE no
.m3u8manifesto. - O SCTE-35 / CC ainda pode estar presente em segmentos. Ao reproduzir o arquivo m3u8 no PLAYDECK, é possível exibir as legendas e
<<SCTE-35. - Para marcadores de anúncios baseados em manifest (por exemplo,.
#EXT-X-CUE-OUT), use um servidor como, por exemplo, Ágil (abaixo) ou outro gerenciador de pacotes que converta SCTE-35 em sinais HLS.
Teste com o Nimble Streamer
Caminho padrão: PLAYDECK UDP + embed_scte35 → Nimble → HLS com tags de marcação.
- Instale o Nimble; habilite o SCTE em
nimble.conf(exemplo):
Reinicie o serviço do Nimble após a edição.
scte35_processing_enabled = true
scte35_forwarding_enabled = true
hls_ad_scte35_forwarding_enabled = true
hls_ad_marker_format = cue
hls_ad_splice_out_cont_marker_enabled = true
- No WMSPanel: Entrada MPEG-TS (UDP) compatível com o destino do PLAYDECK; Saída MPEG-TS / HLS conforme necessário.
- URL de transmissão do PLAYDECK → essa porta UDP; codec de vídeo livre (por exemplo, H.264);
embed_scte35='true'. - Anexe o SCTE-35 ao início do clipe (ou à ação); inicie a transmissão; verifique os marcadores nos logs do Nimble e nas listas de reprodução de blocos HLS (aba “Rede” do navegador).
Exploração madeireira e ferramentas
- PLAYDECK Registro de Eventos do SCTE:
>>enviado,<<recebido. - Inspetor DVB / TSDuck: inspecionar o interior do SCTE-35
.tsarquivos ou capturas. - MediaInfo: ótimo para faixas com licença CC; frequentemente não Indique claramente a lista SCTE-35.
Relacionado
| Artigo | Tema |
|---|---|
| Legendas ocultas e SCTE — Visão geral | Matriz completa, domínios, limites |
| Utilização do SCTE-104 em SDI | Marcadores SDI VANC |
| Legendas ocultas e legendas | Queima de CC / passagem direta |
| Gravação CC e SCTE | MKV x TS, arquivos sidecar, verificações de reprodução |