

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

# 处理 SMPTE 2038 元数据
<a name="smpte-2038"></a>

您可以配置 MediaLive 为从这些输入中包含的 SMPTE 2038 流中提取特定的辅助数据：
+ Elemental Link 输入
+ HLS 传输流 (TS) 输入 
+ MediaConnect 输入
+ RTP 输入
+ SRT 来电者输入
+ SRT 监听器输入

**注意**  
此部分假定您熟悉创建或编辑通道，如[从头开始创建通道](creating-channel-scratch.md)中所述。

**Topics**
+ [MediaLive 可以提取的元数据](smpte-23038-supported-metadata.md)
+ [格式正确的 SMPTE 2038 流](smpte-2038-requirements.md)
+ [配置输入](smpte-2038-setup-input.md)
+ [如何 MediaLive 使用 SMPTE 2038 直播](smpte-2038-setup-output.md)
+ [配置 KLV 元数据的输出](smpte-2038-klv-setup.md)

# MediaLive 可以提取的元数据
<a name="smpte-23038-supported-metadata"></a>

MediaLive 可以从源中的 SMPTE 2038 流中提取以下数据。

**字幕**
+ ARIB 字幕 – 符合 ARIB STD-B37 版本 2.4 的字幕。
+ 嵌入式字幕 – 字幕作为与 SMPTE 334 兼容的辅助字幕。这些辅助字幕本身必须符合 EIA-608 标准（也称作 CEA-608 或“21 线字幕”）或 CEA-708 标准（也称作 EIA-708）。
+ 图文电视字幕 — OP47 图文电视格式，也称为 SMPTE RDD-08（符合 ITU-R BT.1120-7）。

**时间码**
+ 时间码 — 一个 SMPTE 12M 时间码。 MediaLive 将此时间码识别为嵌入式时间码源。

**广告效用消息**
+ SCTE 104 消息

**元数据**
+ KLV 元数据 – 符合 SMPTE 336M-2007 标准的数据。

# 格式正确的 SMPTE 2038 流
<a name="smpte-2038-requirements"></a>

 MediaLive 为了正确提取和处理数据，输入中的 SMPTE 2038 流必须满足某些标准：
+ SMPTE 2038 流必须存在于每个 PMT 中。
+ 不得在流中更改 SMPTE 2038 流所在的 PID。不支持更改 PID 并发送标识该 PID 的新 PMT。
+ 传输流应该只在一个 PID 中包含 SMPTE 2038 流。如果它存在于多个 PID 中，则无法保证它 MediaLive 能识别出首先出现的 PID。它可以选择另一个 PID，但提供您不想要的结果。

请注意，如果输入是 Elemental Link 输入，则嵌入式字幕（如果有）、时间码和 KLV 元数据（如果有）始终位于 SMPTE 2038 流中。流始终格式正确。

# 配置输入
<a name="smpte-2038-setup-input"></a>

如果 MediaLive 要使用 SMPTE 2038 流中的数据，则必须将输入配置为读取 SMPTE 2038。

1. 在**创建通道**页面上，找到相关输入的**输入附件**。

1. 在 “**常规输入设置”** 中，将 “**SMPTE-2038 数据首选项”** 设置为以下选项之一：
   + **首**选-对于特定的数据项， MediaLive 首先在 SMPTE 2038 PID 中查找数据。如果在 SMPTE 2038 流中找不到数据，或者没有 SMPTE 2038 数据流，则在流中的其他位置 MediaLive 查找数据。
   + **忽略**（默认）— MediaLive 从不查找 SMPTE 2038 直播。即使特定数据项在流中的其他位置不可用，也 MediaLive 不会查找 SMPTE 2038 数据流。例如，您可以将时间码源设置为“嵌入式”（在通道的**常规配置**部分中）。使用 I **gnor** e，如果时间码源不在视频流中，则 MediaLive 不会在 SMPTE 2038 直播中查找它。

   请注意，使用 Elemental Link 输入时，任何 KLV 元数据始终在 SMPTE 2038 中，从不会出现在其它 PID 中。因此，如果您被告知源包含 KLV 元数据，请务必选择**首选**。

# 如何 MediaLive 使用 SMPTE 2038 直播
<a name="smpte-2038-setup-output"></a>

