C プロデューサーライブラリを使用する - Amazon Kinesis Video Streams

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

C プロデューサーライブラリを使用する

Amazon Kinesis Video Streams が提供する C プロデューサーライブラリを使用して、デバイスから Kinesis ビデオストリームにメディアデータを送信するアプリケーションコードを記述できます。

オブジェクトモデル

Kinesis Video Streams C プロデューサーライブラリは、プラットフォーム独立コードベース (PIC) と呼ばれる一般的なコンポーネントに基づいています。このコンポーネントは、https://github.com/awslabs/amazon-kinesis-video-streams-pic/ GitHub で で利用できます。PIC には、基盤となるコンポーネントのプラットフォームに依存しないビジネスロジックが含まれています。Kinesis Video Streams C プロデューサーライブラリは、シナリオおよびプラットフォーム固有のコールバックとイベントAPIを可能にする の追加レイヤーPICでラップされます。Kinesis Video Streams C プロデューサーライブラリには、 上に以下のコンポーネントが構築されていますPIC。

  • デバイス情報プロバイダー – に直接提供できるDeviceInfo構造を公開しますPICAPI。アプリケーションが処理するストリームの数とタイプ、および使用可能な の量に基づいて設定された必要なバッファリングの量に基づいてコンテンツストアを最適化できるアプリケーションシナリオ最適化プロバイダーなど、一連のプロバイダーを設定できますRAM。

  • ストリーム情報プロバイダー – に直接提供できるStreamInfo構造を公開しますPICAPI。アプリケーションタイプと一般的なストリーミングシナリオに固有のプロバイダーのセットがあります。これには、ビデオ、オーディオ、オーディオ、ビデオマルチトラックなどのプロバイダーが含まれます。これらの各シナリオにはデフォルトがあり、アプリケーションの要件に応じてカスタマイズできます。

  • コールバックプロバイダー – に直接提供できるClientCallbacks構造を公開しますPICAPI。これには、ネットワーク (CURLベースのコールバック)、認可 (AWS 認証情報API)、およびエラーAPIコールバックの再試行ストリーミング用の一連のコールバックプロバイダーが含まれます。コールバックプロバイダーAPIは、 AWS リージョン や 認証情報など、設定する引数を多数受け取ります。これは、IoT 証明書を使用するか AccessKeyId、、 SecretKey、または を使用して AWS 行われます SessionToken。アプリケーションでアプリケーション固有のロジックを実現するために特定のコールバックをさらに処理する必要がある場合、カスタムコールバックでコールバックプロバイダーを拡張することができます。

  • FrameOrderCoordinator — マルチトラックシナリオのオーディオとビデオの同期の処理に役立ちます。デフォルトの動作があり、アプリケーション固有のロジックを処理するようにカスタマイズできます。また、フレームメタデータを低層 PIC に送信する前に、フレーム構造でのフレームメタデータPICのパッケージ化を効率化しますAPI。マルチトラック以外のシナリオでは、このコンポーネントは へのパススルーですPIC putFrame API。

C ライブラリには、Kinesis ストリームへのデータ送信を管理するために次のオブジェクトが用意されています。

  • KinesisVideoClient – デバイスに関する情報が含まれ、Kinesis Video Streams イベントを報告するコールバックを維持します。

  • KinesisVideoStream – 名前、データ保持期間、メディアコンテンツタイプなど、ビデオストリームのパラメータに関する情報を表します。

ストリームにメディアを配置する

C ライブラリが提供するメソッド (例: PutKinesisVideoFrame) を使用して、データをKinesisVideoStreamオブジェクトに入れることができます。ライブラリは、データの内部状態も管理します。タスクには以下が含まれる場合があります。

  • 認証を実行する。

  • ネットワークレイテンシーを監視する。レイテンシーが長すぎると、フレームが停止される場合があります。

  • 進行中のストリーミングのステータスを追跡する。

手順: C プロデューサーを使用する SDK

この手順では、C アプリケーションで Kinesis Video Streams クライアントおよびメディアソースを使用して H.264 でエンコードされた動画フレームを Kinesis のビデオストリームに送信する方法について説明します。

この手順には、以下のステップが含まれます。