Skip to content
Charles Shao
Go back

CTV / OTT 与 SSAI:大屏程序化插播与变现解析

Updated:
–views

App 广告 SDK 探讨的是手机进程内的变现扳机。尽管大屏生态同样属于「端上变现」,但其面临的约束条件却截然不同:遥控器交互、客厅场景、长内容流、稀缺的贴片库存以及高度稀疏的身份标识。业内通常将这一领域统称为 CTV / OTT。在实际工程落地中,开发者最常遇到的技术瓶颈往往不是「如何再接入一家需求方平台(DSP)」,而是广告究竟应该在客户端进行插播,还是在服务端直接缝合进视频码流(SSAI)。更为棘手的是,当广告缝合进码流之后,后续的信标追踪、合约履约以及频控策略还能否准确对账。

正因如此,本文将站在媒体(Publisher)、视频平台以及供给方平台(SSP)的工程视角,深度解析大屏广告的插播、交付与对账机制。我们将详细探讨一次中插广告(mid-roll)究竟在哪一层被决策、插入、测量与计费,并解答当遇到「名义 eCPM 很高,但实际却出现 under-delivery 或黑帧」时,应该如何进行全链路排障。

本文是 端上变现 系列的第 5 篇(大屏通道)。 全系列 6 篇:

  1. App 广告 SDK 深挖
  2. 广告 SDK 隐性成本
  3. 广告 SDK 接入实战
  4. OEM 系统广告
  5. CTV / OTT 与 SSAI
  6. Web 变现深挖

一句话定位:站在媒体与 SSP 的工程视角,深度解析大屏广告的插播、交付与对账机制,拆解 CSAI 与 SSAI 的架构选型及排障链路。

范围划界:本篇聚焦大屏如何插播与交付。交易模式为何偏向 PG/PMP 请参见交易模式 §8.1;VAST 播放链路详见 VAST / MRAID 渲染;可见性口径参考广告形式与 MP4 faststart;供应链核验机制见 app-ads.txt。本文不展开探讨具体的 OEM 开机广告(详见 OEM 系统广告),也不会深入某一家 Smart TV OS 的私有 SDK 细节。

TL;DR

Table of contents

Open Table of contents

1. CTV / OTT 到底在卖什么

1.1 这几个词别混

词常用含义工程抓手易混点
OTTOver-The-Top:不经传统有线/卫星、经互联网分发的视频CDN、App、DRM、ABR 码流OTT 不等于「一定有广告」
CTVConnected TV:在电视大屏上发生的广告库存大屏 App、插棒/游戏机、SSAI、遥控 UX手机投屏到电视,库存口径常算 CTV
线性数字化广播时刻表 + 数字动态替换SCTE-35、DAI(动态广告插入)与点播 mid-roll 时序模型不同
AVODAd-supported VOD:有广告的点播固定/弹性 ad break与 SVOD(订阅无广告)对立
FASTFree Ad-supported Streaming TV:免费带广告「频道」高密度 break、类直播编单变现密度高,体验更敏感

需求方买到的通常是某次内容会话中一个 ad pod(广告串)里的一次或多次广告曝光(Impression),涵盖前贴(pre-roll)、中插(mid-roll)、后贴(post-roll),以及暂停广告(pause ad)和部分平台的首页包场(homepage takeover)。由于大屏广告单价高且广告位稀缺,这决定了在交易模式中,CTV 几乎是 PG / PMP 的天下。需要强调的是,大屏售卖的是确定性环境加稀缺打断,而不是海量的开放剩余流量。

1.2 四层模型(排障用)

为了避免口头上的 CTV 概念将问题混为一谈,我们需要把一次「大屏广告机会」拆解为四个层级:

① 设备层     Smart TV / Stick / Console / 投屏
② 应用层     流媒体 App / FAST 客户端 / 操作系统频道
③ 码流层     HLS / DASH 内容 + DRM + ABR ladder
④ 插播层     CSAI 或 SSAI:何时 break、插什么、如何计费

