

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

# 執行並驗證程式碼
<a name="producersdk-c-test"></a>



若要執行和驗證 的程式碼[使用 C\+\+ 生產者程式庫](producer-sdk-cpp.md)，請執行下列動作：

1. 執行下列命令，在[下載的 C 開發套件](https://github.com/awslabs/amazon-kinesis-video-streams-producer-c.git)中建立`build`目錄，並從`cmake`中啟動：

   ```
   mkdir -p amazon-kinesis-video-streams-producer-c/build; 
   cd amazon-kinesis-video-streams-producer-c/build; 
   cmake ..
   ```

   您可以將以下選項傳給 `cmake ..`
   + `-DBUILD_DEPENDENCIES` - 是否根據來源的程式庫建置 。
   + `-DBUILD_TEST=TRUE` - 建置單位和整合測試。可能有助於確認對裝置的支援。

     `./tst/webrtc_client_test`
   + `-DCODE_COVERAGE` - 啟用涵蓋範圍報告。
   + `-DCOMPILER_WARNINGS` - 啟用所有編譯器警告。
   + `-DADDRESS_SANITIZER` - 使用 AddressSanitizer 建置 。
   + `-DMEMORY_SANITIZER` - 使用 MemorySanitizer 建置 。
   + `-DTHREAD_SANITIZER` - 使用 ThreadSanitizer 建置 。
   + `-DUNDEFINED_BEHAVIOR_SANITIZER` - 使用 UndefinedBehaviorSanitizer 建置 。
   + `-DALIGNED_MEMORY_MODEL` - 僅針對對齊記憶體模型的裝置建立。預設值為 `OFF`。

1. 導覽至您剛使用上一個步驟建立的`build`目錄，然後執行 `make` 來建置 WebRTC C 開發套件及其提供的範例。

   ```
   make                
   ```

1. 範例應用程式會將資料夾內的 `kinesis_video_cproducer_video_only_sample` h.264 編碼影片影格`samples/h264SampleFrames`傳送至 Kinesis Video Streams。下列命令會將迴圈中的影片影格 10 秒傳送至 Kinesis Video Streams：

   ```
   ./kinesis_video_cproducer_video_only_sample YourStreamName 10
   ```

   如果您想要從另一個資料夾 （例如 `MyH264FramesFolder`) 傳送 H.264 編碼的影格，請使用下列引數執行範例：

   ```
   ./kinesis_video_cproducer_video_only_sample YourStreamName 10 MyH264FramesFolder
   ```

1. 若要啟用詳細日誌，請取消 `CMakeList.txt` 中適當的程式列來定義 `HEAP_DEBUG` 和 `LOG_STREAMING` C-defines。

在 IDE 中，您可以監控偵錯輸出測試套件的進度。您也可以在 Amazon CloudWatch 主控台中觀看與串流相關聯的指標，例如 ，來監控串流上的流量`PutMedia.IncomingBytes`。

**注意**  
因為測試工具只傳送空位元組的影格，所以主控台不會將資料顯示為視訊串流。