

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

# 实时内容处理
<a name="what-is-flow-live"></a>

在直播内容的处理流程中，编码器向发送直播 HLS 流。 MediaPackage MediaPackage 然后打包内容，对其进行格式化以响应下游设备的播放请求。

以下几节介绍了实时处理流程。

**Topics**
+ [常规 MediaPackage 实时处理流程](what-is-flow-gen.md)
+ [实时输入冗余 AWS Elemental MediaPackage 处理流程](what-is-flow-ir.md)

# 常规 MediaPackage 实时处理流程
<a name="what-is-flow-gen"></a>

以下内容概述了直播内容的总体流程 MediaPackage：

1. 上游编码器（例如 AWS Elemental MediaLive）通过 WebDAV 将带有摘要身份验证的 HLS 直播发送到 MediaPackage 频道输入 URL，并包括频道的访问凭证（如中所提供）。 MediaPackage如果您使用的是输入冗余，编码器会向频道上的每个输入 URL 发送两个相同的 HLS 直播。 MediaPackage MediaPackage 使用来自一个输入 URL 的直播作为源内容。如果 MediaPackage 停止在活动输入 URL 上接收内容，它会自动切换到源内容的另一个输入 URL。此外，还可以向上和向下 AWS 扩展资源以处理传入流量。

   有关更多信息，请参阅 [实时输入冗余 AWS Elemental MediaPackage 处理流程](what-is-flow-ir.md)。
**注意**  
为了支持时移观看等功能，请在有限的时间内 MediaPackage 存储所有收到的内容。仅在存储的内容位于终端节点上定义的 **startover window (启动时段)** 内时，才能播放该内容。如果存储的内容在启动窗口之外，或者没有在端点上定义窗口，则无法播放。有关更多信息，请参阅 [时移观看参考 AWS Elemental MediaPackage](time-shifted.md)。

1. 下游设备 MediaPackage 通过端点输出 URL 请求内容。下游设备可以是视频播放器，也可以是 CDN。输出 URL 与特定流格式（Apple HLS、DASH-ISO、Microsoft Smooth Streaming 或 CMAF）的端点关联。

1.  MediaPackage 收到来自下游设备的播放请求时，它会根据您在端点上指定的设置动态打包直播。打包可能包括添加加密和配置音频、视频及字幕或字幕轨道输出。

   请务必对输入进行排序，以便在父清单的音频部分首先列出您的首选音频格式副本。对字幕或字幕执行同样的操作。打包音频、字幕或字幕轨道时，将第一个音频和字幕或字幕轨道 MediaPackage 指定为和。`DEFAULT=YES` `AUTO-SELECT=YES`此打包会覆盖输入中的默认设置和自动选择设置。

1. MediaPackage 通过 HTTPS 将输出流传送到发出请求的设备。与输入一样，可以向上和向下 AWS 扩展资源以应对流量的变化。

1. MediaPackage 通过 Amazon 记录活动 CloudWatch。您可以查看诸如内容请求数量以及 MediaPackage 已接收或交付的内容数量之类的信息。有关在中查看 MediaPackage 指标的信息 CloudWatch，请参阅[AWS Elemental MediaPackage 使用 Amazon CloudWatch 指标进行监控](monitoring-cloudwatch.md)。

在整个内容输入和输出过程中， MediaPackage 检测并缓解潜在的基础架构故障，以免它们成为观众面临的问题。

下图显示了总体过程。

![\[MediaPackage 工作流程\]](http://docs.aws.amazon.com/zh_cn/mediapackage/latest/ug/images/bbl_flow1.png)


# 实时输入冗余 AWS Elemental MediaPackage 处理流程
<a name="what-is-flow-ir"></a>

 AWS Elemental MediaPackage 通过将两个数据流发送到一个通道中的单独输入 URLs ，实现输入冗余 MediaPackage。其中一个流成为终端节点的主要活动源，而另一个流继续被动地接收内容。如果 MediaPackage 停止接收来自活动流的内容，它会切换到另一个输入流，这样内容的播放就不会中断。

如果你 MediaPackage 使用 wit AWS Elemental MediaLive h（例如），则输入冗余的流程如下：

1. 您可以在中创建频道 MediaPackage，如中所述[创建通道](channels-create.md)。配置 MediaPackage 通道时，它会 URLs 为该通道创建两个输入。如果您没有使用输入冗余，您可以将流发送到任何一个输入 URL。不要求您向两者发送内容 URLs。
**注意**  
当输入冗余可用时，向现有频道 MediaPackage 添加第二个输入 URL，并将现有 URL 更新为新格式。您可以使用现有的 URL 或新的 URL URLs 进行内容输入。

1. 您可以在中创建终端节点 MediaPackage ，如中所述[创建终端节点](endpoints-create.md)。
**重要**  
如果您使用较短的输出片段，则在 MediaPackage 切换输入时可能会看到缓冲，具体取决于您的播放设备。您可以使用终端节点上的时间延迟功能来减少缓冲。请注意，使用延时会给内容的 end-to-end交付带来延迟。有关启用时间延迟的信息，请参阅[创建终端节点](endpoints-create.md)。

1. 您在中创建输入和频道 AWS Elemental MediaLive，然后向中的频道添加 MediaPackage输出组 MediaLive。有关更多信息，请参阅《AWS Elemental MediaLive 用户指南》**中的[从头开始创建通道](https://docs.aws.amazon.com/medialive/latest/ug/creating-channel-scratch.html)。

   如果您在中使用 HLS 输出组 AWS Elemental MediaLive，则必须将 HLS 组设置中的输入丢失操作设置为在服务未收到输入时暂停输出。如果在缺少输入时 MediaLive 发送黑框或其他填充框，则 MediaPackage 无法分辨何时缺少分段，因此无法执行故障转移。有关在中设置输入丢失操作的更多信息 MediaLive，请参阅《*AWS Elemental MediaLive 用户指南*[》中的 HLS 组字段](https://docs.aws.amazon.com/medialive/latest/ug/hls-group-fields.html)。
**重要**  
如果您使用不同的编码器（不是 AWS Elemental MediaLive），并且将两个单独的直播发送到中的同一个频道 MediaPackage，则这些直播必须具有相同的编码器设置和清单名称。否则，输入冗余可能无法正常工作；如果切换输入，播放可能会中断。

1. 您启动频道 AWS Elemental MediaLive 以将直播发送到 MediaPackage。

1. MediaPackage 接收两个输入的内容 URLs，但一次只能将其中一个流用于源内容。如果活动流缺少任何片段，则 MediaPackage 会自动故障转移到另一个流。 MediaPackage 继续使用此流，直到再次需要进行故障转移。

   用于确定输入是否缺少段的公式基于输入和端点上的段长度。如果输入缺少段并快速恢复，则段长度较长的终端节点将不会切换输入。这可能会导致使用不同输入的通道上出现不同的终端节点（如果一个终端节点切换而另一个不切换）。这是预期的行为，不应影响内容工作流程。