

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

# MediaTailor 广告插入的工作原理
<a name="what-is-flow"></a>

AWS Elemental MediaTailor 在您的内容分发网络 (CDN)、源站服务器和广告决策服务器 (ADS) 之间进行交互，将个性化广告拼接到直播和视频点播内容中的广告插播中。

以下是 MediaTailor 广告插入工作原理的概述：

![\[MediaTailor 接收内容请求，从源站服务器检索内容，从 ADS 检索广告，然后返回个性化清单。\]](http://docs.aws.amazon.com/zh_cn/mediatailor/latest/ug/images/MediaTailorSSAI_Overview.png)


1. 玩家或 CDN（例如 Amazon） CloudFront 向发送请求，要求获取 HLS 或 DASH 内容。 MediaTailor 该请求包含来自玩家的参数，其中包含有关观看者的信息，这些信息用于广告个性化。

1. MediaTailor 向 ADS 发送包含观众信息的请求。ADS 根据观看者信息和当前广告活动选择广告。它会以 VAST 或 VMAP 的响应将返回给广告素材。 URLs MediaTailor

   如果您对广告进行了预处理，则 URLs 指向预转码的广告。有关使用预转码广告拼接广告的信息，请参阅。[预处理广告](precondition-ads.md)

1. MediaTailor 操纵清单以包含从 ADS URLs 返回的广告，并进行转码以匹配原始内容的编码特征。如果您使用的是预处理广告，则您有责任确保广告与模板清单相匹配。

   如果尚未对广告进行转码以匹配内容，则 MediaTailor 将跳过插入广告并用于 MediaConvert 准备广告，以便为下一个请求做好准备。

1. MediaTailor 将完全个性化的清单返回给请求的 CDN 或玩家。

ADS 根据观看里程碑（例如广告开始、广告中间和广告结束）来跟踪查看的广告。随着播放的进行，玩家或 MediaTailor 向ADS广告跟踪网址发送广告跟踪信标，以记录广告的浏览量。在与的会话初始化中 MediaTailor，玩家会指示 MediaTailor 是否要为会话发送这些信标。

有关如何开始广告插入的信息，请参阅[入门 MediaTailor](getting-started.md)。

# AWS Elemental MediaTailor 广告插入事件流程
<a name="mediatailor-event-flow"></a>

AWS Elemental MediaTailor 流程通过一系列可预测的事件来展示服务器端广告插入的个性化设置。了解此事件流程有助于您理解如何将广告机会 MediaTailor 转化为个性化的观看体验，并为问题发生时进行故障排除奠定基础。

每个广告插入机会都遵循按时间顺序 MediaTailor记录的事件序列，以提高可见性和监控。这些事件代表了清单个性化流程中的关键里程碑，从检测广告机会到提供跟踪信息。

## 标准事件序列
<a name="standard-event-sequence"></a>

 MediaTailor 成功处理广告插入机会后，通常会发生以下事件序列：

1. **广告机会检测**- MediaTailor 检测内容清单中的广告标记（例如 SCTE-35），表明存在广告个性化机会。

1. **广告决策服务器请求**- MediaTailor 向已配置的广告决策服务器 (ADS) 发送请求，以检索检测到的机会的广告，包括观众参数和广告中断时长。

1. **广告响应处理**- MediaTailor 接收来自 ADS 的响应，其中包含与要包含的广告相关的广告创意信息 URLs、跟踪信息以及元数据。有关 VAST、VMAP 和 VPAID 响应格式的更多信息，请参阅。[广告服务器集成要求](vast.md)

1. **M** anifest personalization- MediaTailor 成功处理广告响应，必要时对广告 URLs进行转码，并生成包含广告细分和来源内容的个性化清单。 MediaTailor 然后将个性化清单发送到播放设备。

1. **跟踪信标激活**-触发跟踪信标，将广告事件（例如展示次数、四分位数和完成量）报告给广告服务器或其他衡量系统。在服务器端报告模式（默认）下，根据玩家分段请求 MediaTailor 触发信标。在客户端报告模式下，播放设备使用个性化清单中 URLs 提供的来发射信标。

**典型时机：**整个序列通常在 2-5 秒内完成，具体取决于广告决策服务器的响应时间和广告创意处理要求。

## 常见的事件变体
<a name="common-event-variations"></a>

并非所有的广告插入尝试都遵循标准的成功顺序。 MediaTailor处理可能改变事件流的各种场景：

### 空广告响应场景
<a name="empty-ad-response"></a>

当广告决策服务器未返回任何广告时：

1. 广告机会检测正常进行

1. 广告决策服务器请求已成功发送

1. ADS 返回的响应为空，广告为零

1. 此机会的个性化清单中不包含任何广告

这是由于广告库存可用性、定位标准或广告决策服务器中配置的业务规则而可能发生的正常情况。在这种情况下，除非直播或 live-to-VOD直播且已配置 slate，否则将显示底层内容。有关更多信息，请参阅 [MediaTailor slate 广告插入](slate-management.md)。

### 错误情形
<a name="error-scenarios"></a>

当技术问题导致广告无法成功插入时，事件流程可能会在不同时刻中断：
+ **广告决策服务器超时**-对 ADS 的请求超过了配置的超时阈值，导致无法检索广告。
+ **通信错误**-网络或连接问题导致无法 MediaTailor 到达广告决策服务器。
+ **响应解析错误**-ADS 返回的响应由于 VAST 格式或结构无效而 MediaTailor 无法解析。

在错误情况下， MediaTailor 通常会继续播放没有广告的内容，从而确保不间断的观众体验。对于配置了 slate 的 live-to-VOD直播或直播，可能会改为显示 slate 内容。有关更多信息，请参阅 [MediaTailor slate 广告插入](slate-management.md)。

### 大量的重定向场景
<a name="redirect-scenarios"></a>

当初始 VAST 响应包含指向其他广告服务器的重定向时：

1. 广告机会检测和初始 ADS 请求正常进行

1. 初始响应包含重定向指令

1. MediaTailor 按照重定向来检索最终的广告响应

1. 在最终的广告内容中继续进行清单个性化设置

1. 追踪信标正常激活

VAST 重定向在程序化广告中很常见，允许广告服务器链接和实时决策。 MediaTailor 在广告检索过程中允许最多 7 个包装器重定向和无限量的 HTTP 重定向。

## 活动时间概述
<a name="event-timing-overview"></a>

了解 MediaTailor 事件流的时间特征有助于为广告插入效果设定适当的预期：
+ **广告机会检测**-在 MediaTailor 收到玩家的`GetManifest`请求并遇到内容清单中的广告标记时发生。
+ **广告决策服务器交互** ——通常需要 100-500 毫秒，具体取决于 ADS 响应时间和网络条件。
+ **清单个性化设置**-通常在收到 ADS 响应后的 50-200 毫秒内完成。
+ **跟踪信标时机**-因报告模式而异。对于服务器端信标，计时基于客户端玩家的分段请求；客户端信标会根据玩家的实现触发。

**性能注意事项：**从广告机会检测到清单投放的总时间通常应保持在 5 秒以内，以保持最佳的观众体验。如上所述，各个组件以毫秒为单位完成。但是，5 秒的阈值考虑了在整个广告插入工作流程中可能出现的潜在超时值、重试尝试次数和网络变异性。延迟时间较长可能表示 ADS 性能问题或网络连接问题。

## 使用事件流知识
<a name="event-flow-next-steps"></a>

了解 MediaTailor 事件流为以下方面奠定了基础：
+ **实施规划**-了解事件顺序有助于设计玩家集成和广告服务器配置。
+ **性能优化**-了解时间预期可以识别瓶颈和优化机会。
+ **故障排除准备**-熟悉正常的事件流可以更轻松地识别何时出现问题。

有关使用事件流分析的详细故障排除指南，请参阅[问题排查](troubleshooting.md)。有关事件记录和监控的技术细节，请参阅[查看日志](monitoring-through-logs.md)。