翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Kinesis Video Streams へのアップロード
Amazon Kinesis Video Streams プロデューサーライブラリは、Kinesis Video Streams プロデューサー のライブラリのセットですSDK。クライアントは ライブラリと を使用してSDK、Kinesis Video Streams に安全に接続し、メディアデータをストリーミングしてコンソールまたはクライアントアプリケーションにリアルタイムで表示するためのデバイス上のアプリケーションを構築します。
メディアデータは次の方法でストリーミングできます。
-
リアルタイム
-
数秒間バッファした後
-
メディアのアップロード後
Kinesis Video Streams ストリームを作成したら、ストリームへのデータの送信を開始できます。を使用して、フレームと呼ばれるビデオデータをメディアソースから抽出し、Kinesis Video Streams にアップロードするアプリケーションコードSDKを作成できます。これらのアプリケーションは プロデューサーアプリケーションとも呼ばれます。
プロデューサーライブラリには、次のコンポーネントが含まれています。
Kinesis Video Streams プロデューサークライアント
Kinesis Video Streams プロデューサークライアントには、単一の KinesisVideoClient
クラスが含まれています。このクラスは、メディアソースの管理、ソースからのデータの受信、ストリームのライフサイクルの管理を行います。データはメディアソースから Kinesis Video Streams に流れます。また、Kinesis Video Streams と独自のハードウェアおよびソフトウェア間のやり取りを定義するためのMediaSource
インターフェイスも提供します。
メディアソースはほぼすべてが対象となります。たとえば、カメラのメディアソースまたはマイクのメディアソースを使用できます。メディアソースはオーディオやビデオソースのみには限定されません。たとえば、データログがテキストファイルの場合でも、データのストリームとして送信できます。また、スマートフォンで複数のカメラから同時にデータをストリームすることもできます。
そのほかのソースからデータを取得するには、MediaSource
インターフェイスを実装できます。このインターフェイスでは追加のシナリオが可能ですが、ビルトインサポートは提供されません。例えば、次のようなものを Kinesis Video Streams に送信したいとします。
-
診断データストリーム (アプリケーションログとイベントなど)
-
反射カメラ、RADARs、または深度カメラからのデータ
Kinesis Video Streams には、カメラなどのメディア生成デバイス用の組み込み実装はありません。このようなデバイスからデータを摘出するには、カスタムのメディアソース実装によるコードを実装する必要があります。これにより、カスタムメディアソースを KinesisVideoClient
に明示的に登録でき、データは Kinesis Video Streams にアップロードされます。
Kinesis Video Streams プロデューサークライアントは、Java および Android アプリケーションで使用できます。詳細については、Java プロデューサーライブラリを使用するおよびAndroid プロデューサーライブラリを使用するを参照してください。
Kinesis Video Streams プロデューサーライブラリ
Kinesis Video Streams プロデューサーライブラリは、Kinesis Video Streams プロデューサークライアントに含まれています。このライブラリは、Kinesis Video Streams とより密接に統合することを希望するユーザーが直接使用することもできます。これにより、独自のオペレーティングシステム、ネットワークスタックや制限されたデバイスリソースのデバイスから統合ができるようになります。
Kinesis Video Streams プロデューサーライブラリは、Kinesis Video Streams にストリーミングするためのステートマシンを実装します。これは、独自のトランスポート実装を提供して、各メッセージがこのサービスに行き来するように明示的に指示することが必要なコールバックフックを提供します。
次の理由により、Kinesis Video Streams プロデューサーライブラリを直接使用することを選択できます。
-
アプリケーションを実行するデバイスに Java 仮想マシンがない場合。
-
Java 以外の言語でアプリケーションコードを記述する場合。
-
メモリや処理能力などの制限があるため、コードのオーバーヘッド量を減らし、抽象化の最小レベルに制限する必要があります。
現在、Kinesis Video Streams プロデューサーライブラリは Android、C、C++、Java アプリケーションで使用できます。詳細については、以下の関連トピックでサポートされている言語を参照してください。
プロデューサーライブラリを理解する
Raspberry Pi SDKで C++ プロデューサーを使用する