处理视频输入丢失 - MediaLive

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

处理视频输入丢失

当频道的视频输入丢失时,您可以自定义 MediaLive 处理媒体的方式。

如何 MediaLive 处理视频输入丢失

MediaLive 当接收输入时,它可能会检测到视频源已丢失。这种丢失 MediaLive 导致开始遵循输入丢失行为处理。 MediaLive 开始在输出端对替换内容(填充帧)进行编码。这种处理可确保频道可以继续对视频内容进行编码。(的一个关键规则 MediaLive 是,正在运行的频道必须始终对内容进行编码。)

该通道遵循输入丢失处理,直到它恢复并恢复到正常编码。通道的恢复方式取决于您是否实现了自动输入故障转移:

  • 如果您实现自动输入故障转移,则输入丢失处理将持续到视频黑屏故障转移条件触发切换到另一个输入(或者直到输入恢复)。如果第二个输入失败,则输入丢失处理将重新启动并继续,直到您修复了两个输入的问题为止。

  • 如果您未实现自动输入故障转移,则输入丢失处理将持续到输入恢复或解决输入问题为止。

这两个功能相辅相成,但在不同的时机上起作用:

  • 一旦预期的帧未能到达,就会立即进行输入丢失处理。例如,如果输入的帧速率为 60 FPS,则如果某帧未在距离前一帧的 17 毫秒内到达,则会触发处理。(17 Msecs 大约等于 1 秒除以 60。)

  • 自动输入故障转移的触发器更长且可配置。典型的触发器为 1000 毫秒。

输入损耗与输入探测失败的比较

只有在先前健康的输入变得不健康之后,才会进行输入丢失处理。

在此之前,输入也可能失败。当一个频道开始并 MediaLive 开始收录第一个输入时,它会探测输入——它会尝试检测输入和源。如果检测失败,则输入和通道会立即失败。您必须解决问题并重新启动频道。问题可能是输入不存在(此问题主要适用于 RTMP 输入),或者输入超出了当前通道规格,或者输入设置错误

默认行为输入丢失处理

输入丢失处理的默认值如下:

  • 对替换内容进行编码:重复并对收到的最后一个有效帧进行编码。重复 1000 毫秒。然后对黑帧进行编码 1000 毫秒。然后无限期地对黑板进行编码。

  • 传送内容:默认处理方式是发出(交付)经过编码的替换内容。

自定义输入丢失处理

  • 您可以自定义替换内容的时间,也可以自定义替换内容的内容。

  • 在某些输出组类型中,您可以更改传送方式,使编码后的内容不被传送。

配置替换内容

您可以自定义替换内容的持续时间,也可以自定义用于板块的图像或颜色。例如,您可以将板块更改为图像(例如 “请待命”)。

注意

此部分假定您熟悉创建或编辑通道,如从头开始创建通道中所述。

  1. 在 MediaLive控制台的创建频道页面上,选择常规设置。展开全局配置。如有必要,选择启用全局配置

  2. 输入丢失行为中,选择输入丢失行为。此时将显示更多字段。这些字段控制替换内容,如下所示:

    • 在 Repeat Frame Msec 中指定的时间内对最后一个有效帧进行编码。零表示禁用(跳过重复帧并转到黑框)。值 1,000,000 表示永远重复前一个值。

    • Repeat Frame Msec 到期时,在黑帧毫秒中指定的时间内对黑帧进行编码。零表示禁用(跳过黑框并进入底板)。值 1,000,000 表示永远重复黑框。

    • Black Frame Msec 到期时,切换到发送指定的 slate 或颜色,如输入损耗图像类型中指定,然后发送输入损耗图像颜色输入损耗图像板块。

  3. 填写一个或多个字段以自定义行为。有关 MediaLive 控制台上某个字段的详细信息,请选择该字段旁边的 “信息” 链接。

自定义配送

您可以更改替换内容的默认处理方式,这样 MediaLivediscards 它就不必交付编码后的输出。您可以更改以下类型的输出组的处理方式:

  • HLS

  • Microsoft Smooth

  • RTMP

  • UDP/TS

对于除之外的所有其他类型的输出组 MediaPackage,请 MediaLive 始终提供内容。对于 MediaPackage 输出组, MediaLive 始终暂停传送

注意

此部分假定您熟悉创建或编辑通道,如从头开始创建通道中所述。

  1. 在 MediaLive控制台的创建频道页面上,在左侧导航栏中选择输出组。

  2. 在输出组的 “设置” 部分,找到该输出组的 “输入损失操作” 字段。为该输出组中的所有输出(包括不包括视频的输出)选择所需的选项。请参阅此步骤之后的表格。

下表列出了输出组的交付选项。在每行中读取。

输出组的类型 字段 描述

HLS

Microsoft Smooth

RTMP

EMIT_OUTPUT 交付替换内容。

这是这些输出组的默认值。

HLS

Microsoft Smooth

RTMP

暂停输出 仅对重复帧进行编码(如果频道配置为处理重复帧)。内容结束后,停止传送该输出组中的所有输出。

请注意,这 MediaLive 会使底层 RTMP 连接保持打开状态。

UDP EMIT_PROGRAM 对替换内容进行编码,然后交付该输出组的程序和所有表。

这是 UDP 的默认设置。

UDP

DROP_TS

停止传送此输出组中的整个传输流。
UDP 删除程序

将该程序从传输流中删除。 MediaLive 用空数据包替换程序,以满足 TS 比特率要求。

为该输出组传送空数据包和所有表。

建议

您应确保交付符合下游系统的期望。

例如,如果该通道是标准信道(有两条冗余管道),则下游系统可以设置为切换到第二条管道的输出。在这种情况下,最好将输出设置为停止发射输出。

再举一个例子,该频道可能只有一个管道。此外,如果下游系统失去交付,则可能无法正常运行 MediaLive。因此,最好设置为发出输出。下游系统将保持稳定,你可以设置 MediaLive “请待命” 名单,以改善观看视频的人的体验。