View a markdown version of this page

MediaTailor 用于会话控制的服务变量 - AWS Elemental MediaTailor

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

MediaTailor 用于会话控制的服务变量

AWS Elemental MediaTailor 为控制会话级行为的服务变量保留aws.查询参数命名空间。与ads.参数(转发到 ADS)和manifest.参数(附加到个性化清单 URL)不同,aws.参数由源服务器或 ADS 直接使用 MediaTailor ,不会转发到源服务器或 ADS。

支持的参数

下表列出了可用于控制会话级别行为的aws.*参数。

参数 Type 默认值 说明
aws.startTime ISO 8601 时间戳 例如,2026-06-17T10:00:00Z 未设置(实时加入) 在 DVR 窗口的特定时刻启动会话。 MediaTailor 将时间戳解析为最近的分段边界并在 HLS 清单EXT-X-START:TIME-OFFSET中发出。
aws.preroll String enum enableddisabled(不区分大小写) enabled 控制是否在会话中插入前置广告。当时disabled,即使回放配置有,预先播放也会被抑制。LivePreRollConfiguration
aws.overlayAvails String enum onoff(不区分大小写) on 控制是否为会话处理叠加(非线性)和可用空间。当时off,源清单中的叠加广告标记将被忽略,不会插入叠加广告。
aws.logMode String enum DEBUG, DISABLED DISABLED 为会话启用详细的调试日志。设置为时DEBUG,向日志 MediaTailor 发送详细的会话 CloudWatch 日志以进行故障排除。
aws.availSuppressionMode String enum OFF,BEHIND_LIVE_EDGE,AFTER_LIVE_EDGE(不区分大小写) OFF 控制是否根据广告相对于实时边缘的位置对其进行抑制。
aws.availSuppressionValue 持续时间 HH:MM:SS 格式(例如,00:00:10 未设置 无用抑制的时间窗口。当availSuppressionModeBEHIND_LIVE_EDGE或时为必填项AFTER_LIVE_EDGE
aws.availSuppressionFillPolicy String enum FULL_AVAIL_ONLYPARTIAL_AVAIL(不区分大小写) FULL_AVAIL_ONLY 当模式为时AFTER_LIVE_EDGE,控制是否填充部分抑制的空白区域。

AWS.startTime

设置后,在aws.startTime距离指定程序日期时间最近的分段边界处 MediaTailor 启动会话。

用量

在清单请求中aws.startTime作为查询参数传递:

GET /v1/master/{hashed-account-id}/{origin-id}/{asset}.m3u8?aws.startTime=2026-06-17T10:00:00Z

或者在显式会话初始化中,将其作为不带aws.前缀的顶级字段传递:

POST /v1/session/{hashed-account-id}/{origin-id}/{asset}.m3u8 { "startTime": "2026-06-17T10:00:00Z" }
要求

以下要求适用于aws.startTime

  • 源清单必须包含区段上的 EXT-X-PROGRAM-DATE-TIME (PDT)。如果没有 PDT,aws.startTime则无法解析并被忽略。

  • 仅适用于 HLS 直播会话(SSAI 和 SGAI)。

行为

下表描述了在不同场景中的aws.startTime行为:

场景 结果
DVR 窗口内的时间戳 从最近的分段边界开始,发射 EXT-X-START
时间戳早于 DVR 窗口 从窗口头夹紧到 3×目标持续时间
时间戳在实时边缘的 3x 目标持续时间内 视作实时边缘联接(否)EXT-X-START
实时边缘或之后的时间戳 普通实时加入
格式错误或不是 ISO 8601 忽略 — 回退到实时加入,已记录错误
清单没有 PDT 忽略 — 回退到实时加入,已记录错误
省略参数 默认:普通实时边缘联接
夹紧行为

如果在会话中期的起始点在 DVR 窗口之外老化,EXT-X-START则将从窗口头限定到 3×TargetDuration。3×TargetDuration 缓冲区符合 RFC 8216 §6.3.3 玩家缓冲建议。

例使用 AWS.StartTime 清单输出

当玩家使用初始化会话aws.startTime=2026-06-17T10:00:00Z且解析后的偏移量为距离实时边缘 120 秒时,会 MediaTailor 发出:

#EXTM3U #EXT-X-TARGETDURATION:6 #EXT-X-START:TIME-OFFSET=-120.120,PRECISE=YES #EXT-X-MEDIA-SEQUENCE:500 #EXT-X-PROGRAM-DATE-TIME:2026-06-17T09:58:00.000Z #EXTINF:6.006, segment500.ts #EXTINF:6.006, segment501.ts ...

TIME-OFFSET=-120.120它告诉玩家在直播边缘后 120 秒,在距离请求的开始时间最近的片段边界处开始播放。

限制

适用以下限制:

  • 会话初始化后,您无法更改此参数。

  • EXT-X-PROGRAM-DATE-TIME在源清单中需要。

  • EXT-X-START是玩家的提示—— MediaTailor 不能保证所有玩家都会兑现。

aws.preroll

aws.preroll=disabled,即使播放配置有,也会 MediaTailor 禁止在会话中插入前置广告。LivePreRollConfiguration

用量

在清单请求中aws.preroll作为查询参数传递:

GET /v1/master/{hashed-account-id}/{origin-id}/{asset}.m3u8?aws.preroll=disabled

或者在显式会话初始化中,将其作为不带aws.前缀的顶级字段传递:

POST /v1/session/{hashed-account-id}/{origin-id}/{asset}.m3u8 { "preroll": "disabled" }
要求

以下要求适用于aws.preroll

  • 播放配置必须有,LivePreRollConfiguration此参数才会生效。如果未配置预先投放,则设置此参数无效。

  • 适用于 HLS 直播会话(包括 SSAI 和 SGAI)。

行为

下表描述了aws.preroll行为方式:

结果
enabled(或省略) Pre-roll 像往常一样插入
disabled Pre-roll 在此会话中已禁用
值无效 记录为错误,视为 enabled
限制

会话初始化后,您无法更改此参数。

AWS.OverlayVails

aws.overlayAvails=off, MediaTailor 忽略源清单中的叠加(非线性)广告标记,并且不会为会话插入叠加广告。

用量

在清单请求中aws.overlayAvails作为查询参数传递:

GET /v1/master/{hashed-account-id}/{origin-id}/{asset}.m3u8?aws.overlayAvails=off
要求

以下要求适用于aws.overlayAvails

  • 要使此参数生效,来源清单必须包含叠加广告标记(例如,具有叠加分段类型 SCTE-35 的事件)。

  • 适用于 HLS 和 DASH、直播和 VOD 会话(包括 SSAI 和 SGAI)。

行为

下表描述了aws.overlayAvails行为方式:

结果
on(或省略) 我们照常处理叠加广告并插入广告
off 叠加广告标记被忽略,没有插入叠加广告
值无效 记录为错误,视为未指定(默认值:on
限制

会话初始化后,您无法更改此参数。

AWS.LogMode

当时aws.logMode=DEBUG,为会话 MediaTailor 启用详细的调试日志记录。调试日志发送到日 CloudWatch 志,提供有关清单个性化、广告决策服务器请求和会话状态的详细信息,这对于解决广告插入问题很有用。

用量

在清单请求中aws.logMode作为查询参数传递:

GET /v1/master/{hashed-account-id}/{origin-id}/{asset}.m3u8?aws.logMode=DEBUG
要求

以下要求适用于aws.logMode

  • 播放配置必须启用(PercentEnabled > 0EnabledLoggingStrategies配置)日志记录才能发出调试日志。

  • 调试日志记录对每个客户都有速率限制,以防止日志量过大。

行为

下表描述了aws.logMode行为方式:

结果
DEBUG 为会话发出的详细调试日志
DISABLED(或省略) 正常的记录行为(基于播放配置设置)
值无效 引发错误,会话初始化失败
限制

适用以下限制:

  • 会话初始化后,您无法更改此参数。

  • 值区分大小写(DEBUG,不区分debug)。

aws.avai SuppressionMode

控制是否根据广告相对于实时边缘的位置对其进行抑制。使用它可以跳过落在直播边缘之后或之后的时间窗口内的广告插播时间,例如,避免填充观众在活动中途加入直播时已经经过的广告插播时间。

用量

在清单请求中将空闲抑制参数作为查询参数传递:

GET /v1/master/{hashed-account-id}/{origin-id}/{asset}.m3u8?aws.availSuppressionMode=BEHIND_LIVE_EDGE&aws.availSuppressionValue=00:00:10

此参数与两个配套参数一起使用:

  • aws.availSuppressionValue— 时间窗口(非模式时为必填项OFF

  • aws.availSuppressionFillPolicy— 控制部分填充行为(仅适用于AFTER_LIVE_EDGE模式)

要求

以下要求适用于空闲抑制参数:

  • 适用于 HLS 和 DASH 直播会话。

  • aws.availSuppressionValue当模式为BEHIND_LIVE_EDGE或时,必须HH:MM:SS以格式提供AFTER_LIVE_EDGE

  • aws.availSuppressionFillPolicy仅在模式为时有效AFTER_LIVE_EDGE

模式行为

下表描述了每种抑制模式的效果:

Mode 效果
OFF(或省略) 抑制无济于事 — 所有广告插播时间均正常填充
BEHIND_LIVE_EDGE 抑制在指定时间窗口内在实时边缘后面开始的广告插播时间
AFTER_LIVE_EDGE 从实时边缘隐藏在指定时间窗口之后开始的广告插播时间
填写政策(仅限 AFTER_LIVE_EDGE)

下表描述了模式为时的填充策略行为AFTER_LIVE_EDGE

填写政策 效果
FULL_AVAIL_ONLY(默认值) 仅填充完全处于抑制窗口之外的可用空间
PARTIAL_AVAIL 填补空余地中超出抑制窗口的部分
例无效抑制示例

以下请求会在 Live Edge 后的 10 秒内禁止广告插播时间:

GET /v1/master/{hashed-account-id}/{origin-id}/{asset}.m3u8?aws.availSuppressionMode=BEHIND_LIVE_EDGE&aws.availSuppressionValue=00:00:10
限制

适用以下限制:

  • 会话初始化后,您无法更改此参数。

  • aws.availSuppressionValue模式为时不得提供OFF

  • 中的时间格式无效,aws.availSuppressionValue导致模式回退到OFF