本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 C 製作者庫
您可以使用 Amazon Kinesis Video Streams 提供的 C 製作者程式庫撰寫應用程式程式碼,將媒體資料從裝置傳送到 Kinesis 視訊串流。
物件模型
Kinesis Video Streams C 產生器程式庫是以稱為平台獨立程式碼庫 (PIC) 的通用元件為基礎,可 GitHub 在 https://github.com/awslabs/ amazon-kinesis-video-streams-pic/ 上取得。
-
裝置資訊提供者 — 公開可直接提供給.
DeviceInfo
PIC API 您可以設定一組提供者,包括應用程式案例最佳化的提供者,這些提供者可根據應用程式處理的串流數量和類型,以及根據可用數量設定的必要緩衝數量,最佳化內容存放區。RAM -
串流資訊提供者 — 公開可直接提供給.
StreamInfo
PIC API 有一組特定於應用程式類型和常見的串流案例類型的提供者。其中包括視頻,音頻以及音頻和視頻多軌等提供商。這些案例中的每一個都有預設值,您可以根據應用程式的需求自訂這些預設值。 -
回呼提供者 — 公開可直接提供給.
ClientCallbacks
PIC API 這包括一組用於網路 (CURL基於回API呼)、授權 (AWS 認證API) 的回呼提供者,以及在錯誤回呼時重試串流。回呼提供者API需要一些引數來設定,例如 AWS 區域 和授權資訊。這是透過使用 IoT 憑證或使用 AWS AccessKeyId SecretKey、或來完成 SessionToken。如果您的應用程式需要進一步處理特定回呼,才能實現一些應用程式特定邏輯,您可以使用自訂回呼來增強回呼提供者。 -
FrameOrderCoordinator— 幫助處理多軌場景的音頻和視頻同步。它具有默認行為,您可以自定義該行為以處理應用程序的特定邏輯。它也會在將影格結構中的框PIC架中繼資料封裝簡化,然後再將它送出至下層PICAPI。對於非多音軌案例,此元件是傳遞至。PIC putFrame API
C 程式庫提供以下物件,管理將資料傳送到 Kinesis 影片串流的作業:
-
KinesisVideoClient— 包含有關您裝置的資訊並維護回呼,以報告 Kinesis Video Streams 事件。
-
KinesisVideoStream— 代表視訊串流參數的相關資訊,例如名稱、資料保留期和媒體內容類型。
將媒體放入串流
您可以使用 C 庫提供的方法(例如,PutKinesisVideoFrame
)將數據放入對KinesisVideoStream
象中。然後程式庫會管理資料的內部狀態,包括以下任務:
-
執行身分驗證。
-
查看網路延遲。如果延遲太高,程式庫可能選擇減少影格數。
-
追蹤進行中串流的狀態。
程序:使用 C 生產者 SDK
此程序示範如何在 C 應用程式中使用 Kinesis Video Streams 用戶端和媒體來源,將 H.264 編碼的視訊影格傳送到 Kinesis 視訊串流。
此程序包含以下步驟: