Transmission des données de SCTE-35 vers Streams et les serveurs

SCTE-35 les marqueurs se déplacent dans Flux de transport MPEG. Dans PLAYDECK, cela signifie UDP, SRT, compatible DVB en streaming, MPEG-TS enregistrements, et Segments HLS — ni SDI, ni MKV/RTMP.

Le SDI, utilisez SCTE-104 au lieu de cela : Utilisation de SCTE-104 sur SDI.

Matrice complète « de → à » : Sous-titres codés et SCTE — Présentation générale.

PLAYDECK vous permet de créer votre propre fichier XML SCTE-35 (adaptable à n'importe quel récepteur). Des espaces réservés permettent de renseigner la durée et les identifiants des clips et des blocs.

Dans cet article :
Activer SCTE-35
Où placer les repères
Exemples XML et espaces réservés
Test de boucle de flux local
Transfert entre flux
Sortie HLS
Test avec le Nimble Streamer
Exploitation forestière et outillage
À lire également


Activer SCTE-35

SCTE-35 est pas activée par défaut pour les flux et les enregistrements. Ouvrir Paramètre et définissez :

embed_scte35='true'

Compatible avecSans objet
UDP, SRT, compatible DVB (format (mpegts/dvb), enregistrement de fichiers MPEG-TS, HLS segmentsSDI, NDI, MKV, RTMP/FLV

Le Le codec vidéo n'a pas d'importance pour SCTE-35 (contrairement aux sous-titres codés / embed_cc).

Astuce concernant les URL UDP: utilisez votre adresse IP du réseau local (par exemple,. udp://192.168.x.x:5000?pkt_size=1316). Je préfère ne pas 127.0.0.1.

Vous pouvez y ajouter des légendes si nécessaire :

embed_scte35='true' embed_cc='true'


Aucun conflit n'a été détecté entre SCTE-35 et embed_cc sur les flux MPEG-TS (contrairement au format SCTE-104 avec piste CC/ASS active sur SDI — voir limites générales).


Où placer les repères

Associer les commandes SCTE à :

  • Extraits (n'importe quelle position sur le terrain)
  • Blocs (début / fin)
  • Superpositions (afficher / masquer)
  • Boutons d'action

Définissez le type de commande sur SCTE-35 (et non SCTE-104) lorsque la cible est un flux ou un fichier TS.


Exemples XML et espaces réservés

Les formats varient selon le destinataire. Les exemples ci-dessous correspondent au SCTE-35 Hors service / Ces boutons figurent dans la boîte de dialogue « Commandes » et fonctionnent avec les workflows classiques de type « splice_insert » / « SSAI » (y compris Nimble). Demandez à votre fournisseur s'il a besoin d'un format XML différent.

Un pause publicitaire diffusion = une spliceEventId. Le marqueur qui marque le début de la pause ({eventid}) et le marqueur qui le clôt ({eventlastid}) doit porter le même numéro. La pause suivante se voit attribuer un nouvel identifiant. PLAYDECK incrémente un compteur propre à chaque canal lorsque {eventid} / {eventidhex} se trouve dans le fichier XML ; {eventlastid} / {eventlastidhex} réutiliser la dernière valeur et ne pas l'incrémenter. Le compteur est pas enregistré dans la ligne de la liste de lecture (une boucle ou le jour suivant ne doit pas réutiliser l'identifiant de la veille). Il est réinitialisé au redémarrage de PLAYDECK.

Faire pas mettre {timestamp} dans spliceEventId — Les analyseurs syntaxiques interprètent souvent l'année (par exemple, 2026) comme l'identifiant de l'événement.

Les espaces réservés de durée ne se remplissent que tant que la chaîne est jouer. Pour insérer un saut de paragraphe, utilisez {blockduration} (impulsions à 90 kHz : secondes × 90 000). {clipduration} Il s'agit de l'extrait actuel, et non de l'intégralité de la séquence.

Montage avec durée (retour automatique)

À utiliser sur début du bloc (ou une action qui déclenche la pause). autoReturn="1" permet au récepteur de revenir après la durée ; vous pouvez toujours déclencher un « In » avec {eventlastid} si votre chaîne nécessite un CUE-IN explicite.


Insertion (retour)

Même pause, fin de bloc (ou une deuxième action). Pas de durée. Même identifiant via {eventlastid}.


Indicateur « hors réseau » 1 = quitter le programme (CUE-OUT), 0 = retour (CUE-IN). Fermer </SpliceInsert> — Les balises de fermeture manquantes posent des problèmes à de nombreux analyseurs syntaxiques.


Espaces réservés
JetonCe que vous obtenez
{eventid}Nouvel identifiant d'événement (décimal). Il est incrémenté une fois par commande contenant {eventid} / {eventidhex}.
{eventlastid}Dernier identifiant d'événement, sans incrémentation. À utiliser sur l'entrée.
{eventidhex} / {eventlastidhex}Mêmes identifiants que les codes hexadécimaux à 8 chiffres (SCTE-104 ).
{blockduration}Longueur de bloc : 90 kHz en notation décimale (SCTE-35).
{clipduration}Durée actuelle du clip : 90 kHz.
{blockduration10} / {clipduration10}Même longueur en dixièmes de seconde (SCTE-104).
{blockduration10hex}Les dixièmes sous forme d'un nombre hexadécimal à 4 chiffres, au maximum FFFF.
{blockduration+6} / {blockduration10hex+6}Ajouter ou soustraire des secondes entières (par exemple, début/fin). Les espaces sont autorisés à l'intérieur { }.
{timestamp} {timestampunix} {airtimenext} {plannednext} {clipid} {blockid}Durée / identifiants des playlists — pas pour spliceEventId.

Le type de commande doit être SCTE-35 (et non SCTE-104) lorsque la cible est un flux ou un fichier TS.


Test de boucle de flux local

  1. Canal 1 : démarrer UDP ou SRT avec embed_scte35='true'.
  2. Chaîne 2 : lire la même URL sous forme de clip en streaming.
  3. Action sur le canal Ch1 avec XML SCTE-35 → Journal des événements : >> sur la chaîne 1, << SCTE-35 sur la chaîne 2.

Facultatif : enregistrer sur un .ts fichier avec embed_scte35='true', placez des marqueurs pendant l'enregistrement, puis vérifiez-les dans DVB Inspector et en lisant le fichier dans PLAYDECK (<<). Voir Enregistrement CC et SCTE.


Transfert entre flux

PLAYDECK peut transférer le flux SCTE-35 via les entrées/sorties de flux (par exemple : SRT → UDP ou Ch1 → Ch2 → Ch3 via UDP).
Afficher les récepteurs << à chaque saut lorsque embed_scte35 est activée sur chaque flux MPEG-TS sortant.

Non pris en charge: automatique SCTE-104 → SCTE-35 lorsqu'une source SDI est diffusée en continu sur IP. Envoyez plutôt le signal SCTE-35 sur le canal de diffusion.


Sortie HLS

Si vous sélectionnez « Apple HLS », PLAYDECK crée un fichier local .m3u8 (+ segments), et non une publication en direct via un CDN en soi.

  • PLAYDECK permet de pas écrire les balises SCTE/CUE dans le .m3u8 manifeste.
  • Le SCTE-35 / CC peut encore être présent dans segments. La lecture du fichier m3u8 dans PLAYDECK permet d'afficher les sous-titres et << SCTE-35.
  • Pour les marqueurs publicitaires basés sur le manifeste (par exemple,. #EXT-X-CUE-OUT), utilisez un serveur tel que Agile (ci-dessous) ou un autre outil de conversion permettant de transformer les signaux SCTE-35 en signaux HLS.

Test avec le Nimble Streamer

Chemin d'accès type : PLAYDECK UDP embed_scte35 → Nimble → HLS avec balises de repère.

  1. Installez Nimble ; activez SCTE dans nimble.conf (exemple) :

Redémarrez le service Nimble après avoir effectué vos modifications.

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. Dans WMSPanel : entrée MPEG-TS (UDP) correspondant à la cible de PLAYDECK ; sortie MPEG-TS / HLS selon les besoins.
  2. URL de diffusion PLAYDECK → ce port UDP ; codec vidéo libre (par ex. H.264) ; embed_scte35='true'.
  3. Associez SCTE-35 au début du clip (ou à l'action) ; lancez la diffusion ; vérifiez les repères dans les journaux Nimble et dans les listes de lecture des segments HLS (onglet « Réseau » du navigateur).

Exploitation forestière et outillage

  • PLAYDECK Journal des événements SCTE>> envoyé, << reçu.
  • Inspecteur DVB / TSDuck: inspecter l'intérieur du SCTE-35 .ts fichiers ou captures.
  • MediaInfo : idéal pour les pistes CC ; souvent ne Indiquez clairement la liste SCTE-35.

À lire également

ArticleSujet
Sous-titres codés et SCTE — Présentation généraleMatrice complète, domaines, limites
Utilisation de SCTE-104 sur SDIMarqueurs SDI VANC
Sous-titres codés et sous-titresCC en mode « burn-in » / « pass-through »
Enregistrement CC et SCTEMKV vs TS, fichiers « sidecar », vérifications de lecture