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, utilizzare {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. - 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 |