翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon Kinesis Video Streams プロデューサー SDK を使用して、Kinesis ビデオストリームに個々のフラグメントレベルでメタデータを埋め込むことができます。Kinesis Video Streams 内のメタデータは、変更可能なキーバリューのペアです。これを使用して、フラグメントの内容を記述したり、実際のフラグメントと一緒に転送する必要がある関連するセンサー読み取り値を埋め込んだり、その他のカスタムニーズを満たすことができます。メタデータは GetMedia またはGetMediaForFragmentList API オペレーションの一部として使用できます。これは、ストリームの保持期間全体にわたってフラグメントとともに保存されます。消費するアプリケーションは、 を使用してメタデータに基づいて読み取り、処理、対応できますパーサーライブラリを使用してカメラからの出力を監視する。
メタデータをストリーム内のフラグメントを埋め込むモードは 2 つあります。
-
非永続的 – 発生したビジネス固有の基準に基づいて、ストリーム内のフラグメントに 1 回限り、またはアドホックベースでメタデータを貼り付けることができます。一例として、動きを検出して、Kinesis のビデオストリームに送信する前にその動きを含む対応フラグメントにメタデータを追加するスマートカメラがあります。フラグメントには、以下の形式でメタデータを適用できます。
Motion = true
-
永続 – 継続的なニーズに基づいて、ストリーム内の連続するフラグメントにメタデータを付加できます。一例として、Kinesis のビデオストリームに送信するすべてのフラグメントに関連付けられた現在の緯度と経度の座標を送信するスマートカメラがあります。すべてのフラグメントには、以下の形式でメタデータを適用できます。
Lat = 47.608013N , Long = -122.335167W
アプリケーションのニーズに基づいて、同一のフラグメントに対して同時にこのモードの両方でメタデータを付け加えられます。埋め込まれたメタデータには、検出されたオブジェクト、トラッキングされたアクティビティ、GPS 座標、またはその他のカスタムデータで、ストリームのフラグメントと関連付けるものが含まれる場合があります。メタデータはキーと値の文字列ペアとしてエンコードされます。
Kinesis ビデオストリームへのメタデータの追加
Kinesis のビデオストリームに追加するメタデータは MKV タグとしてモデル化され、キーバリューのペアとして実装されます。
メタデータは、ストリーム内のイベントをマークするなどの一時的なもの、またはあるイベントが発生したフラグメントを識別するなどの永続的なもののいずれかです。永続メタデータ項目は、キャンセルされるまで、連続する各フラグメントに残り、適用されます。
注記
Kinesis Video Streams へのアップロード を使用して追加されたメタデータ項目は、TagStream、UntagStream、およびListTagsForStreamを使って実装されたストリームレベルのタグ付け API とは異なります。
ストリーミングメタデータ API
プロデューサー SDK で次のオペレーションを使用して、ストリーミングメタデータを実装できます。
PIC
PUBLIC_API STATUS putKinesisVideoFragmentMetadata(STREAM_HANDLE streamHandle,
PCHAR name,
PCHAR value,
BOOL persistent);
C++ プロデューサー SDK
/**
* Appends a "tag" or metadata - a key/value string pair into the stream.
*/
bool putFragmentMetadata(const std::string& name, const std::string& value, bool persistent = true);
Java プロデューサー SDK
Java プロデューサー SDK を使用して、 MediaSource
を使用して にメタデータを追加できますMediaSourceSink.onCodecPrivateData
。
void onFragmentMetadata(final @Nonnull String metadataName, final @Nonnull String metadataValue, final boolean persistent)
throws KinesisVideoException;
永続メタデータと非永続メタデータ
非永続メタデータでは、同一の名前を使ったメタデータ項目を複数追加できます。プロデューサー SDK は、次のフラグメントの前に付加されるまで、メタデータキュー内のメタデータ項目を収集します。メタデータキューはストリームにメタデータ項目が適用されるとクリアされます。メタデータを繰り返すには、putKinesisVideoFragmentMetadata
または putFragmentMetadata
を再度呼び出します。
永続メタデータの場合、プロデューサー SDK は非永続メタデータの場合と同じ方法でメタデータキュー内のメタデータ項目を収集します。ただし、メタデータ項目は、次のフラグメントの先頭に追加されてもキューから削除されません。
putKinesisVideoFragmentMetadata
または putFragmentMetadata
で persistent
を true
に設定して呼び出すと、以下のような動作になります。
-
API を呼び出すと、キューにメタデータ項目が追加されます。メタデータは、メタデータ項目がキュー内にある間に、フラグメントごとに MKV タグとして追加されます。
-
同一の名前で、以前に追加されたメタデータ項目と異なる値で API を呼び出すと、その項目は上書きされます。
-
空の値で API を呼び出すと、メタデータキューからそのメタデータ項目は削除 (キャンセル) されます。