SCTE-35 los marcadores se desplazan por Flujos de transporte MPEG. En PLAYDECK, eso significa UDP, SRT, compatible con DVB transmisión en directo, MPEG-TS grabaciones, y Segmentos HLS — ni SDI ni MKV/RTMP.
El SDI, utiliza SCTE-104 en su lugar: Uso de SCTE-104 en SDI.
Matriz completa «de→a»: Subtítulos ocultos y SCTE — Descripción general.
PLAYDECK te permite crear tu propio archivo XML SCTE-35 (compatible con cualquier receptor). Los marcadores de posición rellenan los tiempos y los identificadores de los clips y bloques.
En este artículo:
→ Habilitar SCTE-35
→ Dónde colocar los marcadores
→ Ejemplos y marcadores de posición de XML
→ Prueba de bucle de flujo local
→ Reenvío entre flujos
→ Salida de HLS
→ Prueba con el Nimble Streamer
→ Tala y herramientas
→ Relacionado
Habilitar SCTE-35
SCTE-35 es no activado por defecto para las retransmisiones y las grabaciones. Abrir Parámetro y establece:
embed_scte35='true'
| Compatible con | No procede |
|---|---|
UDP, SRT, compatible con DVB (formato (mpegts/dvb), grabación de archivos MPEG-TS, HLS segmentos | SDI, NDI, MKV, RTMP/FLV |
El El códec de vídeo no importa para SCTE-35 (a diferencia de los subtítulos ocultos / embed_cc).
Consejo sobre las URL de UDP: utiliza tu dirección IP de la red local (por ejemplo,. udp://192.168.x.x:5000?pkt_size=1316). Prefiero no 127.0.0.1.
Puedes combinarlo con subtítulos cuando sea necesario:
embed_scte35='true' embed_cc='true'
No se ha detectado ningún conflicto entre SCTE-35 y embed_cc en flujos MPEG-TS (a diferencia de SCTE-104 + pista CC/ASS activa en SDI — véase límites generales).
Dónde colocar los marcadores
Añade los comandos SCTE a:
- Vídeos (cualquier posición en el campo)
- Bloques (inicio / fin)
- Superposiciones (mostrar / ocultar)
- Botones de acción
Establece el tipo de comando en SCTE-35 (no SCTE-104) cuando el destino es un flujo o un archivo TS.
Ejemplos y marcadores de posición de XML
Los formatos varían según el receptor. Los ejemplos que se muestran a continuación se corresponden con el SCTE-35 Fuera / En los botones del cuadro de diálogo «Comandos» y funcionan para los flujos de trabajo habituales de splice_insert / SSAI (incluido Nimble). Pregunta a tu proveedor si necesita un formato XML diferente.
Uno pausa publicitaria emisión = una spliceEventId. El marcador que inicia la pausa ({eventid}) y el marcador que lo cierra ({eventlastid}) debe tener el mismo número. La siguiente pausa recibe un nuevo identificador. PLAYDECK incrementa un contador por canal cuando {eventid} / {eventidhex} está en el XML; {eventlastid} / {eventlastidhex} Reutiliza el último valor y no lo incremente. El contador es no almacenado en la fila de la lista de reproducción (en un bucle o al día siguiente no se debe reutilizar el ID de ayer). Se restablece cuando se reinicia PLAYDECK.
Haz no poner {timestamp} en spliceEventId — Los analizadores sintácticos suelen interpretar el año (por ejemplo, 2026) como el identificador del evento.
Los marcadores de posición de duración solo se rellenan mientras el canal está jugando. Para insertar un salto de línea, utiliza {blockduration} (Ticks de 90 kHz: segundos × 90 000). {clipduration} Es el fragmento actual, no toda la pausa.
Unión con duración (retorno automático)
Utilizar en Inicio del bloque (o una acción que active el descanso). autoReturn="1" permite que el receptor vuelva tras el tiempo de duración; aún así, puedes lanzar un «In» con {eventlastid} si tu cadena requiere un CUE-IN explícito.
Inserción (retorno)
La misma pausa, fin del bloque (o una segunda acción). Sin duración. El mismo ID a través de {eventlastid}.
indicador de fuera de red 1 = salir del programa (CUE-OUT), 0 = volver a (CUE-IN). Cerrar </SpliceInsert> — La falta de etiquetas de cierre provoca errores en muchos analizadores sintácticos.
Marcadores de posición
| Token | Lo que obtienes |
|---|---|
{eventid} | Nuevo ID de evento (decimal). Se incrementa una vez por cada comando que contenga {eventid} / {eventidhex}. |
{eventlastid} | Último ID de evento, sin incremento. Se utiliza en «In». |
{eventidhex} / {eventlastidhex} | Los mismos identificadores que el código hexadecimal de 8 dígitos (SCTE-104 ). |
{blockduration} | Longitud de bloque: 90 kHz en formato decimal (SCTE-35). |
{clipduration} | Duración actual del clip: 90 kHz. |
{blockduration10} / {clipduration10} | La misma longitud en décimas de segundo (SCTE-104). |
{blockduration10hex} | Décimas en formato hexadecimal de 4 dígitos, máximo FFFF. |
{blockduration+6} / {blockduration10hex+6} | Añadir o restar segundos enteros (p. ej., inicio/fin). Se permiten espacios en el interior { }. |
{timestamp} {timestampunix} {airtimenext} {plannednext} {clipid} {blockid} | Duración / ID de las listas de reproducción — no para spliceEventId. |
El tipo de comando debe ser SCTE-35 (no SCTE-104) cuando el destino es un flujo o un archivo TS.
Prueba de bucle de flujo local
- Canal 1: iniciar UDP o SRT con
embed_scte35='true'. - Canal 2: reproduce la misma URL como un clip de transmisión.
- Acción en el canal 1 con XML SCTE-35 → Registro de eventos:
>>en el canal 1,<<SCTE-35 en el canal 2.
Opcional: grabar en un .ts archivo con embed_scte35='true', marca los puntos de referencia durante la grabación y, a continuación, compruébalos en DVB Inspector y reproduciendo el archivo en PLAYDECK (<<). Véase Grabación CC y SCTE.
Reenvío entre flujos
PLAYDECK puede reenviar SCTE-35 a través de entradas y salidas de flujo (por ejemplo, SRT → UDP o del canal 1 → canal 2 → canal 3 a través de UDP).
Lista de receptores << en cada salto cuando embed_scte35 está activada en cada flujo MPEG-TS saliente.
No compatible: automático SCTE-104 → SCTE-35 cuando se transmite una fuente SDI a IP. En su lugar, envía SCTE-35 por el canal de transmisión.
Salida de HLS
Si seleccionas «Apple HLS», PLAYDECK crea un archivo local .m3u8 (+ segmentos), no una publicación en CDN en directo por sí misma.
- PLAYDECK hace no escribir etiquetas SCTE/CUE en el
.m3u8manifiesto. - El SCTE-35 / CC puede seguir estando presente en segmentos. Al reproducir el archivo m3u8 en PLAYDECK se pueden mostrar los subtítulos y
<<SCTE-35. - En el caso de los marcadores de anuncios basados en el manifiesto (p. ej.,.
#EXT-X-CUE-OUT), utiliza un servidor como Ágil (a continuación) u otro generador de paquetes que convierta las señales SCTE-35 en HLS.
Prueba con el Nimble Streamer
Ruta habitual: PLAYDECK UDP + embed_scte35 → Nimble → HLS con etiquetas de referencia.
- Instala Nimble; activa SCTE en
nimble.conf(ejemplo):
Reinicia el servicio Nimble tras realizar los cambios.
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
- En WMSPanel: Entrada MPEG-TS (UDP) que se ajuste al destino de PLAYDECK; salida MPEG-TS / HLS según sea necesario.
- URL de transmisión de PLAYDECK → ese puerto UDP; códec de vídeo libre (p. ej., H.264);
embed_scte35='true'. - Conecta SCTE-35 al inicio del clip (o a «Acción»); inicia la transmisión; comprueba las señales en los registros de Nimble y en las listas de reproducción de fragmentos HLS (pestaña «Red» del navegador).
Tala y herramientas
- PLAYDECK Registro de eventos de SCTE:
>>enviado,<<recibido. - Inspector DVB / TSDuck: inspeccionar el interior de SCTE-35
.tsarchivos o capturas. - MediaInfo: ideal para pistas con subtítulos; a menudo no Indica claramente «SCTE-35».
Relacionado
| Artículo | Tema |
|---|---|
| Subtítulos ocultos y SCTE — Descripción general | Matriz completa, dominios, límites |
| Uso de SCTE-104 en SDI | Marcadores SDI VANC |
| Subtítulos ocultos y subtítulos | CC de quemado / paso directo |
| Grabación CC y SCTE | MKV frente a TS, archivos «sidecar», comprobaciones de reproducción |