

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

# 动态多视图的工作原理
<a name="dynamic-multiview-how-it-works"></a>

多视图由多个通道组装而成，这些 MediaLive 通道汇集到一个 MediaPackage频道组中。本节介绍这些部分是如何组合在一起的，以及每个部分的贡献。

![架构示意图。四个标有 A 到 D 的 MediaLive 频道分别传送到频道组中的同名 MediaPackage 频道，每个频道都以单一观看流的形式传送给观众。同一频道组中的多视图频道从源频道读取片段并生成组合流，显示为二视图、三视图和四视图排列。](https://docs.aws.amazon.com/zh_cn/medialive/latest/ug/images/dynamic-multiview-architecture.png)


## 各部分是如何组合在一起的
<a name="dynamic-multiview-pieces"></a>

1. **每个来源 Feed 只有一个 MediaLive 频道。**每个 MediaLive 通道都有一个 MediaPackage 输出组，可将 CMAF Ingest 输出传送到 V2 通道。 MediaPackage 

1. **所有来源渠道都传送到同一个 MediaPackage频道组中。**该频道组还包含一个多视图频道，该频道从源频道读取片段。

1. **玩家请求将布局和有序的来源列表**作为清单请求的查询参数。由于布局是请求参数，因此应用程序可以在播放期间更改排列方式。

1. **多视图频道按需组装匹配的片段，**并返回一个 HLS 或 DASH 流媒体——一条视频轨道、一个解码器、一个 DRM 密钥，无论观众选择哪种布局。

由于合并是在交付时进行的，因此您的编码占用空间会随源源的数量而变化，而不是与观众可以请求的编排数量成比例。

## 是什么 MediaLive 促成的
<a name="dynamic-multiview-medialive-contributes"></a>

MediaLive 使用编码器设置对每个源代码源进行编码，使生成的格式副本可在下游组合。 MediaLive 不会将信息合并在一起，也不知道观众最终会要求哪种排列。

 MediaLive 生成的是每个 Feed 的格式副本阶梯，其中每个格式副本是：
+ 使用使其兼容多视图的设置进行编码，因此 MediaPackage 可以将其与其他源中的格式副本结合使用，以及
+ 调整大小使其适合您想要支持的布局的视图位置。

每个参与的输出还会在`outputUsage`字段中声明一个或多个多视图用法，这表明该再现要填充 MediaLive 哪个视图位置。 MediaLive 使用该声明来应用多视图验证。有关枚举值及其触发的验证规则，请参阅[动态多视图： MediaLive 配置参考](dynamic-multiview-reference.md)。

## 视图和布局
<a name="dynamic-multiview-views-layouts"></a>

MediaPackage 支持为每个布局合并两到四个 Feed。一个多视图中的所有频道必须是同一个 MediaPackage 频道组中的频道。

布局要么**大小相等**，即每个视图的大小相同，要么**primary/secondary**是一个大视图伴随着较小的视图。在 primary/secondary 布局中，辅助视图的宽度始终是其主视图宽度的一半，高度的一半。



| 布局 | 观点 | 排列 | 需要查看次数 | 
| --- | --- | --- | --- | 
| 2EH | 2 | 两个相等，并排 | 大小相等 | 
| 3EL | 3 | 三相等，一左两右 | 大小相等 | 
| 4E | 4 | 四个相等，2×2 网格 | 大小相等 | 
| 2PL | 2 | 左边有一所大型小学，一所中学 | 小学 \+ 中学 | 
| 3PL | 3 | 左边有一所大型小学，两个次要小学 | 小学 \+ 中学 | 
| 4PL | 4 | 左边有一所大型小学，三个次要小学 | 小学 \+ 中学 | 

这些图表显示了每种布局如何排列其视图。

![六种支持布局的示意图，左栏中标记为 2EH、3EL 和 4E，右栏中标记为 2PL、3PL 和 4PL。每张图都显示了组装框架内视图的位置和相对大小。上表描述了这些安排。](https://docs.aws.amazon.com/zh_cn/medialive/latest/ug/images/dynamic-multiview-layouts.png)


## 音频和字幕
<a name="dynamic-multiview-audio-captions"></a>

多视图流传输**每个视图的音频和字幕轨道，而不仅仅是一个**视图。观众选择要播放的内容。

每个源源的音频和字幕都打包为清单中的可选格式副本——HLS中的音频再现组和字幕曲目，DASH中的改编集。观看多个 Feed 的观众可以收听其中任何一个，并在它们之间切换，而无需更改视觉布局。

### 识别每个视图的音频和字幕
<a name="dynamic-multiview-identify-renditions"></a>

MediaPackage 在拼接的清单中标记每个音频和字幕副本，这样你就可以分辨出它属于哪个视图。您提供 MediaLive频道中的标签：
+ 对于音频，请在每个音频描述的 “**直播设置” ** 部分中设置 “直播名称” ** 字段，例如，`English`或`Spanish`。**
+ 对于字幕，设置每个字幕描述的**语言描述**字段，例如，`English`或`Spanish`。

MediaPackage 在该标签前面加上视图位置。第一个源`English`上标记的音频格式副本显示为`View1_English`。第二个来源`English`上标记的格式副本显示为`View2_English`。

在 HLS 清单中，此名称出现在`EXT-X-MEDIA`标签的`NAME`属性中。在 DASH 清单中，它出现在相应改编集的`Label`元素中。

观看次数与您在请求`sources`参数中列出来源频道的顺序相匹配。第一个源是视图 1，第二个是视图 2，依此类推。有关该`sources`参数的信息，请参阅《*AWS Elemental MediaPackage 用户指南*》[中的](https://docs.aws.amazon.com/mediapackage/latest/userguide/dynamic-multiview.html)多视图。