

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

# 规划工作 MediaLive 流程
<a name="container-planning-workflow"></a>

从 AWS Elemental 的角度来看 MediaLive，直播工作流程 MediaLive 包括三个系统：
+ 向提供视频内容的*上游系统* MediaLive。
+ MediaLive，它会摄取内容并对内容进行转码。
+ 一种*下游系统*，它是 MediaLive 生成输出的目的地。

在开始创建通道之前，您应该规划该工作流程。在该规划的第一阶段中，您必须设置上游系统和下游系统。在第二阶段中，您必须规划通道本身，确定要从源内容中提取的内容，并规划要生成的输出。

**重要**  
此程序描述了从输出开始，然后返回到输入的工作流程规划。这是规划工作流程的最有效方法。

**Topics**
+ [在工作流中准备上游和下游系统](container-planning-uss-dss.md)
+ [规划频道中的输出](planning-the-channel-in-workflow.md)

# 在工作流中准备上游和下游系统
<a name="container-planning-uss-dss"></a>

在工作流程规划的第一阶段，您必须设置上游系统和下游系统。

**重要**  
此程序描述了从输出开始，然后返回到输入的工作流程规划。这是规划工作流程的最有效方法。

**规划工作流程**

1. 根据下游的系统确定需要生成的输出组 MediaLive。请参阅[识别下游系统的输出组类型](identify-downstream-system.md)。

1. 确定要在每个输出组中包含的视频和音频编码的要求。请参阅[确定输出组的编码要求](identify-dss-video-audio.md)。

1. 确定通道类 – 确定您是希望创建支持冗余的标准通道，还是不支持冗余的单管道通道。请参阅[确定弹性要求](plan-redundancy.md)。

1. 评估源内容，确保它与您需要创建的输出兼容， MediaLive并与之兼容。例如，请确保源内容具有 MediaLive 支持的视频编解码器。请参阅[评测上游系统](evaluate-upstream-system.md)。

   完成这四个步骤后，您就知道是否 MediaLive可以处理您的转码请求。

1. 收集源内容的标识符。例如，向上游系统的操作员询问要从内容中提取的不同音频语言的标识符。请参阅[收集有关源内容的信息。](planning-content-extract.md)。

1. 与一个或多个下游系统协调，为 MediaLive 将要生成的输出组提供目的地。请参阅[与下游系统协调](setting-up-downstream-system.md)。

# 识别下游系统的输出组类型
<a name="identify-downstream-system"></a>

规划任何 AWS Elemental MediaLive 工作流程的第一步是根据下游系统的要求和功能，确定需要生成哪些类型的[*输出组*](what-is-terminology.md)。 MediaLive

在评估上游系统之前，请先对[下游系统](evaluate-upstream-system.md)执行此任务。工作流中的决策从下游系统开始，然后回到上游系统。

**重要**  
对于此工作流程，您应该已经确定了要向其发送 MediaLive 输出的一个或多个下游系统。如果您尚未确定下游系统，则必须先进行一些研究，然后才能继续准备工作流。本指南无法帮助您识别下游系统。当您知道您的下游系统是什么后，请返回本节。

**确定输出组**

1. 从下游系统获取以下信息：
   + 所需的输出格式。例如，HLS。
   + 每种格式的应用协议。例如，HTTP。

1. 确定输出的传输模式。
   + 您的输出可能位于 VPC 中 EC2 实例上的服务器。或者，您的输出可能在 Amazon S3 中。如果其中一种或两种情况都适用，则可能需要设置为通过您的 VPC 进行传输。有关更多信息，请参阅 [通过 VPC 传送输出](delivery-out-vpc.md)。
   + 如果没有这些类型的输出，可按常规方式传输。

1. 确保 MediaLive 其中包含支持下游系统所需的输出格式和协议的输出*组*。请参阅[中支持的输出类型 MediaLive](outputs-supported-containers.md)。

1. 如果您首选的下游系统是其他 AWS 介质服务，[请阅读本文以了解有关选择该服务的信息](dss-choose-service.md)。

1. 如果您的下游系统支持 Microsoft Smooth 流，请参阅 [Microsoft Smooth 输出处理选项](downstream-system-for-mss.md) 以获取选项。

1. 如果您想在分发之前将输出发送到其他 AWS 地区或其他 AWS 账户，请考虑创建 MediaConnect 路由器输出组。 MediaConnect Router 是需要跨区域或跨账户分发的工作流程的绝佳选择。

1. 决定是否要创建存档输出组以生成内容的存档文件。存档文件是对流的补充；它本身并不是流式输出。通常，您可以创建存档文件作为流式输出的永久文件版本。

1. 决定是否要创建帧捕捉输出组以生成帧捕捉输出。帧捕获输出是对流的补充；它本身并不是流式输出。这种类型的输出可能对您的工作流有用。例如，您可以使用帧捕获输出来创建内容的缩略图。

1. 记下您决定创建的输出组。

   例如，在您完成以下步骤后，您可能会看到以下输出组列表：
   + 一个 HLS 输出组 AWS Elemental MediaPackage 作为下游系统。
   + 发送至社交媒体网站下游系统的 RTMP 输出组。
   + 一个存档输出组作为记录。

**Topics**
+ [在 AWS 媒体服务中选择](dss-choose-service.md)
+ [在 HLS 输出组和 MediaPackage 输出组之间进行选择](hls-choosing-hls-vs-emp.md)
+ [Microsoft Smooth 输出处理选项](downstream-system-for-mss.md)

# 在 AWS 媒体服务中选择
<a name="dss-choose-service"></a>

如果您首选的下游系统是其他 AWS 介质服务，以下是选择要使用的服务的一些有用提示：
+ 如果您需要在 HLS 输出之间 AWS Elemental MediaPackage AWS Elemental MediaStore 进行选择，请遵循以下准则：
  + 决定是否要使用数字版权管理（DRM）解决方案来保护您的内容。DRM 可防止未经授权的人员访问内容。
  + 决定是否要在内容中插入广告。

  如果您想要这两个功能中的一个或两个，则应选择 MediaPackage 作为源站服务，因为您将需要重新打包输出。

  如果您不想要这些功能中的任何一个，可以选择 MediaPackage 或 AWS Elemental MediaStore。 AWS Elemental MediaStore 作为原产地服务，通常是一种更简单的解决方案，但它缺少的重新打包功能。 MediaPackage
+ 如果您已标识 AWS Elemental MediaPackage 为源站服务，请决定是使用 HLS 输出组还是输出组生成 HLS MediaPackage 输出。有关做出此选择的准则，请参阅[下一节](hls-choosing-hls-vs-emp.md)。

# 在 HLS 输出组和 MediaPackage 输出组之间进行选择
<a name="hls-choosing-hls-vs-emp"></a>

