

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

# 使用广告中断抑制功能自定义广告中断行为
<a name="ad-rules"></a>

在中创建配置时 AWS Elemental MediaTailor，您可以指定可选的广告插播配置设置来控制广告插播时间的行为，包括配置广告间隔抑制功能。这使您可以为视频内容量身定制广告插播体验，以满足您的特定要求。

**兼容性限制**  
您不能对以下内容使用广告间隔抑制：
+  VOD 和 live-to-VOD工作流程。仅支持实时工作流程。
+ 服务器引导式广告插入 (SGAI) 方法。服务器引导的方法以不同的方式处理广告决策，并且不需要抑制配置。

**Topics**
+ [配置广告间隔抑制](#ad-suppression)

## 配置广告间隔抑制
<a name="ad-suppression"></a>

您可以配置 MediaTailor 为跳过直播内容的广告时段个性化设置。这被称为*广告中断抑制*或广告*抑制*。本主题向您展示了如何配置广告中断屏蔽功能，还说明了配置广告中断抑制的工作原理。

广告中断抑制可用于以下用例：
+ **大清单回顾窗口** – 如果查看者在清单的直播边缘开始播放，但回顾窗口很大，您可能只希望在查看者开始观看之后插入广告。或者，在清单中为总回顾窗口的一部分插入广告。您可以配置广告抑制，以便在直播边缘或后面的指定时间范围内对广告时段进行 MediaTailor 个性化设置。
+ **短暂停顿加入** – 如果查看者在广告时段中间开始观看实时视频流，则该用户可能会更改频道，而不观看广告。借助广告抑制功能，如果广告插播是在观众加入直播之前开始的，则可以跳过广告时段个性化设置。

### 配置广告抑制
<a name="working-with-ad-suppression"></a>

要使用广告抑制，您可以通过以下方式配置**利用抑制**模式**、利用抑制值****和利用抑制填充策略**：
+ 在 MediaTailor 控制台中
+ 使用 AWS Command Line Interface (AWS CLI)
+ 使用 MediaTailor API 或作为客户端播放会话请求中的参数

有关带参数的配置的信息，请参见[配置广告禁止参数 – 播放会话请求](#configuring-ad-suppression-parameters-playback-session-request)。

#### 广告抑制配置参数
<a name="ad-suppression-configuration-parameters"></a>

您可以选择开启或关闭广告抑制。如果您开启广告抑制功能，则可以指定该抑制是在直播边缘之后还是在直播的直播播放边缘之前发生。无论哪种情况，您还要指定一个相对于直播边缘的时间，该时间 MediaTailor 不对广告进行个性化设置。当您开启广告抑制功能时，您可以指定一种利用抑制策略，该策略在会话中途开始时 MediaTailor 使用部分广告插播填充。

以下是广告禁止配置参数：
+ **Avail suppression mode (效用禁止模式)** – 设置广告禁止模式。默认情况下，广告禁止功能关闭。**可接受的值**：`OFF``BEHIND_LIVE_EDGE`、或`AFTER_LIVE_EDGE`。
  + `OFF`: 没有广告抑制功能，可对所有广告 MediaTailor插播进行个性化设置。
  + `BEHIND_LIVE_EDGE`: MediaTailor 不会对在直播边缘之前开始的广告时段进行个性化设置，减去 Avai **l 抑制值**。这会影响整个广告时段，而不仅仅是单个广告的可用性。
  + `AFTER_LIVE_EDGE`: MediaTailor 不对实时边缘内的广告插播进行个性化设置，再加上 Avai **l 抑制值**。可以将其配置为影响整个广告时段或允许部分填充可用广告。
+ **Avail suppression value (效用禁止值)** – 相对于直播中的实时边缘的时间。**Accepted value (接受的值)**：以 `HH:MM:SS` 格式表示的时间值。
+ A@@ **vail抑制填充策略**-定义 MediaTailor 适用于Ava **il抑制模式**的策略。**可接受的值**： `PARTIAL_AVAIL`、`FULL_AVAIL_ONLY`。
  + `BEHIND_LIVE_EDGE`模式始终使用`FULL_AVAIL_ONLY`抑制策略。
  + `AFTER_LIVE_EDGE`模式可用于在会话中途开始时调用`PARTIAL_AVAIL`广告插播时间填充。

#### 广告抑制设置示例
<a name="ad-suppression-settings-examples"></a>

通过[广告抑制配置参数](#ad-suppression-configuration-parameters)相互交互的方式，您可以指定几种不同的方式来处理广告抑制和在直播前后、直播前后进行广告投放。本节提供的示例向您展示了其中的一些交互。使用这些示例来帮助您针对您的特定情况设置配置参数。

以下是广告抑制设置的示例：

**Example 1：无广告禁止**  
当广告**抑制模式**为时`OFF`，没有广告抑制功能，并且会对所有广告 MediaTailor 插播进行个性化设置。  
在下图中，各种方块沿着从左向右移动的时间轴水平排列。每个区块代表直播内容或个性化广告插播时间段的一部分。虚线表示直播的当前直播边缘。在直播边缘之前有两个广告中断，另一个广告中断正在直播边缘进行。如图所示，当广告抑制模式为时`OFF`，会对时间轴上直播前出现的所有广告中断进行 MediaTailor 个性化设置。 MediaTailor 还可以在直播边缘对正在进行的广告插播进行个性化设置。  

![MediaTailor 广告中断个性化，可用性抑制模式设置为OFF。](http://docs.aws.amazon.com/zh_cn/mediatailor/latest/ug/images/no_ad_suppression.png)


**Example 2：`BEHIND_LIVE_EDGE`广告抑制，其值与实时边缘同步**  
当**可用抑制模式**设置为`BEHIND_LIVE_EDGE`且**可用抑制值**设置为时`00:00:00`，可用抑制值将与实时边缘同步。 MediaTailor 不会对任何在直播边缘或之前开始的广告时段进行个性化设置。  
在下图中，各种方块沿着从左向右移动的时间轴水平排列。每个区块代表直播内容、个性化广告插播或非个性化广告插播时间段的一段时间。虚线表示直播的当前直播边缘。另一条虚线（表示设置为的可用抑制值）与实时边缘的虚线重叠。`00:00:00`两个广告中断发生在直播边缘之前，另一个广告中断发生在直播边缘之后。如图所示，如果将可用抑制模式设置为`BEHIND_LIVE_EDGE`，并且将可用抑制值设置为`00:00:00`使其与实时边缘同步，则 MediaTailor 不会对时间轴上直播边缘之前出现的任何广告中断进行个性化设置。 MediaTailor 对直播边缘*之后*出现的广告插播进行个性化设置。  

![MediaTailor 广告中断个性化，可用性抑制模式设置为BEHIND_LIVE_EDGE，可用性抑制值设置为00:00:00。](http://docs.aws.amazon.com/zh_cn/mediatailor/latest/ug/images/ad_supp_value_sync_live_edge.png)


**Example 3：`BEHIND_LIVE_EDGE`广告抑制，其价值落后于直播边缘**  
当广告**抑制模式**设置为时`BEHIND_LIVE_EDGE`， MediaTailor 不会在该时间或之前对任何广告插播进行个性化设置。在此示例中，对比直播边缘落后 45 分钟的广告时段进行 MediaTailor 个性化设置。 MediaTailor *不会*对比直播边缘落后超过 45 分钟的广告时段进行个性化设置。  
在下图中，各种方块沿着从左向右移动的时间轴水平排列。每个区块代表直播内容、个性化广告插播或非个性化广告插播时间段的一段时间。虚线表示直播的当前直播边缘。另一条虚线，表示设置为的可用抑制值`00:45:00`，出现在时间线前 45 分钟，相对于实时边缘的虚线。虚线之间的 45 分钟时间段表示可用性抑制期。在禁用期开始时，广告中断正在进行中。另外两次广告中断发生在禁止使用期内。如图所示，如果将可用抑制模式设置为`BEHIND_LIVE_EDGE`，并且将可用抑制值设置为在实时边缘`00:45:00`后面，则会对在可用抑制期内发生的任何广告中断进行 MediaTailor 个性化设置。 MediaTailor 在禁止使用期开始时，*不会*对正在进行的广告中断进行个性化设置。  

![MediaTailor 广告中断个性化，可用性抑制模式设置为BEHIND_LIVE_EDGE，可用性抑制值设置为00:45:00。](http://docs.aws.amazon.com/zh_cn/mediatailor/latest/ug/images/ad_supp_value_offset_live_edge.png)


**Example 4：在`AFTER_LIVE_EDGE`广告屏蔽期间没有广告中断的情况下屏蔽广告**  
当广告**屏蔽模式**设置为`AFTER_LIVE_EDGE`且**可用抑制值**大于零时，在会话经过的时间达到该值之前， MediaTailor 不会对任何广告中断进行个性化设置。  
在下图中，各种方块沿着从左向右移动的时间轴水平排列。每个区块代表直播内容或个性化广告插播时间段的一部分。虚线表示直播的当前直播边缘。另一条虚线，表示设置为的可用抑制值`00:30:00`，出现在时间轴中 30 分钟后，相对于实时边缘的虚线。第三条虚线代表会话初始化，相对于实时边缘的虚线，出现在时间轴的早期。实时边缘时间和时间之间的 30 分钟时间段表示可用性抑制期。 avail-suppression-value广告中断发生在广告屏蔽期之后。如图所示，如果将可用抑制模式设置为`AFTER_LIVE_EDGE`，则将可用抑制值设置为在实时边缘`00:30:00`之后，并且会话初始化发生在实时边缘之前，会话初始化会话，从而对在可用抑制期*之后*出现的任何广告中断进行 MediaTailor 个性化设置。  

![MediaTailor 广告中断个性化，将可用抑制模式设置为AFTER_LIVE_EDGE，可用抑制值设置为00:30:00，会话初始化发生在直播边缘之前。](http://docs.aws.amazon.com/zh_cn/mediatailor/latest/ug/images/ad_supp_after_no_ad_break.png)


**Example 5：`AFTER_LIVE_EDGE`使用`PARTIAL_AVAIL`填充政策屏蔽广告，在广告屏蔽期结束时正在进行广告中断**  
当广告**屏蔽模式**设置为`AFTER_LIVE_EDGE`且**可用抑制值**大于零时，在会话经过的时间达到该值之前， MediaTailor 不会对任何广告中断进行个性化设置。  
在下图中，各种方块沿着从左向右移动的时间轴水平排列。每个区块代表直播内容、个性化广告插播或非个性化广告插播时间段的一段时间。虚线表示直播的当前直播边缘。另一条虚线，表示设置为的可用抑制值`00:30:00`，出现在时间轴中 30 分钟后，相对于实时边缘的虚线。第三条虚线代表会话初始化，相对于实时边缘的虚线，出现在时间轴的早期。实时边缘时间和时间之间的 30 分钟时间段表示可用性抑制期。 avail-suppression-value在禁用期结束时，广告中断正在进行中。如图所示，当将可用抑制模式设置为`AFTER_LIVE_EDGE`，将可用抑制值设置为在实时边缘`00:30:00`之后，将可用抑制填充策略设置为`PARTIAL_AVAIL`，并且会话初始化发生在实时边缘之前，会话会对在可用抑制期*之后*出现的任何广告中断进行 MediaTailor 个性化设置。对于在广告屏蔽期结束时正在进行的广告中断， MediaTailor 请对广告中断中在限制使用期*之后*发生的部分进行个性化设置，但不会对广告中出现的广告*中*断部分进行个性化设置。  

![MediaTailor 广告中断个性化，将可用性抑制模式设置为AFTER_LIVE_EDGE，利用抑制值设置为00:30:00，利用抑制填充策略设置为PARTIAL_AVAIL，会话初始化发生在直播边缘之前，广告中断正在进行中，广告中断正在进行中。](http://docs.aws.amazon.com/zh_cn/mediatailor/latest/ug/images/ad_supp_after_ending_ad_break.png)


**Example 6：`AFTER_LIVE_EDGE`使用`PARTIAL_AVAIL`填充政策屏蔽广告，以及从会话初始化之前到可用屏蔽期结束后的广告中断**  
当广告**屏蔽模式**设置为`AFTER_LIVE_EDGE`且**可用抑制值**大于零时，在会话经过的时间达到该值之前， MediaTailor 不会对任何广告中断进行个性化设置。  
在下图中，各种方块沿着从左向右移动的时间轴水平排列。每个区块代表直播内容、个性化广告插播或非个性化广告插播时间段的一段时间。虚线表示直播的当前直播边缘。另一条虚线，表示设置为的可用抑制值`00:30:00`，出现在时间轴中 30 分钟后，相对于实时边缘的虚线。第三条虚线代表会话初始化，相对于实时边缘的虚线，出现在时间轴的早期。实时边缘时间和时间之间的 30 分钟时间段表示可用性抑制期。 avail-suppression-value广告中断时间从会话初始化之前到可用性抑制期之后的时间进行。如图所示，当将可用抑制模式设置为`AFTER_LIVE_EDGE`，将可用抑制值设置为在实时边缘`00:30:00`之后，将可用抑制填充策略设置为`PARTIAL_AVAIL`，并且会话初始化发生在实时边缘之前，会话会对在可用抑制期*之后*出现的任何广告中断进行 MediaTailor 个性化设置。对于在广告屏蔽期之前、期间和之后正在进行的广告中断， MediaTailor 请对广告中断中在可用性抑制期*之后*出现的部分进行个性化设置，但不会对广告插播时间中在限制使用期*之前*或*期间*发生的部分进行个性化设置。  

![MediaTailor 广告中断个性化，将可用性抑制模式设置为AFTER_LIVE_EDGE；利用抑制值设置为00:30:00；利用抑制填充策略设置为PARTIAL_AVAIL；会话初始化发生在直播边缘之前；广告中断在可用性抑制期之前、期间和之后正在进行中。](http://docs.aws.amazon.com/zh_cn/mediatailor/latest/ug/images/ad_supp_after_ad_break_throughout.png)


**Example 7：在`AFTER_LIVE_EDGE`广告屏蔽期开始时正在进行广告中断时，广告被屏蔽**  
当广告**屏蔽模式**设置为`AFTER_LIVE_EDGE`且**可用抑制值**大于零时，在会话经过的时间达到该值之前， MediaTailor 不会对任何广告中断进行个性化设置。  
在下图中，各种方块沿着从左向右移动的时间轴水平排列。每个区块代表直播内容或非个性化广告插播时间段的一部分。虚线表示直播的当前直播边缘。另一条虚线，表示设置为的可用抑制值`00:30:00`，出现在时间轴中 30 分钟后，相对于实时边缘的虚线。第三条虚线代表会话初始化，相对于实时边缘的虚线，出现在时间轴的早期。实时边缘时间和时间之间的 30 分钟时间段表示可用性抑制期。 avail-suppression-value广告插播时间从会话初始化前一段时间一直持续到禁用期内。如图所示，当广告抑制模式设置为时`AFTER_LIVE_EDGE`，可用抑制值设置为在直播边缘`00:30:00`之后，并且会话初始化发生在直播边缘时间之前，但在广告插播开始之后， MediaTailor 不会对该广告插播进行个性化设置。  

![MediaTailor 广告中断个性化，将可用性抑制模式设置为AFTER_LIVE_EDGE；将可用抑制值设置为00:30:00；会话初始化发生在直播边缘之前；广告中断正在进行中，但在可用抑制期内结束。](http://docs.aws.amazon.com/zh_cn/mediatailor/latest/ug/images/ad_supp_after_beginning_ad_break.png)


#### 配置广告禁止参数 – 播放会话请求
<a name="configuring-ad-suppression-parameters-playback-session-request"></a>

您可以在服务器端或客户端的*初始*播放会话请求中通过参数配置广告抑制设置。 MediaTailor如果您已经通过 MediaTailor 控制台或 AWS Elemental MediaTailor API 配置了广告抑制设置，则这些参数会覆盖这些设置。

广告禁止功能需要使用效用禁止模式和效用禁止值才能起作用。无法从不同的源配置这些参数。例如，您不能在 MediaTailor 控制台中配置一个参数，而使用查询参数配置另一个参数。

MediaTailor 支持以下广告抑制参数。


| Name | 说明 | 接受的值 | 
| --- | --- | --- | 
| availSuppressionMode | 设置广告禁止模式。默认情况下，广告抑制为`OFF`。如果设置为`BEHIND_LIVE_EDGE`， MediaTailor 则不会在`aws.availSuppressionValue`时间之前或之后填充广告中断。如果设置为`AFTER_LIVE_EDGE`， MediaTailor 则不会在广告屏蔽期内或之后填充广告插播时间。可用抑制周期从实时边缘时间跨度到时间，再加上额外的缓冲`aws.availSuppressionValue`时间。 |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/mediatailor/latest/ug/ad-rules.html)  | 
| availSuppressionValue | 相对于直播中的实时边缘的时间。 | 里面有一个 UTF-8 网址编码的时间码。HH:MM:SS例如，1 小时 30 分钟将表示为 01%3A30%3A00。 | 
| availSuppressionFillPolicy | 定义应用于无用抑制模式的策略。 BEHIND\_LIVE\_EDGE始终使用全部可用性抑制策略。 AFTER\_LIVE\_EDGE可用于在会话中途开始时调用部分广告插播时间填充。 |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/mediatailor/latest/ug/ad-rules.html)  | 

##### 服务器端配置
<a name="server-side-query"></a>

基本查询参数为 `aws.availSuppression`，后跟可选参数名称和值对。要构造查询，请在播放会话请求的末尾附加`aws.availSuppression=`到 MediaTailor，然后是参数名称和值。有关如何构建服务器端播放会话请求的更多信息，请参阅[MediaTailor 服务器端广告跟踪和报告](ad-reporting-server-side.md)。

**示例**：HLS

```
GET {{<mediatailorURL>}}/v1/master/{{<hashed-account-id>}}/{{<origin-id>}}/index.m3u8?aws.availSuppressionMode={{BEHIND_LIVE_EDGE}}&aws.availSuppressionValue={{00%3A00%3A21}}
```

下表列出了服务器端查询语法。


| 查询字符串组件 | 说明 | 
| --- | --- | 
| ? | 标记查询开始的受限字符。 | 
| aws. | 基本查询，后跟由名称和值对构造的参数。有关所有可用参数的列表，请参阅[配置广告禁止参数 – 播放会话请求](#configuring-ad-suppression-parameters-playback-session-request)。 | 
| = | 将参数名称与值相关联。例如 aws.availSuppressionMode={{BEHIND\_LIVE\_EDGE}}。 | 
| & | 连接查询参数。例如，aws.availSuppressionMode={{BEHIND\_LIVE\_EDGE}}&aws.availSuppressionValue={{00:30:00}}&aws.availSuppressionFillPolicy={{FULL\_AVAIL\_ONLY}}>。 | 

##### 客户端配置
<a name="client-side-configuration"></a>

在客户的 POST 请求中加入`availSuppression`参数 MediaTailor。有关如何构建客户端播放会话请求的更多信息，请参阅[客户端广告跟踪](ad-reporting-client-side.md)。

**示例**：HLS

```
POST parent.m3u8
    {
       "availSuppression": {
          "mode": "BEHIND_LIVE_EDGE",
          "value": "00:00:21",
          "fillPolicy": "FULL_AVAIL_ONLY"
       }
    }
```