

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

# 时移观看参考 AWS Elemental MediaPackage
<a name="time-shifted"></a>

中的 AWS Elemental MediaPackage实时工作流程支持时移查看。

*时移观看*意味着观众可以在早于 “现在” 的时间开始观看直播，这样他们就可以从一开始就加入已经在进行的节目或观看已经完成的节目。 MediaPackage 支持对最长 336 小时（14 天）的内容进行时移观看。您可以通过在终端节点上定义 **startover window (启动时段)** 来为此部分或全部内容启用时移查看。当播放请求包含有效的开始和结束参数时，可以播放该时段内的内容。请求终端节点上配置的时段外的内容将导致 HTTP 错误 404。

或者，您可以采集实时流剪辑并将其用作视频点播 (VOD) 资产。有关采集 VOD 资产的信息，请参阅 [使用创建 live-to-VOD资产 AWS Elemental MediaPackage](ltov.md)。

在以下步骤中，“现在”是根据节目日期时间 (PDT) 的当前时间（当它出现在编码器的源内容中时）。如果源内容不包含 PDT 信息，则 “现在” 是指最新片段的 MediaPackage 收录时间。

**重要**  
当上游编码器中的直播发生变化（例如直播名称、类型或编解码器发生变化）时，创建一个新 MediaPackage 频道来收集内容。如果您不使用新通道，且重新开始时段的开始和结束时间跨越了这一变化，那么时移清单可能会出现意外的行为。

**启用时移查看**

1. 通过在端点对象的 **Startover 窗口中**键入一个值来启用时移查看。 MediaPackage 您可以通过 MediaPackage 控制台或 MediaPackage API 执行此操作。

   当将起始和结束参数在启动窗口内的请求发送到此端点时， MediaPackage 会生成所请求时间范围的清单。如果开始或结束参数位于启动时段之外，则播放请求将失败。如果没有使用开始和结束参数，该服务会生成一个标准清单。
**注意**  
您可能会注意到，当您开始在终端节点上创建启动窗口时，该清单滞后于实时。这是因为从窗口的开头 MediaPackage 开始填充清单，一直持续到 “现在”。因此，如果你有 24 小时的启动窗口，请从 24 小时前开始 MediaPackage 填写清单，一直持续到 “现在”。