如果要向传送 HLS 输出 AWS Elemental MediaPackage，则必须决定是要创建 HLS 输出组还是 MediaPackage 输出组。

## 交付到 MediaPackage v2
<a name="hls-choose-empv2"></a>

如果您要向使用 MediaPackage v2 的 MediaPackage 频道投放，则必须创建一个 HLS 输出组。 MediaPackage 运营商可以告诉你该频道是否使用了 API 的版本 2。使用版本 2 的一个用例是实现包含 MediaLive 和的 glass-to-glass低延迟工作流程 MediaPackage。

## 按标准交付 MediaPackage (v1)
<a name="hls-choose-emp"></a>

每种输出组类型的设置均不相同：
+  MediaPackage 输出需要更少的设置。AWS Elemental MediaLive 已经设置好了打包输出并将其传送到您指定的 AWS Elemental MediaPackage 渠道所需的大部分信息。这种更简单的设置有好处，但也有缺点，因为您无法控制某些配置。有关如何 MediaLive 设置 MediaPackage 输出组的信息，请参阅[该过程的结果](mediapackage-create-result.md)。
+ 对于 MediaPackage 输出， MediaLive 通道和 AWS Elemental MediaPackage 通道必须位于同一 AWS 区域。
+ 在 MediaPackage 输出中，设置 ID3 元数据有一些限制。有关更多信息，请参阅 [使用 ID3 元数据](id3-metadata.md)。

# Microsoft Smooth 输出处理选项
<a name="downstream-system-for-mss"></a>

如果您要传输至 Microsoft Smooth 流服务器，则设置取决于您是否要使用数字版权管理（DRM）解决方案来保护您的内容。DRM 可防止未经授权的人员访问内容。
+ 如果不想实现 DRM，可创建一个 Microsoft Smooth 输出组。
+ 如果您确实想实现 DRM，则可以创建一个 HLS 或 MediaPackage 输出组来将输出发送到 AWS Elemental MediaPackage，然后使用 AWS Elemental MediaPackage 来添加 DRM。然后，将 AWS Elemental MediaPackage 设置为传输至 Microsoft Smooth 原始服务器。

# 确定输出组的编码要求
<a name="identify-dss-video-audio"></a>

确定需要创建的输出组后，必须确定要包含在每个输出组中的视频和音频编码的要求。下游系统控制这些要求。

在评估上游系统之前，请先对[下游系统](evaluate-upstream-system.md)执行此任务。工作流中的决策从下游系统开始，然后回到上游系统。

**确定每个输出组中的视频和音频编解码器**

对您确定的每个输出组执行此过程。

1. 从下游系统获取以下视频信息：
   + 它们支持的一个或多个视频编解码器。
   + 它们可以支持的最大比特率和最大分辨率。

1. 从下游系统获取以下音频信息：
   + 支持的音频编解码器。
   + 每个编解码器中支持的音频编码模式（例如 2.0）。
   + 支持的最大音频比特率。
   + 对于 HLS 或 Microsoft Smooth 输出格式，下游系统是要求将音频与视频捆绑在一起，还是要求每个音频以自己的格式显示。在 MediaLive输出中整理资源时，您将需要这些信息。

1. 从下游系统获取以下字幕信息。
   + 它们支持的字幕格式。

1. 验证视频。将下游系统所需的视频编解码器与 MediaLive 支持此输出组的视频编解码器进行比较。参见 [按输出类型划分的支持的编解码器](outputs-supported-codecs.md) 中的表格。确保至少支持一个下游系统提供的编解码器。

1. 验证音频。将下游系统所需的音频编解码器与 MediaLive 支持此输出组的视频编解码器进行比较。参见 [按输出类型划分的支持的编解码器](outputs-supported-codecs.md) 中的表格。确保至少支持一个下游系统提供的编解码器。

1. 暂时跳过对字幕格式的评估。您将在[后面的部分](assess-uss-captions.md)评估这些要求。

1. 记下可以为每个输出组生成的视频编解码器和音频编解码器。

1. 决定是否要实现特殊播放功能。有关更多信息，请参阅 [实施 trick-play 轨道](trick-play-solutions.md)。

**此步骤的结果**

执行完此过程后，您将知道要创建哪些输出组，也知道这些输出组可以支持哪些视频和音频编解码器。因此，输出信息应该如此示例所示。


**示例**  

|  输出组   |  下游系统  |  下游系统支持的视频编解码器  | 下游系统支持的音频编解码器 | 
| --- | --- | --- | --- | 
|  HLS  |  MediaPackage  |  AVC  | AAC 2.0、Dolby Digital Plus | 
| RTMP | 社交媒体网站 | AVC | AAC 2.0 | 
| 档案 | Amazon S3 | 下游系统不指定编解码器，而是由您选择所需的编解码器。 | 下游系统不指定编解码器，而是由您选择所需的编解码器。 | 

# 确定弹性要求
<a name="plan-redundancy"></a>

弹性是指在出现问题时渠道继续工作的能力。 MediaLive 包括两个必须立即规划的弹性功能。您必须决定要实施其中哪些功能。您必须立即做出此决定，因为这些功能会影响内容需要多少个来源，这需要与上游系统讨论。

## 管道冗余
<a name="decide-resil-pipeline"></a>

通常，您可以设置一个包含两个管道的信道，以便在信道处理管道内提供弹性。有关设置两条管道的要求的信息，请参见 

管道冗余是一项适用于整个通道以及连接到该通道的所有输入的功能。在通道规划的早期，您必须决定如何设置通道。

在设置管道冗余时，您可以将通道设置为*标准通道*，使其拥有两条编码管道。这两个管道都可以摄取源内容并生成输出。如果当前管道发生故障，下游系统可以检测到它不再接收内容，并可以切换到其他输出。下游系统不会中断。 MediaLive 在几分钟内重新启动第二个管道。

有关管道冗余的更多信息，请参阅[实施管道冗余](plan-redundancy-mode.md)。

## 自动输入故障转移
<a name="decide-resil-aif"></a>

对于某些输入，您可以将两个输入设置为自动输入故障转移*对*，以便为通道中的一个输入提供弹性。

自动输入失效转移是一项适用于单个输入的功能。您不必在规划通道时就决定是否实施自动输入失效转移。你可以稍后在附加新输入时实现它，或者当你想升级现有输入以实现自动输入故障转移时。

要设置自动输入故障转移，您需要将两个输入（具有完全相同的源内容）设置为*输入故障转移对*。设置这种方式可在上游系统发生故障时提供弹性，或在上游系统和通道之间提供弹性。

