本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
MediaLive 的工作原理
从 AWS Elemental MediaLive 的角度出发,包含 MediaLive 的实时流工作流程涉及到三个系统:
-
一个 MediaLive 通道,提取和转码源内容。
-
一个或多个上游系统,将源内容(视频或其它媒体)提供给 MediaLive。
上游系统的示例是直接连接到 Internet 的流式处理摄像机或设备,或位于举行体育赛事的体育场中的来源编码器。
源内容采用特定包装格式和协议。例如,源内容可能以流式传输 HLS 或流式传输 TS(传输流)的形式可用。源内容包含采用特定编码解码器或格式的视频、音频和可选字幕流。
-
一个或多个下游系统,作为 MediaLive 生成的输出的目标。
典型的下游系统包含一个连接到 MediaLive 的源服务或包装器、一个作为源服务或包装器下游的内容分发网络(CDN)以及供用户查看内容的播放设备或网站。例如,AWS Elemental MediaPackage 是源服务和包装器。Amazon CloudFront 是 CDN 的一个示例。
要创建 MediaLive 工作流程,您可以创建一个或多个 MediaLive 输入。输入包含有关 MediaLive 以及上游系统如何连接的信息。您还可以创建 MediaLive 通道,然后将输入附加到该通道。通道配置数据包含有关 MediaLive 如何连接到下游系统的信息。
此设置如图中所示连接组件。
要开始处理内容,您可以启动通道。当通道正在运行时,它从上游系统提取由输入标识的源内容。随后,该通道将转码该视频(以及相关音频、字幕和元数据)并创建输出。MediaLive 将输出发送到指定的下游系统。
MediaLive 输入
输入包含上游系统及通道如何彼此连接的信息。输入与上游系统之间的连接可以为推送(上游系统推送内容)或拉取(MediaLive 从上游系统拉取内容)。
推送输入具有与其关联的 MediaLive 输入安全组。输入安全组确定包含上游系统上的源地址的 IP 地址范围。此范围内的 IP 地址允许将内容推送到输入。
MediaLive 通道
一个通道可以连接有多个输入,但一次只会从一个输入提取源内容。(您可以使用通道时间表设置通道从一个输入切换到另一个输入。)
通道提取源内容,将其转码(解码并编码)并打包到输出组 中。
通道包含一个或多个输出组。应由不同类型的输出组来处理不同下游系统的要求。
输出组由一个或多个输出 组成。每个输出包含一个特定的编码 组合。一个编码是一个视频流、一个音频流或一个字幕轨道。不同的编码具有不同的特征。将编码组合到输出中的规则以及将输出组合到输出组中的规则取决于输出组的类型。
下图是工作流程的详细说明。
下图显示了只有一个输出组的通道。
另一个例子,通道可能包含一个 HLS 输出组和一个 RTMP 输出组。HLS 输出组可能包含两个输出。其中一个 HLS 输出包含一个高分辨率视频、一个音频和一个字幕编码。另一个 HLS 输出包含一个低分辨率视频、一个音频且没有字幕。RTMP 输出组包含一个输出,其中包含一个视频和一个音频。
有关设计此工作流程和创建通道的信息,请参阅 规划 MediaLive 工作流程。
MediaLive 管道
MediaLive 中的处理仅在一个或两个管道上进行。
如果您设置工作流,使得通道和输入有两个管道(推荐),则两个管道彼此独立工作,但执行相同的处理。设置为两个管道可提供 MediaLive 中的弹性。
使用两个管道,上游系统必须设置为提供两个源,而下游系统必须设置为接收两个输出。
MediaLive 时间表
每个 MediaLive 通道均有一个与之关联的时间表。您将操作添加到时间表中来满足自己的需求。操作有不同类型,包括“切换输入”(切换为提取不同输入)和“插入图像叠加”(在视频上叠加指定的图像)。
您可以在通道未运行或正在运行时添加这些操作。MediaLive 在时间表中确定的时间将操作发送到通道,然后由通道执行操作。
有关时间表的更多信息,请参阅 创建 AWS Elemental MediaLive 计划