

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

# 设置您的 Amazon Rekognition Video 和 Amazon Kinesis 资源
<a name="setting-up-your-amazon-rekognition-streaming-video-resources"></a>

 以下过程描述了配置 Kinesis 视频流和用于识别流视频中人脸的其他资源的步骤。

## 先决条件
<a name="streaming-video-prerequisites"></a>

要运行此过程，你需要 适用于 Java 的 AWS SDK 安装。有关更多信息，请参阅 [Amazon Rekognition 入门](getting-started.md)。 AWS 账户 您使用的必须拥有亚马逊 Rekognition API 的访问权限。有关更多信息，请参阅 [IAM 用户指南](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonrekognition.html#amazonrekognition-actions-as-permissions)中的 *Amazon Rekognition 定义的操作*。

**识别视频流中的人脸 (AWS SDK)**

1. 如果您还没有这样做，请创建一个 IAM 服务角色，让 Amazon Rekognition Video 有权访问您的 Kinesis 视频流和 Kinesis 数据流。记下 ARN。有关更多信息，请参阅 [使用授予直播访问权限 AmazonRekognitionServiceRole](api-streaming-video-roles.md#api-streaming-video-roles-all-stream)。

1. [创建集合](create-collection-procedure.md)并记下您使用的集合标识符。

1. 将要搜索的[人脸索引](add-faces-to-collection-procedure.md)到您在步骤 2 中创建的集合中。

1. [创建 Kinesis 视频流](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/gs-createstream.html)并记下流的 Amazon 资源名称 (ARN)。

1. [创建 Kinesis 数据流](https://docs.aws.amazon.com/streams/latest/dev/learning-kinesis-module-one-create-stream.html)。在直播名称前加上*AmazonRekognition*并记下直播的 ARN。

然后，您可以使用所选的流处理器名称[创建人脸搜索流处理器](rekognition-video-stream-processor-search-faces.md#streaming-video-creating-stream-processor)并[启动流处理器](rekognition-video-stream-processor-search-faces.md#streaming-video-starting-stream-processor)。

**注意**  
 只有在确认可以将媒体摄取到 Kinesis 视频流之后，才应启动流处理器。

## 将视频流式传输到 Amazon Rekognition Video 中
<a name="video-streaming-kinesisvideostreams-stream"></a>

要将视频流式传输到 Amazon Rekognition Video，您可以使用 Amazon Kinesis Video Streams SDK 来创建和使用 Kinesis 视频流。`PutMedia` 操作会将视频数据*片段*写入到 Amazon Rekognition Video 使用的 Kinesis 视频流中。每个视频数据片段的时长通常为 2-10 秒，并且包含一系列独立视频帧。Amazon Rekognition Video 支持 H.264 编码的视频，该视频可以有三种类型的帧（I、B 和 P）。有关更多信息，请参阅[帧间](https://en.wikipedia.org/wiki/Inter_frame)。版本中的第一个帧必须为 I 帧。I 帧可独立于任何其他帧进行解码。

当视频数据进入 Kinesis 视频流时，Kinesis 视频流会向片段分配一个唯一编号。有关示例，请参阅 [PutMedia API 示例](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/examples-putmedia.html)。
+  如果您从 Matroska (MKV) 编码的源进行流式传输，请使用[PutMedia](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_dataplane_PutMedia.html)操作将源视频流式传输到您创建的 Kinesis 视频流中。有关更多信息，请参阅 [PutMedia API 示例](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/examples-putmedia.html)。
+  如果您从设备摄像头进行流式传输，请参阅[使用 GStreamer 插件进行直播](streaming-using-gstreamer-plugin.md)。

# 允许 Amazon Rekognition Video 访问您的资源
<a name="api-streaming-video-roles"></a>

您可以使用 AWS Identity and Access Management (IAM) 服务角色向亚马逊 Rekognition Video 授予 Kinesis 视频流的读取权限。如果您使用的是人脸搜索流处理器，则可以使用 IAM 服务角色向 Amazon Rekognition Video 授予对 Kinesis 数据流的写入权限。如果您使用的是安全监控流处理器，则可以使用 IAM 角色授予 Amazon Rekognition Video 访问您的 Amazon S3 存储桶和 Amazon SNS 主题的权限。

## 为人脸搜索流处理器提供访问权限
<a name="api-streaming-video-roles-single-stream"></a>

您可以创建权限策略，允许 Amazon Rekognition Video 访问单个 Kinesis 视频流和 Kinesis 数据流。

**允许 Amazon Rekognition Video 访问人脸搜索流处理器**

1. [ 使用 IAM JSON 策略编辑器创建新的权限策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-json-editor)，然后使用以下策略。将 `video-arn` 替换为所需的 Kinesis 视频流的 ARN。如果您使用的是人脸搜索流处理器，请将 `data-arn` 替换为所需的 Kinesis 数据流的 ARN。

1. [创建 IAM 服务角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html?icmpid=docs_iam_console)，或者更新现有 IAM 服务角色。使用以下信息创建 IAM 服务角色：

   1. 对于服务名称，选择 **Rekognition**。

   1. 对于服务角色使用案例，选择 **Rekognition**。

   1. 附加您在步骤 1 中创建的权限策略。

1. 记下服务角色的 ARN。您需要它才能开始视频分析操作。

## 使用授予直播访问权限 AmazonRekognitionServiceRole
<a name="api-streaming-video-roles-all-stream"></a>

 作为设置 Kinesis 视频流和数据流访问权限的替代选项，您可以使用 `AmazonRekognitionServiceRole` 权限策略。IAM 提供 *Rekognition* 服务角色使用案例，当与 `AmazonRekognitionServiceRole` 权限策略结合使用时，该案例可以写入多个 Kinesis 数据流并从您的所有 Kinesis 数据流中进行读取。要向 Amazon Rekognition Video 授予对多个 Kinesis 数据流的写入权限，你可以在 Kinesis 数据流的名称前面加上——例如。*AmazonRekognition*`AmazonRekognitionMyDataStreamName`

**允许 Amazon Rekognition Video 访问您的 Kinesis 视频流和 Kinesis 数据流**

1. [创建 IAM 服务角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html?icmpid=docs_iam_console)。使用以下信息创建 IAM 服务角色：

   1. 对于服务名称，选择 **Rekognition**。

   1. 对于服务角色使用案例，选择 **Rekognition**。

   1. 选择**AmazonRekognitionServiceRole**权限策略，该策略授予亚马逊 Rekognition Video 对以您的所有 Kinesis 视频流为前缀的 Kinesis 数据流的写入权限，*AmazonRekognition*以及对所有 Kinesis 视频流的读取权限。

1. 为确保您的安全，请将 Rekognition 的访问范围限制为仅限于您 AWS 账户 正在使用的资源。这可以通过将信任策略附加到您的 IAM 服务角色来完成。有关如何执行此操作的信息，请参阅 [防止跨服务混淆代理](cross-service-confused-deputy-prevention.md)。

1. 记下服务角色的 Amazon 资源名称 (ARN)。您需要它才能开始视频分析操作。