当收入漏斗发生断裂时,排障的第一步是定位层级:是 ④ 插播层没有决策到创意,还是 ③ 码流层的缝合与档位崩溃,亦或是 ② 应用层的播放器信标丢失。切忌一上来就将责任归咎于「需求方平台(DSP)出价低」。

1.3 与手机 App 变现对照

维度App(手机)CTV(大屏)
扳机广告 SDK / Mediation播放器 + SSAI/CSAI + 决策服务
主形式激励 / 插屏 / BannerIn-stream 视频贴片(VAST / VMAP)
决策节奏秒级、可预加载对齐 content timeline / ad break
身份GAID/IDFA(衰减中)IFA / 登录 / 家庭户,更碎
失败体验广告位空黑帧、卡顿、串台,用户骂的是播放器
优化目标eCPM × fill × 留存履约 + 体验 + 合格曝光 常并列第一

对比可知,CTV 售卖的是客厅时间线上的稀缺打断,而非手机屏幕角落里可以随意刷新的横幅广告。

2. 为什么程序化在大屏「长这样」

大屏程序化之所以呈现出当前的形态,主要受制于以下几个核心因素:

  1. 库存极度稀缺:一部剧集通常只有有限的几个中插(mid-roll)机会,无法像信息流那样无限下拉刷新。如果强行增加 ad break 的密度,将直接导致用户弃剧率飙升。
  2. 体验硬约束:大屏对播放体验的要求极为苛刻。如果 pod 过长、音量突变、竞品相邻,或者同一个创意反复打穿,平台方会为了保护用户体验而主动砍掉变现机会。
  3. 品牌预算主导:广告主(Advertiser)在大屏投放时,强烈要求优质环境、保量交付以及品牌安全,这使得 PG / PD / PMP 成为主流交易模式。
  4. 履约是工程问题:PG 模式下的 under-delivery 往往不是因为销售团队「没卖够」,而是由于决策超时、创意未转码或缝合失败,最终导致 break 被迫跳过。
  5. 技术债集中在插播层:如果系统无法妥善处理 stitch 或信标校准,那么接入再多的需求方平台(DSP)也仅仅是「账面上可竞价」,无法转化为真实的收益。

正因如此,公开竞价(RTB)虽然存在,但通常只作为剩余流量的填仓手段,或是特定开放市场的实验性项目。在工程优先级上,必须首先将 SSAI(或稳定的 CSAI)流水线以及合约履约做扎实,随后再去追求开放层的收益(Yield)。

这与卖方 Yield 的逻辑高度一致:在大屏上尝试「抬价」之前,必须先拷问 break 是否能够稳定兑现,毕竟一个空的 break 根本不存在所谓的 eCPM。

3. CSAI vs SSAI:插在哪一层

3.1 CSAI(Client-Side Ad Insertion)

在 CSAI 模式下,播放器在到达 ad break 时会自行暂停内容播放,向外部请求广告,待广告播完后再恢复内容续播:

维度表现
优点实现快;易对接标准 VAST;可按用户实时决策;个性化简单
缺点内容与广告两次(会话/缓冲);易被广告拦截/跳过;弱网黑帧;各 CTV OS 播放器行为碎片化
适合点播为主、设备矩阵可控、团队偏应用而非流媒体平台

3.2 SSAI(Server-Side Ad Insertion)

对比前一种方案,SSAI 模式在服务端将广告直接缝合进媒体的 playlist 或 manifest 中,播放器只需消费「一条连续流」:

维度表现
优点体验接近一体播放;难被简单广告拦截;利于直播动态替换与统一 mid-roll
缺点工程重:决策 SLA、创意转码 ladder、缝合正确性、信标模型都要自建;会话级个性化要在边缘做
适合直播/FAST 占比高、反拦截诉求强、已有 ABR/CDN 平台能力
内容源 ──┐
         ├──► Ad Decisioning ──► Creative 就绪(转码 ladder)
广告需求 ─┘            │
                       ▼
              Manifest Stitch(HLS / DASH)
                       │
                       ▼
                   播放器(一条流)
                       │
                       ▼
         播放心跳 / 客户端进度 ──► 信标与对账

3.3 选型与混合

在实际业务落地中,往往会采用混合架构:

