

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

# 使用 GStreamer 插件进行直播
<a name="streaming-using-gstreamer-plugin"></a>

**注意**  
从2026年4月30日起，亚马逊Rekognition流媒体视频分析将不再向新客户开放。如果您想使用流媒体视频分析，请在该日期之前注册。在过去 12 个月内使用过此功能的账户的现有客户可以继续正常使用该服务。有关更多信息，请参阅 [Rekognition 直播视频分析可用性变更](https://docs.aws.amazon.com/rekognition/latest/dg/rekognition-streaming-video-analysis-availability-change.html)。

Amazon Rekognition Video 可以分析来自设备摄像头的实时流视频。要访问来自设备来源的媒体输入，你需要安装 GStreamer。 GStreamer 是一款第三方多媒体框架软件，可在工作流管道中将媒体源和处理工具连接在一起。您还需要安装适用于 Gstreamer 的 [Amazon Kinesis Video Streams Producer 插件](https://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-cpp/)。此过程假设您已成功设置 Amazon Rekognition Video 和 Amazon Kinesis 资源。有关更多信息，请参阅 [设置您的 Amazon Rekognition Video 和 Amazon Kinesis 资源](setting-up-your-amazon-rekognition-streaming-video-resources.md)。

## 步骤 1：安装 Gstreamer
<a name="step-1-install-gstreamer"></a>

 下载并安装第三方多媒体平台软件 Gstreamer。您可以使用 Homebrew（[Homebrew 上的 Gstreamer](https://formulae.brew.sh/formula/gstreamer)）等软件包管理软件，或直接从 [Freedesktop 网站](https://gstreamer.freedesktop.org/download/)获取。

 通过从命令行终端启动带有测试源的视频源，验证 Gstreamer 的安装是否成功。

```
$ gst-launch-1.0 videotestsrc ! autovideosink
```

## 步骤 2：安装 Kinesis Video Streams Producer 插件
<a name="step-2-install-kinesis-video-plugin"></a>

 在本节中，您将下载 [Amazon Kinesis Video Streams Producer Library](https://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-cpp/) 并安装 Kinesis Video Streams Gstreamer 插件。

 创建一个目录，然后从 GitHub 存储库克隆源代码。请务必包含 `--recursive` 参数。

```
$ git clone --recursive https://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-cpp.git
```

按照[库提供的说明](https://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-cpp/blob/master/README.md)配置和构建项目。请务必使用适用于操作系统的平台专用命令。运行 `cmake` 安装 Kinesis Video Streams Gstreamer 插件时，请使用 `-DBUILD_GSTREAMER_PLUGIN=ON` 参数。该项目需要安装中包含的以下其他软件包：GCC 或 Clang、Curl、Openssl 和 Log4cplus。如果由于缺少软件包而导致构建失败，请验证该软件包是否已安装并在您的 PATH 中。如果您在构建时遇到“无法运行 C 编译的程序”错误，请再次运行构建命令。有时，无法找到正确的 C 编译器。

 运行以下命令验证 Kinesis Video Streams 插件的安装。

```
$ gst-inspect-1.0 kvssink
```

 应显示以下信息，例如出厂和插件详细信息：

```
Factory Details:
  Rank                     primary + 10 (266)
  Long-name                KVS Sink
  Klass                    Sink/Video/Network
  Description              GStreamer AWS KVS plugin
  Author                   AWS KVS <kinesis-video-support@amazon.com>
                
Plugin Details:
  Name                     kvssink
  Description              GStreamer AWS KVS plugin
  Filename                 /Users/YOUR_USER/amazon-kinesis-video-streams-producer-sdk-cpp/build/libgstkvssink.so
  Version                  1.0
  License                  Proprietary
  Source module            kvssinkpackage
  Binary package           GStreamer
  Origin URL               http://gstreamer.net/
  
  ...
```

## 步骤 3：使用 Kinesis Video Streams 插件运行 Gstreamer
<a name="step-3-run-gstreamer-with-kinesis-video-plugin"></a>

 在开始从设备摄像头流式传输到 Kinesis 视频流之前，可能需要将媒体源转换为 Kinesis 视频流可接受的编解码器。要确定当前已连接到您的计算机的设备的规格和格式功能，请运行以下命令。

```
$ gst-device-monitor-1.0
```

 要开始流式传输，请使用以下示例命令启动 Gstreamer，并添加您的凭证和 Amazon Kinesis Video Streams 信息。在[授予 Amazon Rekognition 访问您的 Kinesis 流的权限](https://docs.aws.amazon.com/rekognition/latest/dg/api-streaming-video-roles.html#api-streaming-video-roles-all-stream)时，您应该使用您创建的 IAM 服务角色的访问密钥和区域。有关访问密钥的更多信息，请参阅**《IAM 用户指南》中的[管理 IAM 用户的访问密钥](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html)。此外，您还可以根据使用要求调整视频格式参数，这些参数可从您的设备中获取。

```
$ gst-launch-1.0 autovideosrc device=/dev/video0 ! videoconvert ! video/x-raw,format=I420,width=640,height=480,framerate=30/1 ! 
                x264enc bframes=0 key-int-max=45 bitrate=500 ! video/x-h264,stream-format=avc,alignment=au,profile=baseline ! 
                kvssink stream-name="YOUR_STREAM_NAME" storage-size=512 access-key="YOUR_ACCESS_KEY" secret-key="YOUR_SECRET_ACCESS_KEY" aws-region="YOUR_AWS_REGION"
```

 有关更多启动命令，请参阅[ GStreamer 启动命令示例](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/examples-gstreamer-plugin.html#examples-gstreamer-plugin-launch)。

**注意**  
 如果您的启动命令因非协商错误而终止，请检查设备显示器的输出，并确保 `videoconvert` 参数值是设备的有效功能。

 几秒钟后，您将在 Kinesis 视频流中看到来自设备摄像头的视频源。要开始使用 Amazon Rekognition 检测和匹配人脸，请启动您的 Amazon Rekognition Video 流处理器。有关更多信息，请参阅 [Amazon Rekognition Video 流处理器操作概述](streaming-video.md#using-rekognition-video-stream-processor)。