C++ プロデューサーライブラリの使用 - Amazon Kinesis Video Streams

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

C++ プロデューサーライブラリの使用

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

オブジェクトモデル

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

  • KinesisVideoProducer: AWS メディアソースと認証情報に関する情報が含まれ、Kinesis Video Streams イベントをレポートするためのコールバックを保持します。

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

メディアをストリームに入れる

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

  • 認証を実行する。

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

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

コールバックインターフェイス

このレイヤーでは、一連のコールバックインターフェイスを表示し、アプリケーションレイヤーとやり取りできるようにします。これらのコールバックインターフェイスには以下が含まれます。

  • Service Callbacks interface (CallbackProvider): ライブラリは、ストリームの作成、ストリームの説明の取得、ストリームの削除時に、このインターフェースを通じて取得したイベントを呼び出します。

  • クライアントの準備が整った状態または低ストレージイベントインターフェイス (ClientCallbackProvider): ライブラリは、クライアントの準備が完了するか、使用可能なストレージまたはメモリが不足する可能性があることを検出すると、イベントを呼び出します。

  • ストリームイベントコールバックインターフェイス (StreamCallbackProvider): ライブラリは、ストリームが準備完了状態になるか、フレームを停止するか、ストリームエラーなどのストリームイベントの発生時にこのインターフェイスでイベントを呼び出します。

Kinesis Video Streams には、これらのインターフェイス用のデフォルト実装が用意されています。独自のカスタム実装を提供することもできます。例えば、カスタムネットワーキングロジックが必要な場合や、低ストレージ状態をユーザーインターフェイスに表示する場合などです。

プロデューサーライブラリのコールバックの詳細については、「プロデューサー SDK コールバック」を参照してください。

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

この手順では、C++ アプリケーションで Kinesis Video Streams クライアントおよびメディアソースを使用してデータを Kinesis のビデオストリームに送信する方法について説明します。

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

前提条件

  • 認証情報:サンプルコードでは、認証情報プロファイルファイルに設定したプロファイルを指定して認証情報を提供します。 AWS まず、認証情報プロファイルを設定します (まだ設定していない場合)。

    詳細については、「AWS 開発用の認証情報とリージョンの設定」を参照してください。

  • 証明書ストアの統合: Kinesis Video Streams プロデューサーライブラリが、呼び出し対象のサービスと信頼を確立する必要があります。これは、公開証明書ストア内の認証局 (CA) を検証することによって行われます。Linux ベースのモデルの場合、このストアは /etc/ssl/ ディレクトリにあります。

    以下の場所から証明書ストアに、証明書をダウンロードしてください。

    https://www.amazontrust.com/repository/SFSRootCAG2.pem

  • macOS 用の次のビルド依存関係をインストールします。

  • Ubuntu には以下のビルド依存関係をインストールします。

    • Git: sudo apt install git

    • CMake: sudo apt install cmake

    • G++: sudo apt install g++

    • プラグイン設定:sudo apt install pkg-config

    • OpenJDK: sudo apt install openjdk-8-jdk

      注記

      これは Java ネイティブインターフェイス (JNI) を構築する場合にのみ必要です。

    • JAVA_HOME 環境変数を設定します: export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/

次のステップ

ステップ 1: C++ プロデューサーライブラリコードをダウンロードして設定する