

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

# 下载并构建 Kinesis Video Streams C\$1\$1 制作人 SDK
<a name="producersdk-cpp-rpi-download"></a>

按照以下步骤下载和构建 [Kinesis Video Streams C\$1\$1 制作人 S](https://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-cpp) DK。确保已安装软件必备组件；有关这些步骤[安装软件先决条件](producersdk-cpp-rpi-software.md)，请参阅。

1. 导航到下载目录。打开终端并切换到您的首选下载目录。

   例如：

   ```
   cd ~/Downloads
   ```

1. 克隆 SDK 存储库。使用`git clone`命令从 GitHub 存储库下载 SDK。类型：

   ```
   git clone https://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-cpp.git --single-branch -b master kvs-producer-sdk-cpp
   ```

   此命令仅克隆一个分支（分`master`支），从而减少了下载大小和时间。它还会将下载的内容放在当前目录`kvs-producer-sdk-cpp`中名为的文件夹中。

1. 验证下载。克隆过程完成后，列出该`kvs-producer-sdk-cpp`文件夹的内容以验证 SDK 是否已下载。

   ```
   ls kvs-producer-sdk-cpp
   ```

1. 准备一个构建目录。类型：

   ```
   mkdir -p kvs-producer-sdk-cpp/build
   cd kvs-producer-sdk-cpp/build
   ```

1. 配置构建。运行以下`cmake`命令以使用特定选项配置构建环境：

   ```
   cmake .. -DBUILD_GSTREAMER_PLUGIN=ON -DBUILD_DEPENDENCIES=OFF -DALIGNED_MEMORY_MODEL=ON
   ```

   [CMake](https://cmake.org/cmake/help/latest/manual/cmake.1.html)使用以下选项生成相应的`Makefiles`：
   + 使用项目文件夹 (`..`) 作为源目录。
   + 使用当前目录 (`.`) (`build/`) 生成输出。
   + `-DBUILD_GSTREAMER_PLUGIN=ON`启用 GStreamer 插件 kvssink 的构建。
   + `-DBUILD_DEPENDENCIES=OFF`禁止从源代码构建外部依赖关系。该项目将查找并使用上一步中安装的外部依赖项。
   + `-DALIGNED_MEMORY_MODEL=ON`禁用未对齐的内存模型。某些 Raspberry Pi 设备不支持未对齐的内存访问。
**注意**  
有关 CMake 参数的完整列表，请参阅[下载并配置 C\$1\$1 制作器库代码](producersdk-cpp-download.md)。

1. 构建项目。配置完版本后，使用`make`命令使用`Makefile`生成的进行编译`cmake`。

   ```
   make -j$(nproc)
   ```

   的`-j`参数`make`允许它并行运行多个编译作业。要缩短构建时间，请使用`nproc`命令动态计算 Raspberry Pi 上的 CPU 内核数量。

1. 确认`libgstkvssink.so`存在。

   列出当前目录中的文件。

   **提示：**

   ```
   ls
   ```

   **响应：**

   ```
   CMakeCache.txt       dependency                          kvs_gstreamer_sample
   CMakeFiles           kvs_gstreamer_audio_video_sample    kvssink_gstreamer_sample
   Makefile             kvs_gstreamer_file_uploader_sample  libKinesisVideoProducer.so
   cmake_install.cmake  kvs_gstreamer_multistream_sample    libgstkvssink.so
   ```

1. 确认 GStreamer 可以加载`kvssink`。

   将`GST_PLUGIN_PATH`环境变量设置为包含的目录`libgstkvssink.so`。

   ```
   export GST_PLUGIN_PATH=`pwd`
   ```

   有 GStreamer 负载`kvssink`：

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

   你应该看到一些相关的文档`kvssink`。使用箭头键进行导航，然后`q`按退出。

1. （**可选**）更新 shell 的启动脚本以包括设置`GST_PLUGIN_PATH`环境变量。这样可以确保`GST_PLUGIN_PATH`在新的终端会话期间正确设置。在 Raspberry Pi 设备上，外壳程序的启动脚本是`~/.bashrc`。

   运行以下命令将该命令附加到 shell 启动脚本的末尾。

   ```
   echo "export GST_PLUGIN_PATH=~/Downloads/kvs-producer-sdk-cpp/build" >> ~/.bashrc
   ```

   键入以下命令来运行 shell 的启动脚本，或者关闭当前 shell 并打开一个新的 shell。

   ```
   source ~/.bashrc
   ```

   确认`GST_PLUGIN_PATH`已设置，即可加载`kvssink`。

   ```
   echo $GST_PLUGIN_PATH
   ```

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