

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

# 创建 SRT 输出组
<a name="opg-srt"></a>

在创建 AWS Elemental MediaLive 频道时，您可能需要包含一个 SRT 输出组。有关 SRT 输出组用例的信息，请参见[容器、协议和下游系统](outputs-supported-containers-downstream-systems.md)。

使用 SRT 输出组，您可以创建一个或多个输出。每个输出都是一个 SPTS，有自己的目的地。

SRT 输出支持两种连接模式：
+ **呼叫者模式**： MediaLive 启动与下游系统的连接。 MediaLive 是来电者和发件人。下游系统是监听器和接收器。 MediaLive 启动与下游系统的握手，并在接受握手后， MediaLive 将内容发送到下游系统。
+ **监听器模式**：下游系统启动与的连接 MediaLive。 MediaLive 是监听者和发送者。下游系统是呼叫者和接收者。下游系统启动握手 MediaLive，在握手被接受后， MediaLive 将内容发送到下游系统。

输出内容必须经过加密，因此 AWS Secrets Manager 必须使用存储用于加密内容 MediaLive 的密码。

本节包括将 SRT 输出发送到 AWS Elemental MediaConnect 流程时的具体指导原则。

**Topics**
+ [选择 SRT 连接模式](srt-connection-mode-selection.md)
+ [在 SRT 输出组中整理编码](design-srt-package.md)
+ [计划使用 Amazon VPC 进行配送](srt-get-ready.md)
+ [在中设置密码 AWS Secrets Manager](srt-output-encryption-asm.md)
+ [在呼叫者模式下创建 SRT 输出](creating-srt-caller-output.md)
+ [在监听器模式下创建 SRT 输出](creating-srt-listener-output.md)
+ [输出 > 直播设置](srt-streams.md)

# 选择 SRT 连接模式
<a name="srt-connection-mode-selection"></a>

创建 SRT 输出组时，必须为每个输出选择连接模式。连接模式决定如何 MediaLive 以及下游系统建立 SRT 连接。

下表比较了两种连接模式：


| 特征 | 来电者模式 | 监听器模式 | 
| --- | --- | --- | 
| 连接启动 | MediaLive 启动与下游系统的连接 | 下游系统启动与的连接 MediaLive | 
| MediaLive 角色 | 来电者和发件人 | 监听器和发送者 | 
| 下游角色 | 听众和接收者 | 来电者和接收者 | 
| 目标配置 | 您可以指定下游系统的 IP 地址和端口 | MediaLive 分配 IP 地址；由您指定端口 | 
| 频道安全组 | 非必需 | 对于使用公共传送方式（控制下游系统可以连接哪些下游系统）的频道是必需的。VPC 交付或 MediaLive Anywhere 频道不需要；客户必须配置其网络以允许来自呼叫者目标的 SRT 连接。 | 
| 使用案例 | 推送式交付，可 MediaLive 连接到已知的下游端点 | 拉式交付，下游系统按需 MediaLive 连接 | 
| MediaLive 随时随地支持 | 支持 | 支持 | 

**注意**  
您不能在单个输出中混合使用连接模式。每个输出都必须使用调用者模式或监听器模式指向其所有目的地。

# 在 SRT 输出组中整理编码
<a name="design-srt-package"></a>

SRT 输出组可以包含以下内容：
+ 一个或多个输出。

每个输出都包含以下内容：
+ 一个视频编码。
+ 一个或多个音频编码。
+ 零个或多个字幕编码。字幕是嵌入式字幕，或对象样式的字幕。

每个输出代表一个 SPTS。每个输出 (SPTS) 都有自己的目的地。

下图说明了具有一个输出的 SRT 输出组。字幕嵌入在视频编码中。