在输入对中，其中一个输入为活动输入，一个*处于**待机状态*。 MediaLive 摄取两个输入，以便随时准备切换，但它通常会立即丢弃待机输入。如果活动输入失败，则 MediaLive 立即进行故障切换并从备用输入开始处理，而不是丢弃它。

您可以在为管道冗余设置的通道（标准通道）或没有管道冗余的通道（单管道通道）中实施自动输入失效转移。

有关自动输入故障转移的更多信息，请参阅[实施自动失效转移](automatic-input-failover.md)。

## 两项功能的比较
<a name="resil-compare-features"></a>

以下是管道冗余和自动输入失效转移的比较情况。
+ 每项功能处理的故障存在差异：

  管道冗余可在 MediaLive 编码器管道出现故障时提供弹性。

  自动输入故障转移可在上游系统或上游系统与 MediaLive 输入之间的网络连接中出现故障时提供弹性。 MediaLive
+ 这两项功能都需要两个内容源实例，因此在两种情况下，您的上游系统都必须能够提供两个实例。

  在使用管道冗余时，两个源可以来自同一个编码器。

  在使用自动输入失效转移时，源必须来自不同的编码器，否则两个源将同时出现故障，输入失效转移切换将会失败。
+ 管道冗余适用于整个通道。因此，您应该在规划通道时决定是否此冗余。自动输入故障转移仅适用于特定的输入类型。因此，例如，您可以决定仅在连接最重要的输入时才实现自动输入故障转移。
+ 自动输入故障转移要求下游系统能够处理两个输出实例，并能够从一个（失败时）切换到另一个实例。 MediaPackage，例如，可以处理两个实例。

  如果下游系统没有内置这一逻辑，则无法实施自动输入失效转移。

# 评测上游系统
<a name="evaluate-upstream-system"></a>

作为 MediaLive 工作流程规划的一部分，您必须评估作为内容来源的上游系统，以确保它与兼容 MediaLive。然后，您必须评估源内容，以确保其包含 MediaLive 可以收录的格式，并且 MediaLive 可以包含在所需的输出中。

您从*内容提供商*处获取*源内容*。源内容从内容提供商控制的*上游系统*提供给您。通常，您已经确定内容提供商。有关源内容和上游系统的更多信息，请参阅 [如何 MediaLive 运作](how-medialive-works-channels.md)。

**评测上游系统**

1. 与内容提供商交流，获取有关上游系统的信息。您可以使用此信息来评估 MediaLive 连接到上游系统的能力，并评估使用该上游系统的源内容的能力。 MediaLive 

   有关要获取和评测的信息的详情，请参阅以下部分：
   + [评测源格式和打包](uss-obtain-info.md)
   + [评测视频内容](assess-uss-source.md)
   + [评测音频内容](assess-uss-audio.md)
   + [评测字幕](assess-uss-captions.md)

1. 记下您为源内容标识的 MediaLive 输入类型。

1. 记下源流的以下三个特征。[在设置通道时](input-specification.md)，您将需要这些信息：
   + 视频编解码器
   + 视频分辨率：SD、HD 或 UHD
   + 最大输入比特率 

**此步骤的结果**

在这一步结束时，你将确信自己 MediaLive 可以摄取内容。此外，您还将确定以下内容：
+ 您将为收录源内容而创建的 MediaLive 输入类型。
+ 从源（从 MediaLive 输入）中提取视频、音频和字幕所需的信息。例如：

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/medialive/latest/ug/evaluate-upstream-system.html)

# 评测源格式和打包
<a name="uss-obtain-info"></a>

有关如何评测源格式和打包的信息，请参阅下表。通读每一行。


****  

