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

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

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

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

オブジェクトモデル

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

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

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

ストリームへのメディアの挿入

C++ ライブラリには、データを PutFrame オブジェクトに挿入するために使用できるメソッド (KinesisVideoStream など) が用意されています。ライブラリは、データの内部状態も管理します。タスクには以下が含まれる場合があります。

  • 認証を実行する。

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

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

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

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

  • サービスコールバックインターフェイス (CallbackProvider): ライブラリは、ストリームの作成、ストリームの説明の取得、ストリームの削除などを行う際にこのインターフェイスで取得したイベントを呼び出します。

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

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

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

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

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

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

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

Prerequisites

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

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

  • 証明書ストアの統合: Kinesis Video Streams プロデューサーライブラリが、呼び出し対象のサービスと信頼を確立する必要があります。この信頼は、正式な証明書ストアで証明機関 (CA) を検証することで確立されます。Linux ベースのモデルの場合、このストアは /etc/ssl/ ディレクトリにあります。

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

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

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

  • Ubuntu 用の次のビルド依存関係をインストールします (バージョンコマンドへの応答は切り捨てられます)。

    • Git をインストールします: sudo apt-get install git

      $ git --version git version 2.14.1
    • CMake をインストールします: sudo apt-get install cmake

      $ cmake --version cmake version 3.9.1
    • Libtool をインストールします: sudo apt-get install libtool

      2.4.6-2
    • libtool-bin をインストールします: sudo apt-get install libtool-bin

      $ libtool --version libtool (GNU libtool) 2.4.6 Written by Gordon Matzigkeit, 1996
    • GNU Automake をインストールします: sudo apt-get install automake

      $ automake --version automake (GNU automake) 1.15
    • GNU Bison をインストールします: sudo apt-get install bison

      $ bison -V bison (GNU Bison) 3.0.4
    • G++ をインストールします: sudo apt-get install g++

      g++ --version g++ (Ubuntu 7.2.0-8ubuntu3) 7.2.0
    • curl をインストールします: sudo apt-get install curl

      $ curl --version curl 7.55.1 (x86_64-pc-linux-gnu) libcurl/7.55.1 OpenSSL/1.0.2g zlib/1.2.11 libidn2/2.0.2 libpsl/0.18.0 (+libidn2/2.0.2) librtmp/2.3
    • pkg-config をインストールします: sudo apt-get install pkg-config

      $ pkg-config --version 0.29.1
    • Flex をインストールします: sudo apt-get install flex

      $ flex --version flex 2.6.1
    • OpenJDK をインストールします: sudo apt-get install openjdk-8-jdk

      $ java -version openjdk version "1.8.0_171"
    • JAVA_HOME 環境変数を設定します。 export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/

    • ビルドスクリプトを実行します: ./install-script

次のステップ

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