

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

# 使用 C\+\+ 生產者程式庫
<a name="producer-sdk-cpp"></a>

您可以使用 Amazon Kinesis Video Streams 提供的 C\+\+ 生產者程式庫撰寫應用程式程式碼，將媒體資料從裝置傳送至 Kinesis 影片串流。

## 物件模型
<a name="producer-sdk-cpp-objectmodel"></a>

C\+\+ 程式庫提供下列物件來管理將資料傳送至 Kinesis 影片串流：
+ **KinesisVideoProducer：**包含媒體來源和 AWS 登入資料的相關資訊，並維護回呼以報告 Kinesis Video Streams 事件。
+ **KinesisVideoStream：**代表 Kinesis 影片串流。包含視訊串流參數的相關資訊，例如名稱、資料保留期和媒體內容類型。

## 將媒體放入串流
<a name="producer-sdk-cpp-putframe"></a>

您可以使用 C\+\+ 程式庫提供的方法 （例如 `PutFrame`) 將資料放入`KinesisVideoStream`物件。然後程式庫會管理資料的內部狀態，包括以下任務：
+ 執行身分驗證。
+ 查看網路延遲。如果延遲太高，程式庫可能選擇減少影格數。
+ 追蹤進行中串流的狀態。

## 回呼介面
<a name="producer-sdk-cpp-callbacks"></a>

此層公開一組回呼界面，使其能與應用程式層溝通。這些回呼界面包含以下項目：


+ **服務回呼界面 (`CallbackProvider`)：**程式庫會在建立串流、取得串流描述，以及刪除串流時，叫用透過此界面取得的事件。
+ **用戶端就緒狀態或低儲存事件界面 (`ClientCallbackProvider`)：**當用戶端就緒，或偵測到其可能耗盡可用儲存體或記憶體時，程式庫會在此界面上叫用事件。
+ **串流事件回呼界面 (`StreamCallbackProvider`)：**當串流事件發生時，程式庫會在此界面上叫用事件，例如進入就緒狀態的串流、捨棄影格或串流錯誤。

Kinesis Video Streams 提供這些介面的預設實作。您也可以提供自己的自訂實作，例如，如果您需要自訂聯網邏輯，或想要向使用者介面公開低儲存條件。

如需生產者程式庫中回呼的詳細資訊，請參閱 [生產者開發套件回呼](producer-reference-callbacks.md)。

## 程序：使用 C\+\+ 生產者 SDK
<a name="producer-sdk-cpp-using"></a>

此程序示範如何在 C\+\+ 應用程式中使用 Kinesis Video Streams 用戶端和媒體來源，將資料傳送至 Kinesis 影片串流。

此程序包含以下步驟：

**Topics**