

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

# Kinesis Video Streams へのアップロード
<a name="producer-sdk"></a>

Amazon Kinesis Video Streams プロデューサーライブラリは、Kinesis Video Streams プロデューサー SDK のライブラリのセットです。クライアントは ライブラリと SDK を使用して、Kinesis Video Streams に安全に接続し、メディアデータをストリーミングしてコンソールまたはクライアントアプリケーションにリアルタイムで表示するためのオンデバイスアプリケーションを構築します。

メディアデータは次の方法でストリーミングできます。
+ リアルタイムで
+ 数秒間バッファリングした後
+ メディアのアップロード後

Kinesis Video Streams ストリームを作成したら、そのストリームへのデータの送信を開始できます。SDK を使用して、フレームと呼ばれるビデオデータをメディアソースから抽出し、Kinesis Video Streams にアップロードするアプリケーションコードを作成できます。これらのアプリケーションは *プロデューサー*アプリケーションとも呼ばれます。

プロデューサーライブラリには、次のコンポーネントが含まれています。
+ [Kinesis Video Streams プロデューサークライアント](#producer-sdk-client)
+ [Kinesis Video Streams プロデューサーライブラリ](#producer-sdk-library)

## Kinesis Video Streams プロデューサークライアント
<a name="producer-sdk-client"></a>

Kinesis Video Streams プロデューサークライアントには 1 つの`KinesisVideoClient`クラスが含まれています。このクラスは、メディアソースの管理、ソースからのデータの受信、ストリームのライフサイクルの管理を行います。データはメディアソースから Kinesis Video Streams に流れます。また、Kinesis Video Streams と独自のハードウェアおよびソフトウェア間のやり取りを定義するための`MediaSource`インターフェイスも提供します。

メディアソースはほぼすべてが対象となります。たとえば、カメラのメディアソースまたはマイクのメディアソースを使用できます。メディアソースはオーディオやビデオソースのみには限定されません。たとえば、データログがテキストファイルの場合でも、データのストリームとして送信できます。また、スマートフォンで複数のカメラから同時にデータをストリームすることもできます。

そのほかのソースからデータを取得するには、`MediaSource` インターフェイスを実装できます。このインターフェイスでは追加のシナリオが可能ですが、ビルトインサポートは提供されません。例えば、次のようなものを Kinesis Video Streams に送信したいとします。
+ 診断データストリーム (アプリケーションログとイベントなど)
+ 赤外線カメラ、RADAR あるいは深度カメラからのデータ

Kinesis Video Streams は、カメラなどのメディア生成デバイス用の組み込み実装を提供しません。このようなデバイスからデータを摘出するには、カスタムのメディアソース実装によるコードを実装する必要があります。これにより、カスタムメディアソースを `KinesisVideoClient` に明示的に登録でき、データは Kinesis Video Streams にアップロードされます。　　

Kinesis Video Streams プロデューサークライアントは、Java および Android アプリケーションで使用できます。詳細については、「[Java プロデューサーライブラリを使用する](producer-sdk-javaapi.md)」および「[Android プロデューサーライブラリを使用する](producer-sdk-android.md)」を参照してください。

## Kinesis Video Streams プロデューサーライブラリ
<a name="producer-sdk-library"></a>

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 アプリケーションで使用できます。詳細については、以下の*関連トピック*でサポートされている言語を参照してください。

## プロデューサーライブラリとは何かを理解する
<a name="producer-sdk-related-topics"></a>

 [Java プロデューサーライブラリを使用する](producer-sdk-javaapi.md) 

 [Android プロデューサーライブラリを使用する](producer-sdk-android.md) 

 [C\+\+ プロデューサーライブラリを使用する](producer-sdk-cpp.md) 

 [C プロデューサーライブラリを使用する](producer-sdk-c-api.md) 

 [Raspberry Pi で C\+\+ プロデューサー SDK を使用する](producersdk-cpp-rpi.md) 