本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
实时输入冗余 AWS Elemental MediaPackage 处理流程
AWS Elemental MediaPackage 通过将两个流发送到频道中的单独输入 URL 来实现输入冗余 MediaPackage。其中一个流成为终端节点的主要活动源,而另一个流继续被动地接收内容。如果 MediaPackage 停止接收来自当前直播的内容,它将切换到另一个输入流,这样内容播放就不会中断。
如果 MediaPackage 与 AWS Elemental MediaLive (例如)一起使用,则输入冗余流程如下:
-
您可以在中创建频道 MediaPackage,如中所述创建通道。当 MediaPackage 预配置通道时,它会为通道创建两个输入 URL。如果您没有使用输入冗余,您可以将流发送到任何一个输入 URL。您无需将内容发送到这两个 URL。
注意
当输入冗余可用时,向现有频道 MediaPackage 添加了第二个输入 URL,并将现有 URL 更新为新格式。您可以使用现有 URL 或新 URL 来输入内容。
-
您可以按照中的说明在中 MediaPackage 创建终端节点创建终端节点。
重要
如果您使用较短的输出片段,则 MediaPackage 切换输入时可能会看到缓冲,具体取决于您的播放设备。您可以使用终端节点上的时间延迟功能来减少缓冲。请注意,使用时间延迟会在端到端传输内容时产生延迟。有关启用时间延迟的信息,请参阅创建终端节点。
-
您在中创建输入和频道 AWS Elemental MediaLive,然后将 MediaPackage输出组添加到频道中 MediaLive。有关更多信息,请参阅《AWS Elemental MediaLive 用户指南》中的从头开始创建通道。
如果您在中使用 HLS 输出组 AWS Elemental MediaLive,则必须将对 HLS 组设置的输入丢失操作设置为在服务未接收输入时暂停输出。如果在缺少输入时 MediaLive 发送黑帧或其他填充帧,则 MediaPackage 无法分辨分段何时丢失,因此无法执行故障转移。有关在中设置输入损失操作的更多信息 MediaLive,请参阅《AWS Elemental MediaLive 用户指南》中的 HLS 组字段。
重要
如果您使用不同的编码器(不是 AWS Elemental MediaLive),并且将两个单独的流发送到中的同一个频道 MediaPackage,则这些流必须具有相同的编码器设置和清单名称。否则,输入冗余可能无法正常工作;如果切换输入,播放可能会中断。
-
您启动该频道 AWS Elemental MediaLive 以将直播发送到 MediaPackage。
-
MediaPackage 在两个输入 URL 上接收内容,但一次只能将其中一个流用于源内容。如果活动直播缺少任何分段,则 MediaPackage 会自动故障转移到另一个数据流。 MediaPackage 继续使用此数据流,直到再次需要故障转移。
用于确定输入是否缺少段的公式基于输入和端点上的段长度。如果输入缺少段并快速恢复,则段长度较长的终端节点将不会切换输入。这可能会导致使用不同输入的通道上出现不同的终端节点(如果一个终端节点切换而另一个不切换)。这是预期的行为,不应影响内容工作流程。