| 要获取的信息 | 验证以下内容 | 
| --- | --- | 
| 内容提供商可以提供的来源数量。 | 如果您计划实施[弹性功能](plan-redundancy.md)，请确保您的内容提供商能够提供所需的输入：[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/medialive/latest/ug/uss-obtain-info.html) | 
| 传输格式和协议适用于您识别的格式的 MediaLive 输入类型 | 了解上游系统支持的传输格式和协议。确保[输入类型、协议和上游系统](inputs-supported-formats.md)的表格中已列出此格式。[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/medialive/latest/ug/uss-obtain-info.html)请注意，对于通过 CDI 交付的内容或从 CDI 交付的内容，您无需验证此信息。 AWS Elemental Link MediaLive 可以随时处理这些输入类型。 | 
| 上游系统是否使用最新的 SDK | 确保内容提供商在其上游 CDI 源设备上使用最新版本的 [AWS CDI SDK](https://aws.amazon.com/media-services/resources/cdi/)。 | 
| 源内容是流还是 VOD 资产 | 确定源内容是实时流还是 VOD 资产。确保它 MediaLive 支持您确定的格式的交付。请参阅[支持实时源和文件源](inputs-live-vs-file.md)中的表格。 | 
| 内容是否已加密 | MediaLive 只能从 HLS 内容中摄取加密内容。如果源内容是 HLS 且已加密，请确保使用 MediaLive 支持的格式对其进行加密。请参阅[处理 HLS 源中的加密源内容](planning-hls-input-encrypted.md)。如果 MediaLive 不支持可用的加密格式，请查看是否可以获取未加密格式的内容。 | 
| 源内容中是否包含 FEC（仅当源内容为 RTP 时）。 |  我们建议源内容包含 FEC，因为这样不太可能导致输出中的可视内容中断。  | 

# 处理 HLS 源中的加密源内容
<a name="planning-hls-input-encrypted"></a>

MediaLive 可以采集根据 HTTP 直播规范加密的 HLS 源。

**支持的加密格式**

MediaLive 支持加密的 HLS 源采用以下格式：
+ 源内容采用 AES-128 加密。 MediaLive 不支持 AES-SAMPLE。
+ 源内容使用静态密钥或轮换密钥进行加密。
+ 清单包括具有下列属性的 `#EXT-X-KEY ` 标签：
  + `METHOD` 属性指定 AES-128。
  + URI 指定加密密钥的许可证服务器。
  + IV 为空白或者指定要使用的初始化向量（IV）。如果 IV 为空，则 MediaLive 使用`#EXT-X-MEDIA-SEQUENCE`标签中的值作为 IV。
+ 如果上游系统和许可证服务器都需要身份验证凭据（用户名和密码），请确保在两台服务器上使用相同的凭据。 MediaLive 不支持为这两台服务器使用不同的凭证。

**解密的工作方式**

内容拥有者设置主清单以包含 `#EXT-X-KEY`，其中包含方法（AES-128）、许可证服务器的 URL，以及初始化向量（IV）。内容拥有者将加密密钥置于许可证服务器上。当使用此来源的 MediaLive 频道启动时， MediaLive 获取主清单并读取许可证服务器 URL 的`#EXT-X-KEY `标签。

MediaLive 连接到许可证服务器并获取加密密钥。 MediaLive 开始从上游系统提取内容，然后使用加密密钥和 IV 解密内容。

# 评测视频内容
<a name="assess-uss-source"></a>

有关如何评测视频源的信息，请参阅下表。通读每一行。

**注意**  
您无需对通过 CDI 或 AWS Elemental Link 设备传输的视频进行任何评估。这些来源总是可以接受的 MediaLive。


****  

| 要获取的信息 | 验证以下内容 | 
| --- | --- | 
| 可用的视频编解码器或格式。 | 确保至少有一种视频编解码器包含在该封装格式的视频编解码器列表中。请参阅[按输入类型划分的支持的编解码器](inputs-supported-codecs-by-input-type.md)。如果内容在多个受支持的编解码器中可用，请决定要使用哪种视频编解码器。您只能从源内容中提取一项视频资产。 | 
| 最大预期比特率。 | 确保上游系统和之间的带宽 MediaLive足以处理源内容的预期最大比特率。如果您设置标准通道（以实现[管道冗余](plan-redundancy.md)），请确保带宽是预期最大比特率的两倍，因为有两个管道。 | 
| 视频特征是否在流传输过程中发生变化。 | 为获得最佳效果，请确认视频源的视频特性不会在流传输过程中发生变化。例如，编解码器不应更改。帧速率不应更改。 | 

# 评测音频内容
<a name="assess-uss-audio"></a>

有关如何评测音频源的信息，请参阅下表。通读每一行。

**注意**  
您无需对通过 CDI 或 AWS Elemental Link 设备传送的音频进行任何评估。这些来源总是可以接受的 MediaLive。


****  

| 要获取的信息 | 验证以下内容 | 
| --- | --- | 
| 可用的音频编解码器或格式。 | 确保至少有一种音频编解码器包含在 [按输入类型划分的支持的编解码器](inputs-supported-codecs-by-input-type.md)的音频编解码器列表中。 | 
| 每种编解码器的可用语言。例如，英语、法语。 | 确定要提供的语言。确定内容提供商可以提供哪种语言。 | 
| 每种编解码器的可用编码模式（例如 2.0 和 5.1）。 |  确定每种音频语言的首选音频编码模式。确定内容提供商可以提供哪种编码模式。有关更多信息，请参阅[此表后面的部分](#coding)。   | 
| 音频特征是否在流传输过程中发生变化。 |  为获得最佳效果，请确认源内容的音频特性不会在流传输过程中发生变化。例如，源的编解码器不应更改。编码模式不应更改。语言不应该消失。  | 
| 如果源内容是 HLS，则确认音频资产是在音频渲染组中，还是与视频多路复用。 |  MediaLive 可以将位于单独的格式副本组中的音频素材或与视频一起多路传输到单个流中的音频素材收录。  | 

**决定编码模式**  
如果同一语言有多种编码模式可用，请决定要使用哪种模式。请遵循以下准则：
+ 您可以在一种编解码器和编码模式下提取某些语言，在另一种编解码器和编码模式下提取其他语言。例如，您可能希望一种或两种语言在 5.1 编码模式下可用，而希望其他语言在 2.0 编码模式下可用。
+ 您可以多次提取相同的语言。例如，您可能希望某种语言在 5.1 编码模式和 2.0 编码模式下均可用。
+ 在决定为给定语言提取哪种编解码器和编码模式时，请考虑您希望在输出中为该语言使用的编码模式。对于每种语言，如果源内容的编码模式与输出的编码模式相匹配，则总是最简单的，因为这样您就不必为了转换编码模式而重新混合音频。 MediaLive支持混音，但混音是一项高级功能，需要对音频有很好的理解。

例如，在输出中，您可能希望一种语言处于编码模式 5.1。您可能希望其他语言在编码模式 2.0 中可用。

因此，您可以选择提取以下内容：
+ 西班牙语：Dolby Digital 5.1
+ 法语和英语：AAC 2.0。

# 评测字幕
<a name="assess-uss-captions"></a>

如果您计划在输出组中包含字幕，则必须确定是否 MediaLive 可以使用源文件中的字幕格式来生成您想要在输出中使用的字幕格式。

获取有关字幕源的以下信息。


****  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/medialive/latest/ug/assess-uss-captions.html)

**评测字幕要求**

针对[您为工作流确定的每个输出组](identify-downstream-system.md)，按照以下步骤操作。

1. 转至[中支持的字幕 MediaLive](supported-captions.md)，并找到输出组的相应部分。例如，找到[HLS 或输出中支持的字幕格式 MediaPackage](supported-formats-hls-output.md)。在该部分的表格中，从第一列向下阅读，找到内容提供商提供的格式（容器）。

1. 通读*源字幕输入*列，找到该源格式 MediaLive 支持的字幕格式。

1. 然后通读 “*支持的输出字幕*” 列，找到 MediaLive 可以将源格式转换为的字幕格式。

   最后，您会收到这样的语句：“如果您想生成 HLS 输出并且您的源内容是 RTMP，您可以将嵌入式字幕转换为刻录式、嵌入式或 WebVTT”。

1. 确认内容提供商提供的源内容与表格中*支持的字幕输入*列中的一种格式相匹配。例如，确认源内容包含嵌入式字幕。

1. 查找下游系统支持的字幕格式的列表。此列表在您[确定所识别的输出组的编码要求](identify-dss-video-audio.md)时获得。确认表格中*支持的输出字幕*列中至少显示了其中一种输出格式。

   如果源内容中没有匹配项，或者输出中没有匹配项，则您无法在输出中包含字幕。

例如，假设您需要生成一个 HLS 输出组。假设您的内容提供商可以为您提供带嵌入式字幕的 RTP 格式内容。假设下游系统要求对于 HLS 输出，输出必须包含 WebVTT 字幕。

按照上述步骤，您阅读了 HLS 输出的表格。在表格的容器列中，您可以找到 RTP 格式的行。您通读了来源列，并确定嵌入式字幕是一种受支持的源格式。然后，您通读输出列，发现嵌入式字幕可以转换为刻录式、嵌入式或 WebVTT 字幕。WebVTT 字幕是下游系统所需的格式。因此，您得出结论：您可以在 HLS 输出中包含字幕。

# 收集有关源内容的信息。
<a name="planning-content-extract"></a>

在评测源内容并在该内容中确定合适的视频、音频和字幕资源后，您必须获取有关这些资产的信息。对于每种源，您需要的信息都不同。

您不需要这些信息即可在[中创建输入](medialive-inputs.md) MediaLive。但是，当您将[输入附加到中的频道时，](creating-a-channel-step2.md)您将需要这些信息 MediaLive。

**此步骤的结果**  
执行完此步骤中的程序后，您应该有类似于此示例的源内容信息。


**示例**  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/medialive/latest/ug/planning-content-extract.html)

