翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ビデオストリームから画像を抽出する
Amazon Kinesis Video Streams と を使用してSDKs、ビデオストリームからイメージを抽出できます。 APIsこれらのイメージは、サムネイルやスクラブなどの拡張再生アプリケーションや、機械学習パイプラインでの使用に使用できます。Kinesis Video Streams は、 を介したオンデマンドイメージ抽出API、または取り込まれたビデオ内のメタデータタグからの自動イメージ抽出を提供します。
Kinesis Video Streams マネージドイメージサポートの使用については、以下を参照してください。
オンデマンドイメージ生成 (GetImages) - これによりAPI、Kinesis Video Streams に保存されているビデオから 1 つまたは複数のイメージを抽出できます。
自動イメージ生成 (Amazon S3 配信) - アップロードされたビデオのタグに基づいてリアルタイムでビデオデータから画像を自動的に抽出し、お客様が指定した S3 バケットに画像を配信するように Kinesis Video Streams を設定します。
自動イメージ生成 (Amazon S3 配信)
現在、お客様は独自のイメージトランスコードパイプラインを実行および管理して、スクラブ、イメージプレビュー、イメージでの ML モデルの実行など、さまざまな目的でイメージを作成します。Kinesis Video Streams は、イメージをトランスコードして配信する機能を提供します。Kinesis Video Streams は、タグに基づいてリアルタイムで動画データから画像を自動的に抽出し、お客様が指定した S3 バケットに画像を配信します。
トピック
UpdateImageGenerationConfiguration
Amazon S3 へのイメージ生成を有効にするように Kinesis ビデオストリームを設定するには:
-
新しい SDKを使用して、 で追加されたタグに基づいて、イメージ生成用の S3 バケットを作成しますAPI。ストリームのイメージ生成設定を更新するときは、次のステップで必要な S3 URIに注意してください。
-
次のコンテンツを入力として update-image-generation-input.json というJSONファイルを作成します。
{ "StreamName": "TestStream", "ImageGenerationConfiguration": { "Status": "ENABLED", "DestinationConfig": { "DestinationRegion": "us-east-1", "Uri": "s3://bucket-name" }, "SamplingInterval": 200, "ImageSelectorType": "PRODUCER_TIMESTAMP", "Format": "JPEG", "FormatConfig": { "JPEGQuality": "80" }, "WidthPixels": 320, "HeightPixels": 240 } }
を使用して UpdateImageGenerationConfigurationAPIオペレーション AWS CLI を呼び出し、以前にARN作成した Amazon S3 を追加し、ステータスを に変更することができますENABLED
。
aws kinesisvideo update-image-generation-configuration \ --cli-input-json file://./update-image-generation-input.json \
リクエスト:
UpdateImageGenerationConfiguration HTTP/1.1 Method: 'POST' Path: '/updateImageGenerationConfiguration' Body: { StreamName: 'String', // Optional. Either stream name or arn should be passed StreamArn: 'String', // Optional. Either stream name or arn should be passed ImageGenerationConfiguration : { // required Status: 'Enum', // ENABLED | DISABLED, ImageSelectorType: 'Enum', // SERVER_TIMESTAMP | PRODUCER_TIMESTAMP.. DestinationConfig: { DestinationRegion: 'String', Uri: string, }, SamplingInterval: 'Number'// Format: 'Enum', // JPEG | PNG // Optional parameters FormatConfig: { 'String': 'String', }, WidthPixels: 'Number', // 1 - 3840 (4k). HeightPixels: 'Number' // 1 - 2160 (4k). } }
レスポンス:
HTTP/1.1 200 Content-type: application/json Body: { }
注記
イメージ生成設定を更新してからイメージ生成ワークフローを開始するには、少なくとも 1 分かかります。更新呼び出しPutMedia
後、 を呼び出す前に少なくとも 1 分待ちます。
DescribeImageGenerationConfiguration
ストリームにすでに設定されているイメージ生成設定を表示するには、次のようにDescribeImageGenerationConfiguration
リクエストを行います。
リクエスト:
DescribeImageGenerationConfiguration HTTP/1.1 Method: 'POST' Path: '/describeImageGenerationConfiguration' Body: { StreamName: 'String', // Optional. Either stream name or arn should be passed StreamArn: 'String', // Optional. Either stream name or arn should be passed }
レスポンス:
HTTP/1.1 200 Content-type: application/json Body: { ImageGenerationConfiguration : { Status: 'Enum', ImageSelectorType: 'Enum', // SERVER_TIMESTAMP | PRODUCER_TIMESTAMP DestinationConfig: { DestinationRegion: 'String' Uri: 'string', }, SamplingInterval: 'Number', Format: 'Enum', FormatConfig: { 'String': 'String', }, WidthPixels: 'Number', HeightPixels: 'Number' } }
DescribeImageGenerationConfiguration
この機能の詳細については、DescribeImageGenerationConfiguration Amazon Kinesis Video Streams「」を参照してください。
プロデューサーMKVタグ
Kinesis Video Streams プロデューサーを使用するとSDK、 で APIオペレーションを公開することで、特定の対象フラグメントにタグを付けることができますSDK。タグの例については、このコード
Amazon S3 イメージ生成タグとともに提供されるフラグメントメタデータは、Amazon S3 メタデータとして保存されます。
プロデューサーMKVタグの構文
|+ Tags | + Tag | // MANDATORY: Predefined MKV tag to trigger image generation for the fragment | + Simple | + Name: AWS_KINESISVIDEO_IMAGE_GENERATION | // OPTIONAL: S3 prefix which will be set as prefix for generated image. | + Simple | + Name: AWS_KINESISVIDEO_IMAGE_PREFIX | + String:
image_prefix_in_s3
// 256 bytes max m | // OPTIONAL: Key value pairs that will be persisted as S3 Image object metadata. | + Simple | + Name:CUSTOM_KEY_1
// Max 128 bytes | + String:CUSTOM_VALUE_1
// Max 256 bytes | + Simple | + Name:CUSTOM_KEY_2
// Max 128 bytes | + String:CUSTOM_VALUE_2
// Max 256 bytes
SDK を使用してプロデューサーにメタデータタグを追加する PutEventMetaData
PutEventMetaData
関数は、イベントに関連付けられた MKV ファイルを追加します。 は 2 つのパラメータPutEventMetaData
を取ります。最初のパラメータは、値がSTREAM_EVENT_TYPE
列挙型からのイベントです。2 番目のパラメータ はオプションでpStreamEventMetadata
制限
次の表に、メタデータタグに関連する制限を示します。メタデータタグの制限が調整可能な場合は、アカウントマネージャーを通じて引き上げをリクエストできます。
制限 | 最大値 | 調整可能 |
---|---|---|
イメージプレフィックスの長さ |
256 |
なし |
オプションのメタデータキーの長さ |
128 |
なし |
オプションのメタデータ値の長さ |
256 |
なし |
オプションのメタデータの最大数 |
10 |
はい |
S3 オブジェクトメタデータ
デフォルトでは、Kinesis Video Streams は Amazon S3 オブジェクトメタデータとして生成されたイメージのフラグメント番号 、プロデューサー 、およびサーバータイムスタンプを設定します。 Amazon S3 MKV タグで追加のフラグメントデータを指定すると、それらのタグも Amazon S3 オブジェクトメタデータに追加されます。次の例は、Amazon S3 オブジェクトメタデータの正しい構文を示しています。
{ // KVS S3 object metadata x-amz-meta-aws_kinesisvideo_fragment_number : 'string', x-amz-meta-aws_kinesisvideo_producer_timestamp: 'number', x-amz-meta-aws_kinesisvideo_server_timestamp: 'number', // Optional key value pair sent as part of the MKV tags
custom_key_1
:custom_value_1
,custom_key_2
:custom_value_2
, }
Amazon S3 オブジェクトパス (イメージ)
次のリストは、オブジェクトパスの正しい形式と、パス内の各要素を示しています。
形式:
ImagePrefix
_AccountID
_StreamName
_ImageTimecode
_RandomID
.file-extension
1。ImagePrefix
- の値AWS_KINESISVIDEO_IMAGE_PREFIX
。
2.AccountID
- ストリームが作成されるアカウント ID。
3.StreamName
- イメージが生成されるストリームの名前。
4.ImageTimecode
- イメージが生成されるフラグメント内のタイムコードをエポックします。
5。RandomID
- ランダム GUID。
6。file-extension
- JPG またはリクエストされたイメージ形式PNGに基づきます。
スロットリングから保護するための Amazon S3 のURI推奨事項
Amazon S3 に何千ものイメージを書き込むと、スロットリングのリスクがあります。詳細については、S3 プレフィックスの Put リクエストの制限
Amazon S3 プレフィックスは 1 秒あたり 3,500 PUTリクエストPUTの制限で始まり、一意のプレフィックスでは時間の経過とともに徐々に増加します。Amazon S3 プレフィックスとして日付と時刻を使用しないでください。タイムコードされたデータは、一度に 1 つのプレフィックスに影響し、定期的に変更され、以前のプレフィックスのスケールアップが無効になります。より高速で一貫性のある Amazon S3 スケーリングを有効にするには、16 進数コードや UUID Amazon S3 送信先 などのランダムなプレフィックスを追加することをお勧めしますURI。例えば、16 進コードプレフィックスは、リクエストを 16 の異なるプレフィックス (一意の 16 進文字ごとのプレフィックス) にランダムに分割します。これにより、Amazon S3 が自動スケーリングされた後、1 秒あたり 56,000 PUTリクエストが許可されます。