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:使用以下命令启动 UDP 或 SRT:
embed_scte35='true'. - 第 2 频道:将同一 URL 作为流媒体片段播放。.
- 对通道 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。.
- 安装 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
- 在 WMSPanel 中:MPEG-TS 输入(UDP)与 PLAYDECK 的目标相匹配;MPEG-TS 输出 / HLS 根据需要配置。.
- PLAYDECK 流媒体 URL → 该 UDP 端口;视频编解码器不限(例如 H.264);;
embed_scte35='true'. - 将 SCTE-35 连接到片段起始点(或“Action”);启动流媒体;在 Nimble 日志和 HLS 数据块播放列表(浏览器“网络”选项卡)中验证提示点。.
伐木与工具
- PLAYDECK SCTE 事件日志:
>>已发送,,<<已收到。. - DVB 检查员 / TSDuck: 检查内部的 SCTE-35
.ts文件或截图。. - MediaInfo:非常适合查看CC音轨;通常 不 请明确列出 SCTE-35。.
相关
| 文章 | 主题 |
|---|---|
| 隐藏式字幕与SCTE——概述 | 全矩阵、定义域、极限 |
| 在 SDI 上使用 SCTE-104 | SDI VANC 标记 |
| 隐藏式字幕与字幕 | CC 烧机 / 直通 |
| CC 和 SCTE 的录制 | MKV 与 TS、sidecar 文件、播放检查 |