**Topics**
+ [标识 CDI 源中的内容](extract-contents-cdi.md)
+ [识别 AWS Elemental Link 来源中的内容](extract-contents-link.md)
+ [标识 HLS 源中的内容](extract-contents-hls.md)
+ [识别 MediaConnect 来源中的内容](extract-content-emx.md)
+ [识别 MP4 来源中的内容](extract-contents-mp4.md)
+ [标识 RTMP 源中的内容](extract-contents-rtmp.md)
+ [标识 RTP 源中的内容](extract-contents-rtp.md)
+ [识别 SMPTE 2110 来源中的内容](extract-contents-s2110.md)
+ [识别 SRT 来源中的内容](extract-contents-srt.md)

# 标识 CDI 源中的内容
<a name="extract-contents-cdi"></a>

CDI 源中的内容始终包含未压缩的视频、未压缩的音频和字幕。

从内容提供商处获取识别信息。


****  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/medialive/latest/ug/extract-contents-cdi.html)

# 识别 AWS Elemental Link 来源中的内容
<a name="extract-contents-link"></a>

 AWS Elemental Link 源中的内容始终是传输流 (TS)，其中包含一个视频资源、一个音频对和可选字幕。

从内容提供商处获取识别信息。


****  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/medialive/latest/ug/extract-contents-link.html)

此外，获取有关内容的以下信息：
+ 最大比特率。在 MediaLive 中设置设备时，您可以选择限制此比特率。有关更多信息，请参阅 [设置 AWS Elemental Link](setup-devices.md)。
+ 内容是否包含嵌入式时间码。如果是这样，您可以选择使用该时间码。有关更多信息，请参阅[时间码配置](https://docs.aws.amazon.com/medialive/latest/ug/timecode.html)[使用时间码和时间戳](timecode.md)。
+ 内容是否包含广告优惠消息（ MediaLive 将自动转换为 SCTE-35 消息的 SCTE-104 消息）。有关广告效用消息的更多信息，请参阅[处理 SCTE 35 消息](scte-35-message-processing.md)。

# 标识 HLS 源中的内容
<a name="extract-contents-hls"></a>

HLS 容器中的内容始终是仅包含一个视频渲染（节目）的传输流（TS）。

从内容提供商处获取识别信息。


****  

|  资产  |  Details  | 要获取的信息 | 
| --- | --- | --- | 
| 视频 | 您不需要识别信息。 MediaLive 始终提取单个视频资源。 |  | 
| 音频 | 源可能包含多个音频 PIDs。 | 获取所需语言的语言代码 PIDs 或三个字符的语言代码。我们建议您获取音频资产的。 PIDs 它们是用于识别音频资源的更可靠方法。 | 
| 字幕 | 嵌入 | 获取频道号中的语言。例如，“第 1 频道是法语” | 

# 识别 MediaConnect 来源中的内容
<a name="extract-content-emx"></a>

 AWS Elemental MediaConnect 源中的内容始终是传输流 (TS)。TS 由一个节目（SPTS）或多个节目（MPTS）组成。每个节目都包含视频、音频和可选字幕的组合。

从内容提供商处获取识别信息。


****  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/medialive/latest/ug/extract-content-emx.html)

# 识别 MP4 来源中的内容
<a name="extract-contents-mp4"></a>

 MP4 来源中的内容始终由一个视频轨道、一个或多个音轨以及可选字幕组成。

从内容提供商处获取识别信息。


****  

|  资产  |  Details  | 要获取的信息 | 
| --- | --- | --- | 
| 视频 | 您不需要识别信息。 MediaLive 始终提取单个视频资源。 | 无 | 
| 音频 | 源可能包含多个音轨，通常每种语言对应一个音轨。 | 获取所需语言的曲目编号或三个字符的语言代码。 | 
| 字幕 | 嵌入字幕可能嵌入在视频轨道中，也可能嵌入在辅助轨道中。 | 获取频道号中的语言。例如，“通道 1 为法语”。 | 

# 标识 RTMP 源中的内容
<a name="extract-contents-rtmp"></a>

此程序适用于来自互联网的 RTMP 推送和拉取输入，也适用于来自 Amazon Virtual Private Cloud 的 RTMP 输入。RTMP 输入中的内容始终由一个视频、一个音频和可选字幕组成。

从内容提供商处获取识别信息。


****  

|  资产  |  Details  | 要获取的信息 | 
| --- | --- | --- | 
| 视频 | 您不需要识别信息。 MediaLive 始终提取单个视频资源。 | 无 | 
| 音频 | 您不需要识别信息。 MediaLive 始终提取单个音频资源 | 获取曲目的编号和语言。例如，“轨道 1 为法语”。 | 
| 字幕 | 嵌入字幕可能嵌入在视频轨道中，也可能嵌入在辅助轨道中。 | 获取频道号中的语言。例如，“通道 1 为法语”。 | 

# 标识 RTP 源中的内容
<a name="extract-contents-rtp"></a>

此程序适用于来自互联网的 RTP 输入，也适用于来自 Amazon Virtual Private Cloud 的输入。RTP 输入中的内容始终是传输流（TS）。TS 由一个节目（SPTS）或多个节目（MPTS）组成。每个节目都包含视频组合、音频组合和可选字幕。

从内容提供商处获取识别信息。


****  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/medialive/latest/ug/extract-contents-rtp.html)

# 识别 SMPTE 2110 来源中的内容
<a name="extract-contents-s2110"></a>

SMPTE 2110 源中的内容始终是一组流，由一个视频素材、零个或多个音频素材以及零个或多个字幕（辅助数据）资产组成。每种资源都有自己的数据流。

从内容提供商处获取识别信息。


****  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/medialive/latest/ug/extract-contents-s2110.html)

# 识别 SRT 来源中的内容
<a name="extract-contents-srt"></a>

SRT 输入中的内容始终是传输流 (TS)。TS 由一个节目（SPTS）或多个节目（MPTS）组成。每个节目都包含视频组合、音频组合和可选字幕。

从内容提供商处获取识别信息。


****  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/medialive/latest/ug/extract-contents-srt.html)

# 与下游系统协调
<a name="setting-up-downstream-system"></a>

作为准备工作流程中的下游和上游系统的最后一步，您必须与下游系统的操作员交谈并协调信息。

的*输出* MediaLive 被视为下游系统的*输入*。

每种类型的输出组和下游系统的设置都不同。有关更多信息，请参阅[设置：创建输出组和输出](medialive-outputs.md)，并转至有关要创建的输出组类型的部分。阅读有关与下游系统协调的信息。

