

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 下載並建置 Kinesis Video Streams C\+\+ 生產者 SDK
<a name="producersdk-cpp-rpi-download"></a>

請依照下列程序下載並建置 [Kinesis Video Streams C\+\+ 生產者 SDK](https://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-cpp)。請確定您已安裝軟體先決條件；如需這些步驟[安裝軟體先決條件](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\+\+ 生產者程式庫程式碼](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
   ```