挑战
客户现有的工作流程依赖于手动标记放置和静态预告片拼接,导致了多个操作问题:
- 广告标记通过广播控制室手动插入,导致人为错误和漏掉广告位
- 预告片静态地连接到 VOD 资产,每次促销活动变更都需要重新编码
- 不支持基于广告活动日程或受众定位的动态预告片轮播
- SCTE-35 信号缺乏一致性——一些流使用 Splice Insert,另一些使用 Time Signal,没有统一标准
- 帧不精确的广告边界导致可见的画面故障、播放器缓冲和广告验证失败
- 直播流需要亚秒级延迟的实时 SCTE-35 注入,而传统系统无法实现
- 没有用于监控标记放置、预告片投放或广告位合规性的集中式仪表板
我们的解决方案
我们利用 AWS Elemental MediaLive、定制的 SCTE-35 调度服务以及支持直播和 VOD 工作流的动态预告片管理系统,构建了一个自动化 SCTE-35 信令与媒体预告片插入管道。
架构
- 摄取:使用 AWS Elemental MediaLive 进行直播流编码,并通过 SCTE-35 API 驱动注入
- VOD 处理:使用 AWS Elemental MediaConvert 进行离线 SCTE-35 标记嵌入和预告片拼接
- SCTE-35 调度器:定制的 Node.js 服务,用于通过 MediaLive SCTE-35 API 进行程序化标记调度和注入
- 预告片管理器:动态预告片选择服务,支持基于广告活动的轮播和受众定位
- 存储:Amazon S3 用于 VOD 资产、预告片创意和处理后的输出
- 打包:使用 AWS Elemental MediaPackage 输出 HLS/DASH,并支持 SCTE-35 透传
- 监控:定制的 SCTE-35 合规性仪表板,带有 CloudWatch 指标和警报
- CDN:Amazon CloudFront 用于分发,支持清单级别的广告标记可见性
SCTE-35 信令管道
直播流 — 实时标记注入
- 调度定义 — 通过 API 定义广告位时间表,包括开始时间、持续时间和标记类型
- SCTE-35 API 注入 — 定制调度器在精确的时间戳触发 MediaLive 的 SCTE-35 输入拼接 API
- 信号类型 — 支持 Splice Insert(即时广告位)、Time Signal(程序化决策)和 Splice Null(心跳/保持连接)
- 分段描述符 — 嵌入元数据,包括提供商 ID、事件 ID、持续时间和分段类型(节目开始、广告开始、广告结束、内容恢复)
- 透传 — MediaPackage 在 HLS 清单(
#EXT-X-DATERANGE或#EXT-X-CUE-OUT/#EXT-X-CUE-IN标签)和 DASH 清单(EventStream元素)中保留 SCTE-35 标记
VOD — 离线标记嵌入
- 内容分析 — 场景检测识别自然广告位点(场景变化、静音、黑帧)
- 标记放置 — SCTE-35 标记插入到与 IDR 帧边界对齐的验证位置
- MediaConvert 处理 — 转码作业将 SCTE-35 PID 嵌入到传输流中,并带有精确的 PTS 时间戳
- 清单装饰 — 输出的 HLS/DASH 清单包含用于下游 SSAI 或 CSAI 消耗的广告标记
媒体预告片插入
动态预告片管理
- 预告片库 — 存储在 S3 中的宣传资产(前贴片、中贴片、后贴片卡片)的集中式存储库
- 广告活动调度 — 预告片分配给广告活动,带有开始/结束日期、优先级和频率上限
- 受众定位 — 根据内容类型、地理位置、设备类型和时间规则选择预告片
- ABR 匹配 — 预告片预转码以匹配主要内容的 ABR 阶梯(分辨率、比特率、编解码器、帧率)
插入模式
前贴片预告片插入
- 在节目内容开始前播放预告片
- 带有
out_of_network_indicator的 SCTE-35splice_insert标记预告片开始 - 通过
break_duration字段信令持续时间,以准确返回内容 - 从预告片到节目的无缝关键帧对齐过渡
中贴片预告片插入
- 插入到由场景检测或手动提示点识别的自然内容间隙
- 带有分段描述符类型
0x22(Break Start) 和0x23(Break End) 的 SCTE-35time_signal - 根据活跃的广告活动和剩余的曝光配额动态选择预告片
- 播放器/SSAI 系统使用标记将预告片片段拼接进流中
后贴片预告片插入
- 节目结束后附加的宣传内容
- SCTE-35 信号标记主内容结束和后贴片片段开始
- 常用于“下一个”预告片和跨频道推广
直播预告片叠加
- 对于直播活动,预告片在预定的广告位期间与广告同时插入或代替广告插入
- SCTE-35 信号在预告片调度器和广告决策服务器之间协调
- 当广告填充不可用时(无填充板块替换),提供备用预告片
SCTE-35 合规性监控
验证引擎
- 标记准确性 — 验证 SCTE-35 信号与 IDR 帧边界对齐(在 1 帧容差内)
- 持续时间合规性 — 验证广告位持续时间与信令的
break_duration匹配 - 信号完整性 — 检查是否存在缺失的
CUE-IN返回信号、孤立的CUE-OUT标记和重复的事件 ID - PTS 连续性 — 监控广告/内容边界上的演示时间戳连续性,以防止播放器同步问题
仪表板与警报
- 实时可视化所有频道上的 SCTE-35 事件(类型、时间戳、持续时间、状态)
- 每频道广告位合规性评分(正确信令并填充的广告位百分比)
- 对缺失标记、持续时间不匹配和信号格式错误进行警报
- 为广告运营团队提供可导出合规性日志的历史报告
主要特点
- 自动化 SCTE-35 注入 — 通过 MediaLive 实现 API 驱动的直播流实时标记插入
- VOD 标记嵌入 — 离线 SCTE-35 放置,辅助场景检测选择断点
- 动态预告片轮播 — 基于广告活动的预告片选择,带有频率限制和受众定位
- 多位置预告片 — 前贴片、中贴片和后贴片预告片插入,带有帧精确过渡
- ABR 匹配预告片 — 预转码预告片,匹配内容 ABR 阶梯,实现无缝播放
- SCTE-35 合规性仪表板 — 实时监控标记准确性、信号完整性和持续时间合规性
- 备用插页管理 — 当广告填充不可用时,自动插入预告片/插页
- HLS 和 DASH 支持 — SCTE-35 标记在 HLS (
EXT-X-CUE) 和 DASH (EventStream) 清单中均保留
成果
技术栈
caseStudyDetail.more 案例研究
探索更多我们的技术实施案例
利用 AWS 媒体服务通过 SRT 传输 FAST 频道流媒体
一家媒体公司需要使用 Secure Reliable Transport (SRT) 协议,为其 FAST 频道建立可靠、低延迟的贡献源,从而能够通过不稳定的互联网连接,从远程工作室、云播放系统和联合发行合作伙伴摄取高质量内容。
AWS Media Services 用于基于 HLS 的 FAST 频道流媒体
一家媒体公司需要推出免费广告支持的流媒体电视 (FAST) 频道——24/7 全天候的精选视频内容线性流,通过 HLS 传输到智能电视、机顶盒和网络/移动播放器,并通过程序化广告插入实现盈利。
常见问题
MicrocosmWorks 实现了一个调度引擎,该引擎将 EPG 中的广告时段时间戳转换为 SCTE-35 splice_insert 命令,并带有 PTS 对齐的预播放时间,然后通过 AWS Elemental MediaLive 的 SCTE-35 输入调度 API 注入到 MPEG-TS 流中。该系统实现了帧级精确的拼接点,与预定位置的时间偏差小于一帧。
MicrocosmWorks 使用 MediaLive 的输入切换和 follow-mode 配置构建了预告片插入 workflow,其中 SCTE-35 return-to-network 标记自动触发从预告片内容切换回直播流。这些过渡使用与 GOP 边界对齐的干净切换点,以防止客户端设备上出现解码器故障。
是的,MicrocosmWorks 配置了管道,使其在传输流中(用于 AWS MediaTailor 等 SSAI 系统)和 HLS/DASH 清单中(作为 EXT-X-DATERANGE 或 Period 事件,用于 CSAI 播放器)发出 SCTE-35 标记。这种双模式信令确保了与任何下游广告决策系统的兼容性,而无需修改管道。
MicrocosmWorks 构建了一个动态垫片管理系统,该系统维护一个包含各种时长预告片和片头/片尾的库,这些内容可以组合起来精准填满任何广告插播时段。该系统使用一个 bin-packing algorithm 来选择最佳的资产组合,使得组合内容的时长在 500ms 容差范围内填满插播时长,任何剩余时长则用品牌垫片填充。
MicrocosmWorks 以 $35-$50/小时的费率提供广播广告插入基础设施,其中包含完整的 SCTE-35 信号和预告片插入管道,包括调度引擎、MediaLive 配置和监控,通常需要 250-400 小时的开发时间。这项投资能够实现广告插播的变现,从而为 FAST 频道带来可观的收入。
