Invio da SCTE-35 a Streams e ai server

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 conNon applicabile
UDP, SRT, compatibile con DVB (formato (mpegts/dvb), registrazione di file MPEG-TS, HLS segmentiSDI, 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
TokenCosa 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

  1. Canale 1: avviare UDP o SRT con embed_scte35='true'.
  2. Canale 2: riproduci lo stesso URL come clip in streaming.
  3. 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 .m3u8 manifesto.
  • 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.

  1. 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

  1. In WMSPanel: ingresso MPEG-TS (UDP) corrispondente alla destinazione di PLAYDECK; uscita MPEG-TS / HLS secondo necessità.
  2. URL dello stream PLAYDECK → quella porta UDP; codec video libero (ad es. H.264); embed_scte35='true'.
  3. 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 .ts file o acquisizioni.
  • MediaInfo: ottimo per le tracce CC; spesso non Elencare chiaramente SCTE-35.

Correlati

ArticoloArgomento
Sottotitoli e SCTE — PanoramicaMatrice completa, domini, limiti
Utilizzo di SCTE-104 su SDIMarcatori SDI VANC
Sottotitoli e didascalieCC burn-in / pass-through
Registrazione CC e SCTEMKV vs TS, file sidecar, controlli di riproduzione