在进行架构选型时,核心考量清单应包括:直播业务占比、设备碎片化程度、反拦截诉求,以及团队是否具备 manifest 工程与观测能力,而不是盲目跟风「业界都在上 SSAI」。

4. SSAI 流水线:决策、转码、缝合、信标

4.1 Ad decisioning

在 break 到达前(点播场景可预取,直播场景常依赖 cue 前置窗口),系统需要向媒体 Ad Server、SSP 或交易对手请求创意。

输入(最小集)

输出

需要强调的是,决策超时是严肃的产品策略问题,绝不能仅仅作为日志里的错误装饰:

决策结果可接受动作不可接受
晚于 stitch deadlineslate / 缩短 pod / 跳过商业 break黑帧卡住
部分创意未就绪用已就绪子集重排 pod强行插入未转码档
无填充规则允许的 house / 跳过无限等待

为了保障交付,决策链路的 SLA 必须被明确写入 PG 履约的 SLO 中。例如,严格规定「在 break 到达前 (T) 毫秒,必须返回可缝合的 pod」。

4.2 Creative 与转码 ladder

大屏场景下的自适应码率(ABR)档位繁多,通常是分辨率、码率与编码档的组合。SSAI 几乎总是要求广告与内容的 ladder 严格对齐(即采用同套 rendition)。如果未能对齐,将引发一系列体验灾难:

因此,工程实现上必须把握以下要点:

关于视频起播与容器层的底层细节,可参考 MP4 faststart;在 CTV 场景下,这些细节缺陷会通过 ladder 与 stitch 被成倍放大。

4.3 Manifest stitch

以 HLS 为例(DASH 同理,操作对象为 MPD),缝合逻辑如下:

缝合正确性的核心检查清单包括:

  1. 广告时长累加必须与媒体时间线保持连续,坚决避免播放器 duration 发生跳动;
  2. 直播的进出点必须与 SCTE-35(或等价信令)严格对齐;
  3. DISCONTINUITY 或编解码切换标记必须能被目标播放器正确解析;
  4. 缝合失败时必须能够平滑回退到内容 segment,绝不能留下空洞的 playlist;
  5. 个性化会话的 playlist 必须具备正确的缓存键,严禁将用户 A 的广告错误地缝合给用户 B。

4.4 信标与计费:SSAI 的「测不准」问题

在 CSAI 模式下,通常由播放器根据 VAST tracking 规范进行打点;但在 SSAI 模式中,播放器往往并不知道「当前播放的这段流是广告」,这就衍生出三种信标模型:

模式做法系统性偏差
纯服务端stitch 时或按「假定播放」代发 impression早退/切集未播完仍计费 → 买方超付、平台信誉伤
纯客户端播放器按进度打点OS 碎片;有的端丢四分位
混合(推荐)服务端生成追踪上下文 + 播放心跳/客户端进度确认工程复杂,但对账最稳

为了确保计费准确,日志中必须包含以下最小字段集:break_id、pod_seq、creative_id、quartile、completed、playhead、beacon_source(server 或 client)以及 stitch_ok。品牌广告主在验收时,看重的正是这些详实的数据,而不是一句空洞的「SSAI 已上线」。

此外,可见性与合格曝光的口径依然需要回归 MRC 与验证体系(详见可见性与广告验证、广告形式)。在大屏场景下,「在播」并不等同于「在看」,但工程底线是必须首先做到「声称播完」与真实的 playhead 进度完全一致。

5. 直播 vs 点播:两套时序

维度点播(VOD)直播 / FAST / 线性替换
break 可知性高(编单或内容打点)靠 SCTE / 编单窗口,抖动大
决策窗口可预取、可重试窗口短,超时代价高
缝合会话 playlist 或预缝滑动窗口实时改
失败策略跳过/缩短较易解释处理不好就是「播出事故」
个性化会话级自然边缘节点 / 会话清单压力更大

需要补充的是,线性数字替换还需要将「广播时刻表上的广告位」与数字决策系统精准对齐。这是一条独立的产品线,绝不能与 AVOD 的中插(mid-roll)共用同一套超时假设逻辑。

