将 SCTE-35 发送至 Streams 及服务器

SCTE-35 标记在……中移动 MPEG传输流. 在 PLAYDECK 中,这意味着 UDP、SRT、兼容DVB 流媒体,, MPEG-TS 录音,以及 HLS片段 — 既不是 SDI,也不是 MKV/RTMP。.

关于 SDI, 使用 SCTE-104 而是: 在 SDI 上使用 SCTE-104.

完整的“从→到”矩阵: 隐藏式字幕与SCTE——概述.

PLAYDECK 允许您自行编写 SCTE-35 XML 文件(可灵活适配任何接收器)。占位符会自动填充片段/块的时序和 ID。.

本文内容:
启用 SCTE-35
标记应放置在何处
XML 示例与占位符
本地流循环测试
流之间的转发
HLS输出
使用 Nimble Streamer 进行测试
伐木与工具
相关


启用 SCTE-35

SCTE-35 是  默认情况下,流媒体/录制功能处于开启状态。打开 参数 并设置:

embed_scte35='true'

支持不适用
UDP、SRT、兼容DVB(格式 mpegts/dvb)、MPEG-TS 文件录制、HLS 细分市场SDI、NDI、MKV、RTMP/FLV

该 视频编解码器并不重要 适用于 SCTE-35(与“隐藏式字幕”不同 / embed_cc).

