实时输入冗余 AWS 元素媒体包存处理流 - Amazon Elemental MediaPackage

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

实时输入冗余 AWS 元素媒体包存处理流

通过在 MediaPackage 中的通道上发送两个流到独立的输入 URL,在 MediaPackage 中实现输入冗余。其中一个流成为终端节点的主要活动源,而另一个流继续被动地接收内容。如果 MediaPackage 停止接收来自活动流的内容,它会切换到另一个输入流,以便不中断内容播放。

如果您将 MediaPackage 与 AWS Elemental MediaLive Package(例如)结合使用,下面是输入冗余流程:

  1. 您可以在 MediaPackage 中创建通道,如创建通道。当 MediaPackage 预配置通道时,它会为通道创建两个输入 URL。如果您没有使用输入冗余,您可以将流发送到任何一个输入 URL。您无需向两个 URL 发送内容。

    注意

    当输入冗余变得可用时,MediaPackage 会向现有通道添加第二个输入 URL,并将现有 URL 更新为新格式。您可以使用现有 URL 或新 URL 来输入内容。

  2. 您可以在 MediaPackage 中创建终端节点,如创建 终端节点

    重要

    如果您使用短输出段,则根据您的播放设备,您可能会在 MediaPackage 切换输入时看到缓冲。您可以使用终端节点上的时间延迟功能来减少缓冲。请注意,使用时间延迟会在端到端传输内容时产生延迟。有关启用时间延迟的信息,请参阅创建 终端节点

  3. 您可以在 AWS Elemental MediaLive 中创建输入和通道,并向 MediaLive 中的通道添加一个 MediaPackage 输出组。有关更多信息,请参阅 。从头开始创建通道中的AWS Elemental MediaLive 用户指南

    如果您在 AWS Elemental MediaLive 中使用 HLS 输出组,必须设置该 HLS 组的设置上的输入损耗操作,以便在该服务未收到输入时暂停输出。如果 MediaLive 在缺少输入时发送黑帧或其他某个填充帧,则 MediaPackage 无法判断何时丢失段,并且随后无法执行故障转移。有关设置 MediaLive 的输入损失操作的更多信息,请参阅HLS 组的字段中的AWS Elemental MediaLive 用户指南

    重要

    如果您使用不同的编码器(而不是 AWS Elemental MediaLive)并向 AWS Elemental MediaPackage 中的同一通道发送两个单独的流,则这两个流必须具有完全相同的编码器设置。否则,输入冗余可能无法正常工作;如果切换输入,播放可能会中断。

  4. 您启动 AWS Elemental MediaLive 动中的通道以将流发送到 MediaPackage。

  5. MediaPackage 会接收两个输入 URL 上的内容,但一次只有一个流用于源内容。如果活动流缺少任何段,MediaPackage 将自动故障转移到另一个流。MediaPackage 将继续使用此流,直到再次需要故障转移为止。

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