如果您在输入中设置为首选 SMPTE 2038，则将根据以下规则 MediaLive 使用数据。

**字幕**

**您可以使用指定 **ARIB**、**嵌入式**或图文**的[字幕选择器来设置输入](identify-captions-in-the-input.md)。在本例中， MediaLive 首先在 SMPTE 2038 直播中查找指定类型的字幕。 MediaLive 如果在那里找不到字幕，它会显示在直播中的其他位置。

无论在哪里 MediaLive 找到字幕，都要 MediaLive 提取字幕，然后按照通常的方式处理字幕，具体取决于你在输出[中设置字幕](create-captions-encodes.md)的方式。

**时间码**

当输入包含 SMPTE 2038 直播时， MediaLive 首先在 SMPTE 2038 直播中查找 SMPTE 12M 时间码。 MediaLive 如果在那里找不到时间码，它会寻找直接嵌入在视频流中的时间码。 MediaLive 将 SMPTE 12M 时间码与最接近的视频帧相关联。

有关如何 MediaLive 使用时间码的信息，请参见。[输出时间码在运行时的工作原理](timecode-configure-source.md#timecode-runtime)

**广告效用消息**

如果你更喜欢在输入中使用 SMPTE 2038，则会 MediaLive 提取它找到的所有 SCTE 104 消息，然后立即将其转换为 SCTE 35 消息。然后，您可以像处理来自任何源的 SCTE 35 消息一样处理这些消息。有关更多信息，请参阅 [处理 SCTE 35 消息](scte-35-message-processing.md)。

**KLV 元数据**

如果你更喜欢在输入中使用 SMPTE 2038，则会 MediaLive 提取它找到的所有 KLV 数据。

您可以选择在以下一个或多个输出组中传递 KLV 元数据。 MediaLive 将 KLV 封装在 SMPTE 2038 直播中。
+ 档案
+ MediaPackage
+ HLS（采用 TS 容器）
+ UDP/TS

设置步骤如下。

# 配置 KLV 元数据的输出
<a name="smpte-2038-klv-setup"></a>

您可以选择在特定类型的输出组中传递 KLV 元数据。您可以选择在一个或多个输出组中传递数据。

**注意**  
此部分中的信息假定您熟悉创建通道的常规步骤，如[从头开始创建通道](creating-channel-scratch.md)中所述。

**Topics**
+ [档案](#smpte-2038-klv-setup-archive)
+ [MediaPackage](#smpte-2038-klv-setup-emp)
+ [HLS](#smpte-2038-klv-setup-hls)
+ [UDP/TS](#smpte-2038-klv-setup-udp)

## 档案
<a name="smpte-2038-klv-setup-archive"></a>

1. 在**创建通道**页面上的**输出组**部分，在**存档**组中选择相应输出。

1. 在**输出设置**中，选择**容器设置**，然后选择 **PID 设置**。

1. 设置以下字段：
   + **KLV**：选择**传递**
   + **KLV 数据 PIDs**：在您想要获取 KLV 元数据的地方输入 PID。

## MediaPackage
<a name="smpte-2038-klv-setup-emp"></a>

MediaPackage 输出会自动设置为直通。如果在输入中 MediaLive 找到 KLV 元数据，则它会在 PID 501 的 MediaPackage 输出中将其传递。

## HLS
<a name="smpte-2038-klv-setup-hls"></a>

您可以在任何具有标准 HLS 容器（TS 容器）的输出中传递 KLV 元数据。

1. 在**创建通道**页面上的**输出组**部分，在 **HLS** 组中选择相应输出。

1. 在**输出设置**中，确保为 **HLS 设置**指定了**标准 HLS**。

1. 在 **HLS 设置**中，选择 **PID 设置**。

1. 设置以下字段：
   + **KLV**：选择**传递**
   + **KLV 数据 PIDs**：在您想要获取 KLV 元数据的地方输入 PID。

## UDP/TS
<a name="smpte-2038-klv-setup-udp"></a>

1. 在**创建通道**页面上的**输出组**部分，在 **UDP** 组中选择相应输出。

1. 在**输出设置**中，选择**网络设置**，然后选择 **PID 设置**。

1. 设置以下字段：
   + **KLV**：选择**传递**
   + **KLV 数据 PID**：在需要 KLV 元数据的位置输入 PID。