# 规划频道中的输出
<a name="planning-the-channel-in-workflow"></a>

*您应该将 AWS Elemental MediaLive 频道作为规划转码工作流程的第二阶段。*您应该已经执行上游和下游系统设置的第一阶段，如[在工作流中准备上游和下游系统](container-planning-uss-dss.md)中所述。

通道能够针对输出的不同特性进行配置，并包括各种视频功能。但是，在规划这些细节之前，您应该规划该通道的基本功能。

**注意**  
在输出端，我们将每个视频或音频或字幕流、轨道或程序称为*编码*。

**Topics**
+ [确定输出编码](planning-encodes.md)
+ [将输出编码映射到源](channel-map-output-source.md)
+ [设计编码](designing-encodes.md)

# 确定输出编码
<a name="planning-encodes"></a>

在准备下游系统时，您[确定了所需的输出组](identify-downstream-system.md)。现在，在通道规划过程中，您必须确定在您决定创建的每个输出组中要包含的编码。*编码*是指输出中的音频、视频或字幕流。

**Topics**
+ [确定视频编码](channel-planning-video-encodes.md)
+ [确定音频编码](channel-planning-audio-encodes.md)
+ [确定字幕编码](channel-planning-captions-encodes.md)
+ [输出组的编码规则摘要](encode-rules.md)
+ [输出编码计划示例](plan-encodes-example.md)

# 确定视频编码
<a name="channel-planning-video-encodes"></a>

您必须确定视频编码及其编解码器的数量。对于每个输出，请按照以下程序操作。

1. 确定输出组中允许的最大编码数。以下规则适用于每种类型的输出组。  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/medialive/latest/ug/channel-planning-video-encodes.html)

1. 如果输出组允许多个视频编码，则确定所需的数量。请记住，您可以从 MediaLive 采集的单个视频源创建多个输出编码。

1. 为视频编码确定一个或多个编解码器。
   + 对于大多数类型的输出组，下游系统规定了每个视频编码的编解码器，因此您在[确定输出编码](#channel-planning-video-encodes)时就获得了此信息。
   + 对于存档输出组，您可以决定哪种编解码器适合您的用途。

1. 确定每个视频编码的分辨率和比特率。在[确定输出编码](#channel-planning-video-encodes)时，您可能已经从下游系统获得了要求或建议。

1. 确定每个视频编码的帧速率。如果您使用多个视频编码，则可以选择几倍于所用最低帧速率的输出帧速率来确保兼容性。

   示例：
   + 每秒 29.97 和 59.94 帧是兼容的帧速率。
   + 每秒 15、30 和 60 帧是兼容的帧速率。
   + 每秒 29.97 和 30 帧*不是*兼容的帧速率。
   + 每秒 30 和 59.94 帧*不是*兼容的帧速率。

    

# 确定音频编码
<a name="channel-planning-audio-encodes"></a>

您必须决定音频编码的数量。对于每个输出，请按照以下程序操作。

1. 确定输出组中允许的最大编码数。以下规则适用于每种类型的输出组。  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/medialive/latest/ug/channel-planning-audio-encodes.html)

1. 如果输出组允许多个音频编码，则确定所需的数量。以下准则适用：
   + 输出编解码器、编码模式和语言的每种不同组合都是一个编码。

     MediaLive 只有当源包含该编码模式或更高模式时，才能生成特定的编码模式。例如， MediaLive 可以从 1.0 或 2.0 源创建 1.0。它无法从 2.0 源创建 5.1。
   + MediaLive 只有当源文件包含特定语言时，才能生成该语言。
   + MediaLive 可以为给定语言生成多个编码。

     例如，您可以选择在 Dolby 5.1 和 AAC 2.0 中包含西班牙语。
   + 不要求所有语言的编码数量都相同。例如，您可以为西班牙语创建两个编码，而为其他语言仅创建一个编码。

1. 确定每个音频编码的比特率。在[确定输出编码](#channel-planning-audio-encodes)时，您可能已经从下游系统获得了要求或建议。

# 确定字幕编码
<a name="channel-planning-captions-encodes"></a>

您必须决定字幕编码的数量。对于每个输出，请按照以下程序操作。

1. 确定输出组中允许的最大字幕编码数。以下规则适用于每种类型的输出组。  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/medialive/latest/ug/channel-planning-captions-encodes.html)

1. 确定每种字幕格式所属的类别。列表见[字幕类别](categories-captions.md)。例如，WebVTT 字幕是 Sidecar 字幕。

1. 使用此类别来确定输出组中所需字幕编码的数量。
   + 对于嵌入式字幕，您始终创建一个字幕编码。
   + 对于对象样式字幕和 Sidecar 字幕，您可以为您要包含的每种格式和语言创建一个字幕编码。

# 输出组的编码规则摘要
<a name="encode-rules"></a>

 此表汇总了每个输出组的编码规则。在第一列中，找到所需的输出组，然后横向读取。


****  

| 输出组的类型 | 视频编码规则 | 音频编码规则 | 字幕编码规则 | 
| --- | --- | --- | --- | 
| 档案 | 一个或多个视频编码。 | 零个或多个音频编码。 | 零个或多个字幕编码。字幕是嵌入式字幕，或对象样式的字幕。 | 
| CMAF 摄取 | 一个或多个视频编码。通常，视频编码有多个。 | 零个或多个音频编码。通常，音频编码有多个。 | 零个或多个字幕编码。通常，有与音频语言相匹配的字幕语言。字幕是嵌入式字幕或边车字幕。 | 
| 帧捕获 | 一个视频编码。 | 零个音频编码。 | 零字幕编码。 | 
| HLS 或 MediaPackage | 一个或多个视频编码。通常，视频编码有多个。 | 零个或多个音频编码。通常，音频编码有多个。 | 零个或多个字幕编码。通常，有与音频语言相匹配的字幕语言。字幕可以是嵌入式字幕，也可以是 Sidecar 字幕。 | 
| Microsoft Smooth | 一个或多个视频编码。通常，视频编码有多个。 | 零个或多个音频编码。通常，音频编码有多个。 | 零个或多个字幕编码。通常，有与音频语言相匹配的字幕语言。字幕始终是 Sidecar 字幕。 | 
| RTMP |  一个视频编码。  | 零个或一个音频编码。 | 零个或一个字幕编码。字幕是嵌入式字幕，或对象样式的字幕。 | 
| SRT 调用方 |  一个或多个视频编码。  | 一个或多个音频编码。 | 零个或多个字幕编码。字幕是嵌入式字幕，或对象样式的字幕。 | 
| UDP |  一个或多个视频编码。  | 一个或多个音频编码。 | 零个或多个字幕编码。字幕是嵌入式字幕，或对象样式的字幕。 | 

某些输出组还支持纯音频输出。请参阅[设置输出](audio-only-outputs-and-outputgroups.md)。

某些输出组还支持包含 JPEG 文件的输出，以支持符合 Roku 规范的特技播放。请参阅[符合映像媒体播放列表规范的 trick-play 轨道](trick-play-roku.md)。

# 输出编码计划示例
<a name="plan-encodes-example"></a>

执行完此程序后，您应该有类似于此示例的信息。


**示例**  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/medialive/latest/ug/plan-encodes-example.html)