1. 确保内容请求根据需要包含开始和结束参数。 MediaPackage 接受针对长达 24 小时的内容的请求。

   有关用符号记录参数的特定于打包程序的规则，请参阅[开始和结束参数的规则](#start-and-end-parameters-rules)。

   开始和结束参数确定清单的时间界限。这些是基于请求开始参数和请求结束参数的预期行为：
   + 如果 URL 中同时使用了开始和结束参数，则生成的清单有一个固定的开始时间和结束时间，对应于指定的开始和结束参数。

     如果结束时间在将来，则清单中的标签与实时清单一致。如果结束时间在过去，则清单中的标签与视频点播 (VOD) 清单一致。有关清单区别的信息，请参阅[实时和 VOD 清单参考](what-is-manifest.md)。
   + 如果指定了开始参数而未指定结束参数，则生成的清单有一个对应于指定的开始参数的固定开始时间，而清单的结束随着实时内容的进度而增长。
**注意**  
对于 HLS 输出，许多播放设备在当前时间（“现在”）开始播放。要从播放时段的实际开始时间查看内容，观看者可以在播放进度栏上查找。
   + 如果未指定任何参数，则生成的标准清单将从“现在”开始，且没有结束时间。
   + 如果指定了结束参数但未指定开始参数，则生成清单的方式与未指定任何参数时相同。清单从“现在”开始，没有结束时间。

**重要**  
 使用时移查看时，我们建议在播放器会话中使用一致的播放窗口，而不是为每个观看者生成唯一的开始或结束时间。这样可以在 CDN 上获得更好的缓存，并且可以避免在级别上遇到与这些请求相关的潜在限制。 MediaPackage 

## 开始和结束参数的规则
<a name="start-and-end-parameters-rules"></a>

开始和结束参数以符号表示时移清单的开始和结束。播放设备可以将参数附加到清单请求的结尾或在请求内包含参数。

在所有情况下，日期和时间都必须按照以下格式之一用符号表示：
+ ISO 8601 日期，例如 2017-08-18T21:18:54\+00:00。其中 -08:00 是 UTC 时区 -08:00。
+ POSIX (或 Epoch) 时间，例如 1503091134

以下主题介绍了按打包程序类型划分的位置规则。

### DASH 参数规则
<a name="parameter-rules-dash"></a>

针对 DASH 内容的 URL 请求中的开始和结束参数可以使用标准参数表示法，也可以作为路径元素包含在 URL 中。
+ 查询参数表示法：开始和结束参数包含在请求 URL 的末尾  
**Example**  

  ```
  https://cf98fa7b2ee4450e.mediapackage.us-east-1.amazonaws.com/out/v1/997cbb27697d4863bb65488133bff26f/sports.mpd?{{start=1513717228&end=1513720828}}
  ```
+ 路径元素：开始和结束参数包含在请求 URL 的路径中  
**Example**  

  ```
  https://cf98fa7b2ee4450e.mediapackage.us-east-1.amazonaws.com/out/v1/997cbb27697d4863bb65488133bff26f/{{start}}/{{2017-12-19T13:00:28-08:00}}/{{end}}/{{2017-12-19T14:00:28-08:00}}/sports.mpd
  ```

### HLS 和 CMAF 参数规则
<a name="allowed-parameter-location-hls"></a>

针对 HLS 内容的 URL 请求中的开始和结束参数可以使用标准参数表示法，也可以作为路径元素包含在 URL 中。HLS 和 CMAF 的规则是相同的，只不过当您在 CMAF 终端节点中插入路径元素时，该元素必须位于 URL 中的清单 ID 后面。
+ 查询参数表示法：开始和结束参数包含在请求 URL 的末尾  
**Example HLS**  

  ```
  https://cf98fa7b2ee4450e.mediapackage.us-east-1.amazonaws.com/out/v1/064134724fd74667ba294657a674ae72/comedy.m3u8?{{start=2017-12-19T13:00:28-08:00&end=2017-12-19T14:00:28-08:00}}
  ```  
**Example CMAF**  

  ```
  https://cf98fa7b2ee4450e.mediapackage.us-east-1.amazonaws.com/out/v1/064134724fd74667ba294657a674ae72/manifest_id/news.m3u8?{{start=2018-04-04T01:14:00-08:00&end=2018-04-04T02:15:00-08:00}}
  ```
+ 路径元素：开始和结束参数包含在请求 URL 的路径中  
**Example HLS**  

  ```
  https://cf98fa7b2ee4450e.mediapackage.us-east-1.amazonaws.com/out/v1/064134724fd74667ba294657a674ae72/{{start}}/{{1513717228}}/{{end}}/{{1513720828}}/comedy.m3u8
  ```  
**Example CMAF**  

  ```
  https://cf98fa7b2ee4450e.mediapackage.us-east-1.amazonaws.com/out/v1/064134724fd74667ba294657a674ae72/manifest_id/{{start}}/{{1522807213}}/{{end}}/{{1522800013}}/news.m3u8
  ```

### Microsoft Smooth Streaming 参数规则
<a name="allowed-parameter-location-mss"></a>

针对 Microsoft 平滑流内容的 URL 请求中的开始和结束参数可以作为路径元素包含在 URL 中。
+ 路径元素：开始和结束参数包含在请求 URL 的路径中  
**Example**  

  ```
  https://cf98fa7b2ee4450e.mediapackage.us-east-1.amazonaws.com/out/v1/1f76b3b4f94c44a485c0e4e560afe50e/{{start}}/{{1513717228}}/{{end}}/{{1513720828}}/drama.ism/Manifest
  ```