关于 UDP URL 的提示: 请使用您的局域网 IP 地址(例如. udp://192.168.x.x:5000?pkt_size=1316). 宁可不 127.0.0.1.

必要时可与字幕结合使用:

embed_scte35='true' embed_cc='true'


未发现 SCTE-35 与 embed_cc 在 MPEG-TS 流中(与 SDI 上的 SCTE-104 + 活动 CC/ASS 音轨不同——参见 概述限制).


标记应放置在何处

将 SCTE 命令附加到:

  • 视频片段 (任何位置)
  • 积木 (开始 / 结束)
  • 叠加层 (显示/隐藏)
  • 操作按钮

将命令类型设置为 SCTE-35 (非 SCTE-104)当目标为流或 TS 文件时。.


XML 示例与占位符

格式因接收方而异。以下示例与 SCTE-35 已退出 / 位于“命令”对话框中的按钮,适用于典型的 splice_insert / SSAI 工作流程(包括 Nimble)。如需其他格式的 XML,请咨询您的服务提供商。.

一 广告插播 播出 = 一 spliceEventId. 开启断开的标记({eventid}) 以及结束该标签的标记 ({eventlastid}) 必须使用相同的编号。下一个中断将获得一个新的 ID。当 PLAYDECK 在 {eventid} / {eventidhex} 在XML中;; {eventlastid} / {eventlastidhex} 重复使用上一个值,且不递增。计数器是 不 存储在播放列表行中(循环播放或次日不得重复使用前一天的ID)。当PLAYDECK重启时,该ID将重置。.

做 不 put {timestamp} 转为 spliceEventId — 解析器通常会将年份(例如 2026)识别为事件 ID。.

时长占位符仅在频道处于 正在播放. 若要插入一个段落间隔,请使用 {blockduration} (90 kHz 时钟脉冲:秒 × 90000)。. {clipduration} 这是当前的片段,而不是整个休息时间。.

按时长剪接(自动回退)

适用于 块开始 (或一个会触发中断的动作)。. autoReturn="1" 允许接收器在持续时间结束后返回;你仍然可以使用 In 触发 {eventlastid} 如果您的音响系统需要显式的CUE-IN。.


插入(返回)

同样的间隔,, 块结束 (或第二个操作)。无持续时间。通过 {eventlastid}.


outOfNetworkIndicator 1 = 退出程序(CUE-OUT),, 0 = 返回 (CUE-IN)。关闭 </SpliceInsert> — 缺失的结束标签会导致许多解析器无法正常工作。.


占位符
代币您将获得
{eventid}新的事件 ID(十进制)。每包含该命令时递增一次 {eventid} / {eventidhex}.
{eventlastid}上一个事件 ID,不递增。用于“In”场景。.
{eventidhex} / {eventlastidhex}与8位十六进制数相同的ID(SCTE-104 ).
{blockduration}块长度,90 kHz 十进制(SCTE-35)。.
{clipduration}当前剪辑时长,90 kHz。.
{blockduration10} / {clipduration10}长度相同,单位为 十分之一秒 (SCTE-104)。.
{blockduration10hex}十分位以4位十六进制数表示,最大值 FFFF.
{blockduration+6} / {blockduration10hex+6}加减整秒(例如:开始时间/结束时间)。内部允许有空格 { }.
{timestamp} {timestampunix} {airtimenext} {plannednext} {clipid} {blockid}时间 / 播放列表 ID — 不 用于 spliceEventId.

命令类型必须是 SCTE-35 (非 SCTE-104)当目标为流或 TS 文件时。.


本地流循环测试

  1. 通道 1:使用以下命令启动 UDP 或 SRT: embed_scte35='true'.
  2. 第 2 频道:将同一 URL 作为流媒体片段播放。.
  3. 对通道 1 上的 SCTE-35 XML 采取的操作 → 事件日志: >> 在第1频道,, << 第2频道播出《SCTE-35》。.

可选:录制到一个 .ts 与……一起提交 embed_scte35='true', 在录制时设置时间标记,然后在 DVB Inspector 中确认,并通过在 PLAYDECK 中播放该文件进行确认(<<). 参见 CC 和 SCTE 的录制.


流之间的转发

PLAYDECK 可以在流输入/输出之间转发 SCTE-35(例如:SRT → UDP,或通过 UDP 将 Ch1 → Ch2 → Ch3)。.
接球手名单 << 在每个跳转时,当 embed_scte35 在每个传出的 MPEG-TS 流上均已启用。.

不支持: 自动 SCTE-104 → SCTE-35 当 SDI 信号源通过 IP 进行流传输时,请改在流传输通道上发送 SCTE-35 信号。.


HLS输出

如果您选择 Apple HLS,PLAYDECK 会生成一个本地 .m3u8 (+ 片段),本身并非直接通过 CDN 发布的实时内容。.

  • PLAYDECK 提供  将 SCTE/CUE 标签写入 .m3u8 清单.
  • SCTE-35 / CC 仍可能存在于 细分市场. 在 PLAYDECK 中播放 m3u8 文件时,可以显示字幕和 << SCTE-35。.
  • 对于基于清单的广告标记(例如. #EXT-X-CUE-OUT),请使用如下服务器: 敏捷 (如下)或另一款可将 SCTE-35 转换为 HLS cue 文件的打包工具。.

使用 Nimble Streamer 进行测试

典型路径:PLAYDECK UDP embed_scte35 → Nimble → 带提示标签的HLS。.

  1. 安装 Nimble;在 nimble.conf (示例):

编辑完成后,请重启 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. 在 WMSPanel 中:MPEG-TS 输入(UDP)与 PLAYDECK 的目标相匹配;MPEG-TS 输出 / HLS 根据需要配置。.
  2. PLAYDECK 流媒体 URL → 该 UDP 端口;视频编解码器不限(例如 H.264);; embed_scte35='true'.
  3. 将 SCTE-35 连接到片段起始点(或“Action”);启动流媒体;在 Nimble 日志和 HLS 数据块播放列表(浏览器“网络”选项卡)中验证提示点。.

伐木与工具

  • PLAYDECK SCTE 事件日志>> 已发送,, << 已收到。.
  • DVB 检查员 / TSDuck: 检查内部的 SCTE-35 .ts 文件或截图。.
  • MediaInfo:非常适合查看CC音轨;通常  请明确列出 SCTE-35。.

相关

文章主题
隐藏式字幕与SCTE——概述全矩阵、定义域、极限
在 SDI 上使用 SCTE-104SDI VANC 标记
隐藏式字幕与字幕CC 烧机 / 直通
CC 和 SCTE 的录制MKV 与 TS、sidecar 文件、播放检查