# 将输出编码映射到源
<a name="channel-map-output-source"></a>

在规划通道的第一步中，您已确定了在每个输出组中需要的编码数量。现在，您必须确定可以使用源中的哪些资产来生成这些编码。

**该过程的结果**  
执行此程序后，您将能够确定您将在通道中创建的以下关键组件：
+ 视频输入选择器 
+ 音频输入选择器
+ 字幕输入选择器

确定这些组件是规划通道*输入*端的最后一步。

**将输出映射到源**

1. 获取您要生成的*输出编码列表*。您已在[上一步](planning-encodes.md)中创建了此列表。将此列表整理成表格很有用。例如：  
**示例**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/medialive/latest/ug/channel-map-output-source.html)

1. 获取您在评测源内容和收集的标识符时创建的*源列表*。有关此类列表的示例，请参阅[评测上游系统](evaluate-upstream-system.md)。

1. 在输出编码表中，再添加两列，分别标记为*源*和*源中的标识符*。

1. 对于每个编码（第 2 列），在可以生成该编码的*源列表*中找到一行。添加源编解码器和该源编解码器的标识符。此示例显示的是一个已完成的表。  
**示例**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/medialive/latest/ug/channel-map-output-source.html)

   创建通道时，您将使用以下信息：
   + [创建输入选择器](input-video-selector.md)时，您将使用源和源标识符信息。
   + 在输出组中[创建编码](creating-a-channel-step6.md)时，您将使用特征信息。

1. 确定源资产后，对那些多次使用的资产进行分组，以移除重复项。

1. 按类型标记每项资产 – 视频、音频或字幕。  
**示例**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/medialive/latest/ug/channel-map-output-source.html)

## 映射示例
<a name="channel-map-example"></a>

下面的示意图说明了输出编码如何映射回源资产。第一个示意图显示了输出（顶部）和源（底部）。其他三个示意图显示了相同的输出和源，并分别映射了视频、音频和字幕。

**编码和资产**