6. 身份、频控、供应链

6.1 身份分层

键稳定性用途
平台 IFA / 设备 ID低~中(重置、共享设备)基础定向、弱频控
登录账号中~高跨设备序列、偏好
Household中(推断)客厅频控、品牌防打穿
IP / geo粗合规与粗定向,不作人级真理

如果仅仅依赖 IFA 进行频控,往往会遭遇典型的失败场景:同一个家庭拥有三台设备并共享一个内容账号,最终导致创意频繁打穿,或者在某些设备上「到处触达不到」。

6.2 Pod 内规则

大屏的 pod 通常伴随着严格的竞品隔离、类别互斥、序列控制(例如汽车广告不能紧接另一支汽车广告)、最大时长限制以及响度规范。必须明确的是,这些都是决策层的硬性约束,绝不能留到缝合之后再去被动补救。

6.3 供应链与欺诈

CTV 生态高度依赖 app-ads.txt 进行供应链核验,但目前仍面临 bundle 与应用标识口径混乱、设备伪造以及库存洗钱等严峻问题。当需求方(买方)应用 SPO 策略时,面对 CTV 冗长的链路与核验失败,往往会采取更为保守的策略。需要警惕的是,短链路同样存在垃圾流量,评估时不能仅仅盯着节点跳数(hops)。

7. 指标、实验与生产案例

7.1 看板最小集

指标读法
合约 fill / break 兑现率商业是否履约
pod 完成率、平均 pod 时长、用户跳过/退出体验与收入平衡
黑帧率、rebuffer 率(广告切入窗口)SSAI / ladder 质量
信标齐全率 vs 播放心跳一致率对账能否做
决策超时 → slate / skip 占比决策链路是否够快
创意未就绪率、转码排队时长供给侧是否拖后腿
频控冲突丢单、家庭打穿率身份图谱是否可用
合格曝光 / 验证通过率品牌能否付款

7.2 实验注意

7.3 生产案例

案例 A:上了 SSAI,eCPM 涨了,投诉也涨了 根本原因在于未对齐 ladder,导致低端电视棒频繁出现 rebuffer。正确的演进路径是:先彻底对齐档位,确保播放流畅,然后再逐步增加 break 密度。

案例 B:信标漂亮,财务扯皮 系统采用纯服务端按 stitch 进度上报完播,但用户实际上早已退出。在引入 playhead 进度校准之前,绝不能将服务端的广告曝光(Impression)作为最终的结算真理。

案例 C:PG 天天 under-delivery 排查发现,决策超时叠加创意未转码,导致大量 break 被 skip 或替换为 slate。必须认识到,系统 SLA 与创意就绪是保量交付的工程前提,这不是销售团队靠后期补量就能挽救的。

案例 D:同一家庭被打穿 系统仅按 IFA 进行频控。正确的做法是将家庭户(Household)维度正式纳入频控键的考量中。

案例 E:直播「播出事故」 由于 SCTE 抖动,且缝合失败时的回退策略未定义,最终导致直播黑帧。直播场景的失败路径必须像广电播控一样进行严密的演练。

8. 常见误区 ↔ 正解

常见误区正解
CTV = 把 App SDK 装到电视上主路径常是 SSAI + 播放器 + 决策服务
SSAI = 服务端跑一下 VAST核心是转码 ladder + manifest 缝合 + 信标校准
大屏也可高频刷新 Banner 思路主价值在 in-stream pod;刷新思维会伤体验
有 IFA = 人级频控更现实的是设备 / 登录 / 家庭户分层
eCPM 最高 = 成功黑帧、弃剧、under-delivery 会毁库存长期价值
CTV 公开竞价 = 展示 RTB交易与履约更像合约 + 稀缺库存管理
信标齐了 = 播完了无 playhead 校准时,齐可能是「齐假」

延伸阅读

同支柱(端上变现 · App / CTV / Web):

跨系列相关:

资料:

附录:术语表


–views
Share this post on:

Previous Post
Web 变现深挖:GPT、广告标签与可见性如何把页面变成收入
Next Post
供应链优化(SPO):买方如何收敛路径与降低 ad tech tax