

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

# 提取媒体
<a name="ingest-media"></a>

以下限制已到位：
+ **会话时长：**一小时，最大值
+ **信令通道：**启用存储配置后，每个账户最多 100 个

**Topics**
+ [从浏览器提取媒体](#ingest-browser)
+ [从 WebRTC C SDK 中提取媒体](#ingest-webrtc-sdk)
+ [将观众添加到摄取会话中](#ingest-add-viewers)

## 从浏览器提取媒体
<a name="ingest-browser"></a>

**重要**  
Chrome 是目前唯一支持的浏览器。

1. [在示例页面中打开带有 WebRTC SDK 的亚马逊 Kinesis Video Streams。 JavaScript ](https://awslabs.github.io/amazon-kinesis-video-streams-webrtc-sdk-js/examples/index.html)

1. 完成以下信息：
   + **KVS 终端节点**-在 “**区域**” 字段中，选择您的区域。

     例如 `us-west-2`。
   + **AWS 凭据**

     填写以下字段：
     + **访问密钥 ID**
     + **秘密访问密钥**
     + **会话令牌**-示例应用程序支持临时和长期证书。如果您使用的是长期 IAM 凭证，请将此字段留空。有关更多信息，请参阅 [IAM 中的临时安全证书](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_credentials_temp.html)。
   + **信令信道**-在 “**信道名称**” 字段中，键入您之前配置的信令信道的名称。有关更多信息，请参阅 [配置目的地](configure-ingestion.md)。
   + **曲目**-选择 “**发送视频**” 和 “**发送音频**”。
   + **WebRTC 摄取和存储-展开节点并****选择 “自动确定摄取模式”。**此选项使示例应用程序调用 [DescribeMediaStorageConfiguration](https://docs.aws.amazon.com//kinesisvideostreams/latest/dg/API_DescribeMediaStorageConfiguration.html)API 以确定在哪种模式下运行。

1. 选择**启动主设备**。

   如果使用 [DescribeMediaStorageConfiguration](https://docs.aws.amazon.com//kinesisvideostreams/latest/dg/API_DescribeMediaStorageConfiguration.html)API 将信令通道配置为摄取，则示例应用程序将在连接到信令通道后立即自动调用 [JoinStorageSession](https://docs.aws.amazon.com//kinesisvideostreams/latest/dg/API_webrtc_JoinStorageSession.html)API 以启动 WebRTC 摄取工作流程。

## 从 WebRTC C SDK 中提取媒体
<a name="ingest-webrtc-sdk"></a>

按照 [亚马逊 Kinesis Video Streams 带有 WebRTC 开发工具包的 C 语言版本，适用于嵌入式设备](kvswebrtc-sdk-c.md) 过程生成示例应用程序。

1. 使用您的 AWS 账户 凭据设置您的环境：

   ```
   export AWS_ACCESS_KEY_ID=YourAccessKey
   export AWS_SECRET_ACCESS_KEY=YourSecretKey
   export AWS_DEFAULT_REGION=YourAWSRegion
   ```

   如果您使用的是临时 AWS 证书，请同时导出您的会话令牌：

   ```
   export AWS_SESSION_TOKEN=YourSessionToken
   ```

1. 运行示例：

   **主示例**

   导航到该`build`文件夹，并使用 “1” 作为第二个参数。类型：

   ```
   ./samples/kvsWebrtcClientMaster channel-name 1
   ```

   **GStreamer 主样本**

   导航到该`build`文件夹，然后使用 audio-video-storage “” 作为第二个参数。类型：

   ```
   ./samples/kvsWebrtcClientMasterGstSample channel-name audio-video-storage testsrc
   ```

这将启动 WebRTC 提取。

**注意**  
您提供的信令通道必须配置为用于存储。使用 [DescribeMediaStorageConfiguration](https://docs.aws.amazon.com//kinesisvideostreams/latest/dg/API_DescribeMediaStorageConfiguration.html)API 进行确认。

## 将观众添加到摄取会话中
<a name="ingest-add-viewers"></a>

信号通道进入WebRTC摄取模式后，观看者参与者将不再直接连接到主参与者。查看者参与者直接连接到存储会话。查看者参与者接收主参与者发送的媒体，观看者参与者可以向主参与者发送可选音频。只要主参与者已连接到存储会话，观众发回的任何音频都将发送给连接到存储会话并收录到 Kinesis Video Stream 的所有其他对等方。

以下限制已到位：
+ **最大观看人数：**3 
+ 在没有@@ **主参与者在场的情况下，查看者参与者可以连接到存储会话的最长时间：**3 分钟 

**重要**  
如果查看者断开与存储会话的连接（关闭对等连接），则其配额（查看者限制）将在 1 分钟内保持消耗。在这个 1 分钟内，查看者可以使用相同的客户端 ID 调用此 API 以重新加入会话，而无需消耗额外的观看者配额。1 分钟后，观众配额已释放，可供其他观众加入。

**浏览器**

**重要**  
Chrome 是唯一支持的浏览器。

1. [在示例页面中打开带有 WebRTC SDK 的亚马逊 Kinesis Video Streams 中的另一个选项卡。 JavaScript ](https://awslabs.github.io/amazon-kinesis-video-streams-webrtc-sdk-js/examples/index.html)上一页的所有信息都将自动填充。如果不是，请填写以下信息：
   + **KVS 终端节点**-在 “**区域**” 字段中，选择您的区域。

     例如 `us-west-2`。
   + **AWS 凭据**

     填写以下字段：
     + **访问密钥 ID**
     + **秘密访问密钥**
     + **会话令牌**-示例应用程序支持临时和长期证书。如果您使用的是长期 IAM 凭证，请将此字段留空。有关更多信息，请参阅 [IAM 中的临时安全证书](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_credentials_temp.html)。
   + **信令信道**-在 “**信道名称**” 字段中，键入您之前配置的信令信道的名称。有关更多信息，请参阅 [配置目的地](configure-ingestion.md)。
   + **曲目**-选择 “**发送音频**”。请注意，如果选中 “**发送视频**”，则在选择 “**启动查看器**” 时将自动取消选中。
   + **WebRTC 摄取和存储-展开节点并****选择 “自动确定摄取模式”。**此选项使示例应用程序调用 [DescribeMediaStorageConfiguration](https://docs.aws.amazon.com//kinesisvideostreams/latest/dg/API_DescribeMediaStorageConfiguration.html)API 以确定在哪种模式下运行。

1. 选择 “**启动查看器**”。

   应用程序在连接到信令通道后立即自动调用 [JoinStorageSessionAsViewer](https://docs.aws.amazon.com//kinesisvideostreams/latest/dg/API_webrtc_JoinStorageSessionAsViewer.html)API，以触发会话向查看者发送的 SDP 报价。

**注意**  
在 peer-to-peer WebRTC中，查看者参与者是控制对等方，主参与者是受控对等方。在 WebRTC 摄取模式下，存储会话现在是控制对等体。连接到信令并调用后 [JoinStorageSessionAsViewer](https://docs.aws.amazon.com//kinesisvideostreams/latest/dg/API_webrtc_JoinStorageSessionAsViewer.html)，查看者需要响应SDP报价，并通过WebRTC建立与存储会话的连接。

**注意**  
存储会话只会发送`TURN`候选人。从参与者的角度提名一对ICE候选人时，远程候选人将始终是类型`relay`的。