![\[alt text not found\]](http://docs.aws.amazon.com/zh_cn/medialive/latest/ug/images/output3-nonABR-Ve-2A.png)


下图说明了具有一个输出的 SRT 输出组。字幕是对象式的字幕。

![\[alt text not found\]](http://docs.aws.amazon.com/zh_cn/medialive/latest/ug/images/output4-nonABR-V-2A-2C.png)


# 计划使用 Amazon VPC 进行配送
<a name="srt-get-ready"></a>

您可以为 SRT 输出设置 MediaLive 通道，使其[在亚马逊虚拟私有云（亚马逊 VPC）中包含输出终端节点](delivery-out-vpc.md)。以下是在 Secrets Manager 中设置密钥以及将输出传送到 MediaConnect （如果 MediaConnect 是目的地）的一些准则。

## Secrets Manager 的注意事项
<a name="srt-get-ready-asm"></a>

SRT 输出始终是加密的，因此 AWS Secrets Manager 始终涉及其中。您将在其中创建通道的 VPC 子网有一些具体要求：
+ 该频道的子网必须有 Secrets Manager 端点。
+ 通道和 Secrets Manager 端点的子网必须使用相同的安全组，这意味着必须将相同的安全组与子网和终端节点相关联。

## 的注意事项 MediaConnect
<a name="srt-get-ready-emx"></a>

您可能正在向也使用 VPC 的配送地址。 MediaConnect 这意味着来自该 MediaLive 通道的 SRT 输出出口位于您的 VPC 上，并且该 MediaConnect 流量具有 VPC 接口。
+ 您的 VPC 管理员必须确保 MediaLive 和之间有适当的路由 MediaConnect。

# 在中设置密码 AWS Secrets Manager
<a name="srt-output-encryption-asm"></a>

必须对 SRT 输出进行强制加密。按照以下步骤进行操作：

1. 您和下游系统的操作员应该已经就加密密码达成了共识。

1. 将密码交给组织中与之共事的人。 AWS Secrets Manager该人必须将密码存储在 Secrets Manager 中的一个密钥中。有关更多信息，请参阅[创建 AWS Secrets Manager 密钥](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html)。创建 “**其他类型的密钥” 类型的密钥**。

   Secrets Manager 会生成一个如下所示的 ARN：

   `arn:aws:secretsmanager:region:123456789012:secret:Sample-abcdef`
**重要**  
将 SRT 密码作为纯文本存储在 Secrets Manager 中（例如，）。`secretpassword123`创建密钥时请勿使用 key/value 选项或 JSON 格式，因为这可能会导致与其他服务的互操作性问题。仅将密码存储为纯文本。  
确保您的密码长度介于 10 到 79 个字符之间。

1. 请务必获取密钥的完整 ARN，以用于 SRT 输出的加密密码 Secret ARN。

# 在呼叫者模式下创建 SRT 输出
<a name="creating-srt-caller-output"></a>

本节介绍如何在呼叫者模式下创建 SRT 输出，在该模式下 MediaLive 启动与下游系统的连接。

**Topics**
+ [与下游系统协调](downstream-system-srt-caller.md)
+ [在呼叫者模式下创建 SRT 输出](creating-srt-caller-output-group.md)
+ [向下游系统提供信息](srt-caller-info-to-downstream.md)

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

使用 SRT 输出组，您可以创建多个输出，以便将相同的内容传送到多个下游系统。

您和每个下游系统的操作员必须讨论有关输出交付的细节。在来电者模式下， MediaLive 是来电者和发件人。下游系统是监听器和接收器。

1. 决定是否需要两个输出目标：
   + 如果 MediaLive 频道是[标准频道](plan-redundancy.md)，则需要两个目的地。
   + 如果 MediaLive 信道是单管道信道，则需要一个目的地。

1. 获取每个目的地的 IP 地址和端口。例如，`srt://203.0.113.22:5000` 和 `srt://203.0.113.88:5001`。

   请注意，如果您要配送至 MediaConnect，则只有在 MediaConnect 操作员创建流程后才能获取地址。请参阅此过程的最后一步。

1. MediaLive 始终对内容进行加密，因此您必须就以下加密细节达成共识：
   + 加密算法：AES 128、AES 192 或 AES 256。
   + 该密码 MediaLive 和下游系统将用于创建加密和解密密钥。密码可以是 10 到 79 个 Unicode 字符，这意味着允许使用空格。

1. 与下游系统的操作员讨论以下问题：
   + 告知下游系统您计划为丢包和恢复配置的延迟（以毫秒 MediaLive 为单位）。数据包恢复是 SRT 的一项关键功能。下游目标应选择一个接近您计划使用的值的延迟值。

     您将在每个输出中配置延迟，因此每个下游系统可以有不同的延迟。
   + MediaLive 无需直播 ID 即可运行。但是，如果您想包含一个，或者下游系统想要使用一个，请商定 ID。最多 512 个 UTF-8 字符。

1. 如果您要向 MediaConnect 流程配送，请 MediaConnect 操作员立即创建流程。

   请操作员向您提供该流量的 “入站 IP 地址” 字段中的一两个地址。这些地址是 SRT 输出的目的地。例如，`srt://203.0.113.22:5000` 和 `srt://203.0.113.88:5001`。

# 在呼叫者模式下创建 SRT 输出
<a name="creating-srt-caller-output-group"></a>

在设计了输出内容并与下游系统协调了输出的交付之后，可以在调用者模式下创建 SRT 输出。

1. 在 **Create channel (创建通道)** 页面上的 **Output groups (输出组)** 下，选择 **Add (添加)**。

1. 在 “**添加输出组**” 部分，选择 **SRT**，然后选择 “**确认**”。此时将显示更多部分。

   此输出组的表单分为以下几个部分：
   + **SRT 设置**：适用于输出组级别而不是单个输出的功能。
   + **SRT 输出**：输出组中的输出。
   + **输出 > 目标**：每个输出的 URL 和加密字段。
   + **输出 > 输出设置**：网络和传输流设置，以及单独配置 PIDs。
   + **输出 > 直播设置**：配置每个输出中的视频、音频和字幕。

   有关每个部分的信息，请参阅此过程后面列出的主题。

1.  在设置完该输出组及其输出后，如果您的计划需要，您可以创建另一个（任意类型的）输出组。否则，请转至 [保存通道](creating-a-channel-step9.md)

## SRT 设置
<a name="srt-caller-srt-settings"></a>

在 **SRT 设置**部分，填写以下字段：
+ **名称**：输入输出组的名称。此名称是内部名称 MediaLive；它不会出现在输出中。例如 **Sports Game**。
+ **输入损失操作**：选择一个值。有关详细信息，请选择 “**信息**” 链接。有关通道中所有输出组的输入损耗处理的详细信息，请参阅[处理视频输入损耗](feature-input-loss.md)。

## SRT 输出
<a name="srt-caller-srt-outputs"></a>

S **RT 输出**部分显示了默认添加的单个输出。如果要将内容发送到更多目的地，请选择 “**添加输出**”。

在每个输出中，选择 “**设置”** 链接以显示三个小节：
+ 目的地。请参阅[输出 > 目的地](#srt-caller-destinations)。
+ 输出设置。请参阅 [输出 > 输出设置](#srt-caller-output-settings)。
+ 直播设置：请参阅[输出 > 直播设置](srt-streams.md)。

## 输出 > 目的地
<a name="srt-caller-destinations"></a>

在每个输出中，必须指定一个目的地（对于单管道通道）或两个目的地（对于标准通道）。您还必须为每个目标配置加密。
+ **连接模式**：选择**来电者**。
+ 输入目标 URL 或 URLs，包括端口号。这些信息是在与下游系统[讨论您的需求](downstream-system-srt-caller.md)时获得的。例如：

  **srt://203.0.113.22:5000**

  **srt://203.0.113.88:5001**
+ 直播ID：可选。
+ 在每个目标中，选择[您从 Secrets Manager 的操作员那里获得的密钥](srt-output-encryption-asm.md)。您可以按密钥的 ARN 或名称来选择密钥。

## 输出 > 输出设置
<a name="srt-caller-output-settings"></a>

为输出输入用户友好的名称，或保留默认名称。此名称是内部名称 MediaLive ，不会出现在输出中。

本节的其余部分包含允许您配置以下内容的字段：
+ 网络行为。
+ 传输流的特征（在 “**容器**” 部分）。
+ PID 值（在 **PID 设置**部分中）。

  这些字段涵盖 SI/PSI 和其他数据。对于其中的每一个 SI/PSI PIDs，您可以指定一个自定义值，也可以 MediaLive 使用默认值。

  对于其他数据，请根据需要填写字段。对于其中一些字段，留空的字段的行为会有所不同。 MediaLive可能会省略传输流中的数据。或者 MediaLive 可能使用默认值。

根据需要，更改任何值。有关某个字段的详细信息，请选择 MediaLive 控制台中该字段旁边的 “**信息**” 链接。

# 向下游系统提供信息
<a name="srt-caller-info-to-downstream"></a>

下游系统可能需要一两个 MediaLive数据流的源 IP 地址，这样它们才能允许这些地址连接到它们。如果下游系统是 MediaConnect，它肯定需要这些信息。

**在 AWS 云 频道上**

如果您的组织未部署 MediaLive Anywhere，请阅读此信息。
+ 创建频道后，按其名称选择频道。频道详情随即出现。

  在 “**目的地**” 选项卡中，找到 “**出口终端节点**” 部分。复制一两个 IP 地址。该频道只有一组地址，而不是每个输出都有一组地址。
+ 记下 IP 地址并将其正确标记为管道 0 和管道 1。把它们交给下游操作员。

**在 MediaLive Anywhere 频道上**

如果您的频道是 MediaLive Anywhere 频道，则请阅读此信息，这意味着该频道在本地硬件上运行，而不是在 AWS 云。
+ 获取进入网络的网关的 IP 地址。您可能需要与组织中的网络管理员交谈。将此地址提供给下游操作员。

# 在监听器模式下创建 SRT 输出
<a name="creating-srt-listener-output"></a>

本节介绍如何在监听器模式下创建 SRT 输出，下游系统会启动与该模式的 MediaLive连接。

**Topics**
+ [监听器模式的先决条件](srt-listener-prerequisites.md)
+ [在监听器模式下创建 SRT 输出](creating-srt-listener-output-group.md)
+ [MediaLive Anywhere 频道的额外设置](srt-listener-emla-setup.md)
+ [向下游系统提供连接信息](srt-listener-provide-info.md)
+ [监听器模式的验证规则](srt-listener-validation.md)

# 监听器模式的先决条件
<a name="srt-listener-prerequisites"></a>

在监听器模式下创建 SRT 输出之前，必须满足以下先决条件：

1. **创建或识别频道安全组（仅限公共分发方式）**：对于使用公共分发方式的频道，您必须将频道安全组附加到该频道。频道安全组控制允许哪些下游系统（SRT 呼叫者）连接到 MediaLive 侦听器端点。有关频道安全组的信息，请参阅[使用频道安全组](feature-channel-security-groups.md)。

   对于使用 VPC 交付或 MediaLive Anywhere 通道的频道，不需要频道安全组。相反，您必须将网络配置为允许来自呼叫者目的地的 SRT 连接到达侦听器端点。

1. **与下游系统协调**：与每个下游系统的操作员讨论以下问题：
   + 下游系统将从中连接的 IP 地址。您需要这些地址来创建或更新频道安全组引用的输入安全组。
   + 加密算法：AES 128、AES 192 或 AES 256。
   + 用于加密的密码。密码可以是 10 到 79 个 Unicode 字符。
   + 丢包和恢复的首选延迟（以毫秒为单位）。有效范围为 120 到 15000 毫秒。
   + 流 ID（如果下游系统使用此标识符）。直播 ID 是可选的。

1. **将密码存储在 Secrets Manager** 中：按照中的步骤[在中设置密码 AWS Secrets Manager](srt-output-encryption-asm.md)将密码存储在中。 AWS Secrets Manager

# 在监听器模式下创建 SRT 输出
<a name="creating-srt-listener-output-group"></a>

完成先决条件并与下游系统协调后，可以在侦听器模式下创建 SRT 输出。

1. 在**创建通道**页面的导航窗格中，选择**通道和输入详细信息**。

1. **仅适用于使用公共投放方式的频道**：在 **“常规设置”** 部分，找到 “**频道安全组**” 字段。

1. **仅适用于使用公共分发方式的频道**：从下拉列表中，选择要用作频道安全组的输入安全组。

1. 导航到 “**输出组**” 部分，然后选择 “**添加**”。

1. 在 “**添加输出组**” 部分，选择 **SRT**，然后选择 “**确认**”。

1. 在 **SRT 设置**部分，填写以下字段：
   + **名称**：输入输出组的名称。
   + **输入损失操作**：选择一个值。有关更多信息，请参阅 [处理视频输入损耗](feature-input-loss.md)。

1. 在 **SRT 输出**部分，选择输出的 **“设置”** 链接。

1. 在 “**目标**” 部分中，配置侦听器模式设置：
   + **连接模式**：选择**监听器**。
   + **监听器端口**：输入要 MediaLive 监听的端口号。有效范围为 5000 到 5200。

     频道上的每个 SRT 监听器输出都必须有唯一的端口。

     对于具有两条管道的标准频道，每个管道目标也必须具有唯一的侦听器端口。
   + **直播ID**：可选。如果您与下游系统达成协议，请输入直播 ID。
   + **加密密码密码 ARN：选择你在 Secrets M** anager 中创建的密钥的 ARN。

1. 按照和中的说明完成 **“输出****设置” 和 “直播设置”** 部分[输出 > 直播设置](srt-streams.md)。[输出 > 输出设置](creating-srt-caller-output-group.md#srt-caller-output-settings)

1. 在设置完该输出组及其输出后，如果您的计划需要，您可以创建另一个（任意类型的）输出组。否则，请转到[保存通道](creating-a-channel-step9.md)。

# MediaLive Anywhere 频道的额外设置
<a name="srt-listener-emla-setup"></a>

如果要在 MediaLive Anywhere 频道上创建 SRT 监听器输出，则还有其他配置要求：
+ **逻辑接口名称**：在 “**目标**” 部分，必须为监听器模式下的每个输出指定逻辑接口。当您在 MediaLive Anywhere 集群上创建频道时，会显示此字段。逻辑接口决定 MediaLive Anywhere 节点上的哪个物理网络接口将用于 SRT 侦听器。
+ **节点接口 IPs**：创建频道后，目标信息将包括节点接口 IPs。此字段显示下游系统连接到 MediaLive Anywhere 节点时应使用的 IP 地址。IP 地址与映射到所选逻辑接口的物理接口相关联。
  + **在控制台****中：节点界面显示 IPs 在 **SRT 目标设置部分下的目标**表中。**
  + **使用 API**：节点接口包含 IPs 在节点描述调用中`PhysicalInterfaceIpAddresses`。

  您必须向下游系统提供此 IP 地址，这样他们才能将自己的 SRT 呼叫者配置为连接到正确的 MediaLive Anywhere 节点接口。

# 向下游系统提供连接信息
<a name="srt-listener-provide-info"></a>

在监听器模式下创建带有 SRT 输出的频道后，必须向下游系统的操作员提供连接信息，以便他们可以配置要连接的 SRT 呼叫者。 MediaLive

**获取连接信息**

1. 创建频道后，按其名称选择频道。频道详情随即出现。

1. 选择 “**目的地**” 选项卡。

1. 在 “**输出目的地**” 部分，找到 SRT 输出组。

1. 对于组中的每个输出，请记下下游系统所需的连接信息。对于标准频道，有两组信息（每个管道一组）。对于单管道信道，有一组。

   **对于 MediaLive 频道**：
   + 在 “**目的地**” 选项卡下的 “**出口终端节点**” 部分，记下**源 IP** 地址。这是下游系统应连接的 IP 地址。
   + 在 **SRT 目标设置**部分，记下**侦听器端口**。
   + 以格式向下游运营商提供目的地`srt://source-ip:listener-port`。

   **对于 MediaLive 任何地方的频道**：
   + **在 “目标” 选项卡下的 “**SRT 目标设置**” 部分中，记下**节点界面 IPs**。**这是下游系统应连接的 IP 地址。
   + 在同一节中，记下**监听器端口**。
   + 以格式向下游运营商提供目的地`srt://node-interface-ip:listener-port`。

1. 将这些目的地提供 URLs 给下游系统的操作员。接线员必须配置他们的 SRT 呼叫者以连接到这些地址。

确保下游系统的操作员按以下方式进行设置：
+ 他们配置了正确的连接数：
  + 如果 MediaLive 信道是标准信道，则它们必须连接到两个目的地址以实现冗余。
  + 如果 MediaLive 信道是单管道信道，则它们必须连接到单个目标地址。
+ 他们将 SRT 呼叫者配置为使用您同意的相同加密算法和密码。
+ 他们将 SRT 呼叫者配置为使用延迟值。SRT 将协商并使用双方配置的最大延迟值。
+ 如果您在输出配置中指定了流 ID，则下游系统可以在连接期间选择发送流 ID 值。 MediaLive 接受具有任何流 ID 值（或没有流 ID）的连接。数据流 ID 的记录仅用于监控和故障排除。
+ 它们的源 IP 地址必须包含在通道安全组引用的输入安全组的 CIDR 允许列表中。否则， MediaLive 将拒绝他们的连接尝试。

# 监听器模式的验证规则
<a name="srt-listener-validation"></a>

MediaLive 在监听器模式下创建或更新 SRT 输出时，会强制执行以下验证规则：
+ **需要频道安全组（仅限公共分发方式）**：对于使用公共分发方法的频道，如果频道至少包含一个在监听器模式下配置的 SRT 输出，则必须将频道安全组附加到该频道。如果您尝试使用 Public Delivery 创建或启动频道，SRT 输出处于监听器模式但没有频道安全组， MediaLive 则会返回错误。对于使用 VPC 传送或 MediaLive Anywhere 频道的频道，不需要频道安全组；您必须将网络配置为允许来自呼叫者目标的 SRT 连接。
+ **端口唯一性**：在单个信道内，监听器模式下的每个 SRT 输出都必须使用唯一的端口号。如果您尝试使用相同的端口创建两个输出，则 MediaLive 会返回错误。
+ **监听器端口范围**：端口号必须在 5000 到 5200 之间（含）。
+ **无法移除频道安全组**：如果频道在监听器模式下有 SRT 输出，则无法移除频道安全组。必须先删除在监听器模式下配置的所有 SRT 输出，或者将其更改为呼叫者模式。
+ **无法在正在运行的频道上更改模式**：在频道运行时，您无法更改输出的连接模式（从呼叫者到听众，反之亦然）。你必须先停止频道。

# 输出 > 直播设置
<a name="srt-streams"></a>

本节中的字段与输出中视频、音频和字幕流（编码）的编码有关。这些设置适用于呼叫者模式和监听器模式输出。

有关创建编码的信息，请参见以下部分：
+ [设置视频编码](creating-a-channel-step6.md)
+ [设置音频编码](creating-a-channel-step7.md)
+ [设置字幕编码](creating-a-channel-step8.md)