![\[Diagram showing HLS, RTMP, and Archive sections with various video, audio, and caption sources.\]](http://docs.aws.amazon.com/zh_cn/medialive/latest/ug/images/channel-design-map-in-out.png)


**将视频编码映射到资产**

![\[Diagram showing video, audio, and caption sources mapped to HLS, RTMP, and Archive outputs.\]](http://docs.aws.amazon.com/zh_cn/medialive/latest/ug/images/channel-design-map-in-out-V.png)


**将音频编码映射到资产**

![\[Diagram showing audio and video sources mapped to HLS, RTMP, and Archive outputs.\]](http://docs.aws.amazon.com/zh_cn/medialive/latest/ug/images/channel-design-map-in-out-A.png)


**将字幕编码映射到资产**

![\[Diagram showing video, audio, and caption sources mapped to HLS, RTMP, and Archive outputs.\]](http://docs.aws.amazon.com/zh_cn/medialive/latest/ug/images/channel-design-map-in-out-C.png)


# 设计编码
<a name="designing-encodes"></a>

在通道规划的第一步中，您[已确定了](planning-encodes.md)要包含在每个输出组中的视频、音频和字幕编码。在第二步中，您已将这些编码组织到每个输出组中的输出中。

现在，在第三步中，您必须为每个编码规划配置参数。在此规划中，您可以确定在通道中同一输出组的输出之间以及在通道中不同输出组的输出之间共享编码的机会。

**该过程的结果**  
执行此程序后，您将得到一个要创建的视频、音频和字幕编码列表。

**Topics**
+ [规划编码](plan-encodes.md)
+ [确定编码共享机会](plan-encode-sharing.md)

# 规划编码
<a name="plan-encodes"></a>

在[将输出编码映射到源](channel-map-output-source.md)中，您已经为您想在每个输出组中创建的编码制定了计划。以下是来自该步骤的计划示例，显示了输出和编码以及这些编码的源。

在某些情况下，您必须填写该表第二列和第三列中所标识的编码的详细信息。您可以选择：
+ 您可以现在就决定这些详细信息。
+ 您可以以后在实际创建通道时决定详细信息。如果您决定这样做，我们建议您仍然阅读表后的程序，以了解定义编码所涉及的内容。


**示例**  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/medialive/latest/ug/plan-encodes.html)

**设计每个视频编码的详细信息**

对于表中的每个视频编码，您已经确定了源资产、编解码器、分辨率和比特率。现在，您必须确定需要设置的所有其他编码参数。

请对每个独立视频编码执行以下程序。

1. 查看每个输出的视频编码部分中的字段。要查看这些字段，请执行以下步骤。不用担心没有完成所有部分。您只需要显示视频编码字段，然后取消通道。
   + 在 MediaLive 主页上，选择 “**创建频道**”，然后在导航窗格中选择 “**频道**”。

     如果您之前已创建通道，则将不会看到该主页。在这种情况下，请在 MediaLive 导航窗格中选择 “**频道**”，然后选择 “**创建频道**”。
   + 在 **Create channel (创建通道)** 页面上的 **Output groups (输出组)** 下，选择 **Add (添加)**。

     不用担心您还没有完成通道中前面的任何部分。您只需要显示视频编码的所有字段。
   + 在**添加输出组**部分中，选择 **HLS**，然后选择**确认**。
   + 在输出组下，选择**输出 1**。
   + 在**输出**部分中，转到**流设置**部分，然后选择**视频**链接。
   + 在**编解码器设置**字段中，选择您要用于此视频编码的编解码器。此时将显示更多字段。选择所有部分的字段标签以显示所有字段。

1. 在每个部分中，确定是否需要更改默认值。
   + 许多字段都有默认值，这意味着您可以使字段值保持不变。有关某个字段及其默认值的详细信息，请选择该字段旁边的**信息**链接。
   + 对于某些字段，您可能需要根据下游系统的指示进行设置，以符合下游系统的预期。
   + 在某些字段中，输入的值会影响该通道的输出费用。这些是：
     + **宽度**和**高度**字段（用于定义视频分辨率）。
     + **帧率**字段。
     + **速率控制**字段。

     有关费用的信息，请参阅[ MediaLive 价目表](https://aws.amazon.com/medialive/pricing/)。
   + 您可以在以下各部分中阅读有关某些字段的信息：
     + 有关 **Color space (颜色空间)** 字段的信息，请参阅[处理复杂的颜色空间转换](color-space.md)。
     + 有关其他编码设置字段的信息，请参阅[设置增强型 VQ 模式](video-enhancedvq.md)
     + 有关**速率控制**字段的信息，请参阅[设置速率控制模式](video-encode-ratecontrol.md)。本部分中有一些字段会影响该通道的输出费用。有关费用的更多信息，请参阅[ MediaLive 价目表](https://aws.amazon.com/medialive/pricing/)。
     + 有关 **Timecode (时间码)** 字段的信息，请参阅[使用时间码和时间戳](timecode.md)。

1. 详细记录您计划更改的所有字段的值。对您确定的每个视频编码执行此操作。

**设计每个音频编码的详细信息**

对于表中的每个音频编码，您已经确定了源资产、编解码器和比特率。现在，您必须确定需要设置的所有其他编码参数。

请对每个独立音频编码执行以下程序。

1. 查看每个输出的音频编码部分中的字段。要查看这些字段，请按照与视频编码相同的步骤进行操作，但请选择**音频 1** 链接。

   对于音频编码，每个代码的字段并不多。但编解码器的字段却大相径庭。

1. 研究这些字段并做好笔记。

**设计每个字幕编码的详细信息**

对于表中的每个字幕编码，您已经确定了源字幕、格式和语言。现在，您必须确定需要设置的所有其他编码参数。

请对每个独立字幕编码执行以下程序。

1. 查看每个输出的字幕编码部分中的字段。要查看这些字段，请按照与视频编码相同的步骤进行操作，但请选择“添加字幕”来添加字幕部分，因为默认情况下没有字幕部分。

   对于字幕编码，每种字幕格式的字段并不多。但格式的字段却大相径庭。

1. 研究这些字段并做好笔记。

# 确定编码共享机会
<a name="plan-encode-sharing"></a>

如果您已经确定了所有输出编码的详细信息，那么现在可以确定编码共享机会。

如果您计划以后确定详细信息，我们建议您返回本部分以确定机会。

在[在输出之间共享编码](feature-share-encode.md)中阅读有关编码共享和编码克隆的信息。

在通道中创建编码时，您将使用编码共享和编码克隆，从[设置视频编码](creating-a-channel-step6.md)开始。
+ 获得完整的列表后，比较编码的值：
  + 如果您有两个（或更多）具有相同值的编码，则可以共享编码。创建通道时，可以在一个输出中创建一次此编码。然后，您可以在其他输出中重复使用该编码。创建编码的程序提供了如何重复使用的详细说明。

    请记住，只有当两个编码器的所有字段（包括共享相同的视频源）都相同时，它们才是相同的。例如，在本节前面的示例表中，HLS 的第一个视频编码和 RTMP 的视频编码共享同一个视频源。
  + 如果有两个（或更多）具有几乎相同的值的编码，则可以克隆一个编码以创建第二个编码，然后更改第二个编码中的特定字段。创建编码的程序提供了如何克隆的详细说明。

  然后，以与视频编码相同的方式确定共享机会。请记住，只有当两个编码器的所有字段（包括共享相同的音频源）都相同时，它们才是相同的。

  记录每个视频编码所属的输出和输出组，仔细确定要共享的视频编码。

然后，以与视频编码相同的方式确定共享机会。请记住，只有当两个编码器的所有字段（包括共享相同的字幕源）都相同时，它们才是相同的。

**示例**

根据本节前面关于通道规划的步骤中的示例，您可以决定是否让这些机会显示在本表的最后两列中。


****  

| 编码昵称 |  编码的特征  | 来源 | 机会 | Action | 
| --- | --- | --- | --- | --- | 
| VideoA |  AVC 1920x1080，5 Mbps  | HEVC  |  | 从头开始创建此编码。 | 
| VideoB |  AVC 1280x720，3 Mbps  | HEVC  | Clone | 克隆 VideoA 并更改比特率。可能还要更改其他字段。 | 
| VideoC | AVC 320x240，750 Kbps | HEVC  | Clone | 克隆 VideoA 并更改比特率，可能还要更改其他字段。 | 
| AudioA | AAC 2.0，英语，192000 bps | AAC 2.0 |  | 从头开始创建此编码。 | 
| AudioB | AAC 2.0，法语，192000 bps | AAC 2.0  | Clone | 克隆 AudioA 并将音频选择器（对源的引用）更改为法语的选择器。可能还要更改其他字段。 | 
| CaptionsA |  从嵌入式内容转换而来的 WebVTT（对象样式），英语  | 嵌入 |  | 从头开始创建此编码。 | 
| CaptionsB | 从嵌入式内容转换而来的 WebVTT（对象样式），法语 | 嵌入 | Clone | 克隆 CaptionsC 并将字幕选择器（对源的引用）更改为法语的选择器。可能还要更改其他字段。 | 
| VideoD | AVC 1920x1080，5Mbps  | HEVC  | 共享 | 共享 VideoA | 
| AudioC | Dolby Digital 5.1，西班牙语 | Dolby Digital 5.1  |  | 从头开始创建此编码。 | 
| CaptionsC | 西班牙语版 RTMP CaptionInfo （从嵌入式转换而来） | 嵌入 | Clone | 克隆 CaptionsA 并将字幕选择器（对源的引用）更改为西班牙语的选择器。可能还要更改其他字段。 | 
| VideoE | AVC，1920x1080，5 Mbps | HEVC  | 共享 | 共享 VideoA | 
| AudioD | Dolby Digital 2.0，西班牙语  | AAC 2.0 |  | 从头开始创建此编码。虽然其源与 Aa 相同，但输出编解码器不同，这意味着其所有配置字段都不同。因此，克隆不会带来任何好处。 | 
| AudioE | Dolby Digital 2.0，法语 | AAC 2.0  | Clone | 克隆 AudioD 并将音频选择器（对源的引用）更改为法语的选择器。可能还要更改其他字段。不要克隆 AuduioB，因为 AudioB 和 AudioA 的输出编解码器不同。因此，克隆不会带来任何好处。 | 
| AudioF | Dolby Digital 2.0，英语 | AAC 2.0 | Clone | 克隆 AuduioD 并将音频选择器（对源的引用）更改为英语的选择器。可能还要更改其他字段。不要克隆 AudioB，因为 AudioB 和 AudioF 的输出编解码器不同。因此，克隆不会带来任何好处。 | 
| CaptionsD | 从图文转换而来的 DVB-Sub（对象样式），6 种语言。 | 图文 |  | 从头开始创建此编码。 | 