SCTE-35 i marcatori si spostano in Flussi di trasporto MPEG. In PLAYDECK ciò significa UDP, SRT, compatibile con DVB streaming, MPEG-TS registrazioni, e Segmenti HLS — né SDI né MKV/RTMP.
Il SDI, usa SCTE-104 invece: Utilizzo di SCTE-104 su SDI.
Matrice completa da→a: Sottotitoli e SCTE — Panoramica.
PLAYDECK ti permette di creare il tuo file XML SCTE-35 (adattabile a qualsiasi ricevitore). I segnaposto inseriscono automaticamente i tempi e gli ID delle clip e dei blocchi.
In questo articolo:
→ Abilita SCTE-35
→ Dove applicare i marcatori
→ Esempi XML e segnaposto
→ Test di loop su un flusso locale
→ Inoltro tra flussi
→ Output HLS
→ Prova con Nimble Streamer
→ Disboscamento e attrezzi
→ Correlati
Abilita SCTE-35
SCTE-35 è non attivata per impostazione predefinita per gli streaming e le registrazioni. Apri Parametro e impostare:
embed_scte35='true'
| Funziona con | Non applicabile |
|---|---|
UDP, SRT, compatibile con DVB (formato (mpegts/dvb), registrazione di file MPEG-TS, HLS segmenti | SDI, NDI, MKV, RTMP/FLV |
Il Il codec video non ha importanza per SCTE-35 (a differenza dei sottotitoli / embed_cc).
Suggerimento sull'URL UDP: usa il tuo indirizzo IP di rete locale (ad es. udp://192.168.x.x:5000?pkt_size=1316). Preferisco di no 127.0.0.1.
Se necessario, è possibile abbinarle a delle didascalie:
embed_scte35='true' embed_cc='true'
Non è stato riscontrato alcun conflitto tra SCTE-35 e embed_cc sui flussi MPEG-TS (a differenza di SCTE-104 + traccia CC/ASS attiva su SDI — vedi Panoramica dei limiti).
Dove applicare i marcatori
Allegare i comandi SCTE a:
- Clip (qualsiasi ruolo in campo)
- Blocchi (inizio / fine)
- Sovrapposizioni (mostra / nascondi)
- Pulsanti di azione
Imposta il tipo di comando su SCTE-35 (non SCTE-104) quando il file di destinazione è uno stream o un file TS.
Esempi XML e segnaposto
I formati variano a seconda del destinatario. Gli esempi riportati di seguito corrispondono al SCTE-35 Fuori / Nei pulsanti della finestra di dialogo "Comandi" e funzionano per i flussi di lavoro tipici di splice_insert / SSAI (incluso Nimble). Chiedete al vostro fornitore se è necessario un formato XML diverso.
Uno pausa pubblicitaria trasmissione = una spliceEventId. Il marcatore che dà inizio alla pausa ({eventid}) e il marcatore che lo chiude ({eventlastid}) deve avere lo stesso numero. La pausa successiva riceve un nuovo ID. PLAYDECK incrementa un contatore per canale quando {eventid} / {eventidhex} si trova nel file XML; {eventlastid} / {eventlastidhex} riutilizzare l'ultimo valore e non incrementarlo. Il contatore è non memorizzato nella riga della playlist (un loop o il giorno successivo non devono riutilizzare l’ID del giorno precedente). Viene azzerato al riavvio di PLAYDECK.
Fare non mettere {timestamp} in spliceEventId — I parser spesso interpretano l'anno (ad es. 2026) come ID dell'evento.
I segnaposto di durata vengono compilati solo finché il canale è giocando. Per inserire una pausa tra i blocchi, usa {blockduration} (impulsi a 90 kHz: secondi × 90.000). {clipduration} è il frammento attuale, non l'intera pausa.
Taglio con durata (ritorno automatico)
Utilizzare su inizio blocco (oppure un'azione che avvia la pausa). autoReturn="1" consente al ricevitore di tornare in campo al termine del periodo; è comunque possibile lanciare un "In" con {eventlastid} se la tua catena richiede un CUE-IN esplicito.
Inserimento (ritorno)
Stessa pausa, fine del blocco (o una seconda azione). Nessuna durata. Stesso ID tramite {eventlastid}.
indicatore fuori rete 1 = esci dal programma (CUE-OUT), 0 = ritorno (CUE-IN). Chiudi </SpliceInsert> — I tag di chiusura mancanti causano errori in molti parser.
Segnaposto
| Token | Cosa ottieni |
|---|---|
{eventid} | Nuovo ID evento (decimale). Aumenta di uno per ogni comando che contiene {eventid} / {eventidhex}. |
{eventlastid} | ID evento precedente, nessun incremento. Utilizzare su In. |
{eventidhex} / {eventlastidhex} | Stessi ID in formato esadecimale a 8 cifre (SCTE-104) ). |
{blockduration} | Lunghezza del blocco, 90 kHz in formato decimale (SCTE-35). |
{clipduration} | Lunghezza attuale del clip: 90 kHz. |
{blockduration10} / {clipduration10} | Stessa lunghezza in decimi di secondo (SCTE-104). |
{blockduration10hex} | Decimi in formato esadecimale a 4 cifre, massimo FFFF. |
{blockduration+6} / {blockduration10hex+6} | Aggiungi/sottrai secondi interi (ad es. all'inizio/alla fine). Sono ammessi spazi all'interno { }. |
{timestamp} {timestampunix} {airtimenext} {plannednext} {clipid} {blockid} | Tempi / ID delle playlist — non per spliceEventId. |
Il tipo di comando deve essere SCTE-35 (non SCTE-104) quando il file di destinazione è uno stream o un file TS.
Test di loop su un flusso locale
- Canale 1: avviare UDP o SRT con
embed_scte35='true'. - Canale 2: riproduci lo stesso URL come clip in streaming.
- Azione sul canale Ch1 con XML SCTE-35 → Registro eventi:
>>sul canale 1,<<SCTE-35 sul canale 2.
Facoltativo: salvare su un .ts file con embed_scte35='true', contrassegnare i punti durante la registrazione, quindi confermare in DVB Inspector e riproducendo il file in PLAYDECK (<<). Vedi Registrazione CC e SCTE.
Inoltro tra flussi
PLAYDECK è in grado di inoltrare SCTE-35 attraverso gli ingressi/uscite di stream (ad esempio, da SRT a UDP oppure da Ch1 a Ch2 a Ch3 tramite UDP).
Visualizza i ricevitori << ad ogni salto quando embed_scte35 è abilitata su ogni flusso MPEG-TS in uscita.
Non supportato: automatico SCTE-104 → SCTE-35 quando una sorgente SDI viene trasmessa in streaming su IP. Inviare invece SCTE-35 sul canale di streaming.
Output HLS
Se si seleziona Apple HLS, PLAYDECK crea un file locale .m3u8 (+ segmenti), non una pubblicazione CDN in tempo reale di per sé.
- PLAYDECK fa non scrivere i tag SCTE/CUE nel
.m3u8manifesto. - SCTE-35 / CC può ancora essere presente in segmenti. Riproducendo il file m3u8 in PLAYDECK è possibile visualizzare i sottotitoli e
<<SCTE-35. - Per gli indicatori pubblicitari basati sul manifest (ad es.
#EXT-X-CUE-OUT), utilizzare un server come Agile (di seguito) oppure un altro programma di pacchettizzazione che converta i cue SCTE-35 in HLS.
Prova con Nimble Streamer
Percorso tipico: PLAYDECK UDP + embed_scte35 → Nimble → HLS con tag di riferimento.
- Installa Nimble; abilita SCTE in
nimble.conf(esempio):
Dopo aver apportato le modifiche, riavvia il servizio Nimble.
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
- In WMSPanel: ingresso MPEG-TS (UDP) corrispondente alla destinazione di PLAYDECK; uscita MPEG-TS / HLS secondo necessità.
- URL dello stream PLAYDECK → quella porta UDP; codec video libero (ad es. H.264);
embed_scte35='true'. - Collegare SCTE-35 all'inizio della clip (o all'azione); avviare lo streaming; verificare i segnali nei log di Nimble e nelle playlist dei chunk HLS (scheda "Rete" del browser).
Disboscamento e attrezzi
- PLAYDECK Registro eventi SCTE:
>>inviato,<<ricevuto.
Il SCTE-35 in entrata non serve solo per la registrazione e l'inoltro. È possibile abbinare i marcatori su un Blocco di interruzione (Modifica trigger SCTE) in modo che PLAYDECK passi alla pubblicità all'arrivo del segnale OUT, per poi tornare al segnale IN, al termine della BreakDuration, dopo un tempo prestabilito o alla fine del blocco. Vedi “Avvio delle interruzioni pubblicitarie da SCTE in arrivo”. - Ispettore DVB / TSDuck: ispezionare l'interno del SCTE-35
.tsfile o acquisizioni. - MediaInfo: ottimo per le tracce CC; spesso non Elencare chiaramente SCTE-35.
Correlati
| Articolo | Argomento |
|---|---|
| Sottotitoli e SCTE — Panoramica | Matrice completa, domini, limiti |
| Utilizzo di SCTE-104 su SDI | Marcatori SDI VANC |
| Sottotitoli e didascalie | CC burn-in / pass-through |
| Registrazione CC e SCTE | MKV vs TS, file sidecar, controlli di riproduzione |
| Avvia le interruzioni pubblicitarie a partire dall'SCTE in arrivo | Abbinamento SCTE in entrata → riproduzione Break Block |