翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon Rekognition セグメント API を利用する
保存済み動画内の Amazon Rekognition Video セグメント検出は、Amazon Rekognition Video の非同期オペレーションです。Amazon Rekognition セグメント API は、単一の API コールから分析の種類 (テクニカルキューまたはショット検出) を選択する複合 API です。非同期オペレーションの呼び出しについては、「Amazon Rekognition Video オペレーションを呼び出す」を参照してください。
セグメント解析の開始
保存されたビデオ内のセグメントの検出を開始するには、 を呼び出しますStartSegmentDetection。入力パラメータは、他の Amazon Rekognition Video オペレーションと同じで、セグメントタイプの選択と結果のフィルタリングが追加されています。詳細については、「ビデオ分析のスタート」を参照してください。
以下は、StartSegmentDetection
によって渡される JSON の例です。リクエストでは、テクニカルキューとショット検出セグメントの両方が検出されるように指定します。テクニカルキューセグメント (90%) とショット検出セグメント (80%) には、最小検出信頼度として異なるフィルタが要求されます。
{ "Video": { "S3Object": { "Bucket": "test_files", "Name": "test_file.mp4" } "SegmentTypes":["TECHNICAL_CUES", "SHOT"] "Filters": { "TechnicalCueFilter": { "MinSegmentConfidence": 90, "BlackFrame" : { "MaxPixelThreshold": 0.1, "MinCoveragePercentage": 95 } }, "ShotFilter" : { "MinSegmentConfidence": 60 } } }
セグメントタイプの選択
SegmentTypes
配列入力パラメータを使用して、入力ビデオ内のテクニカルキューやショット検出セグメントを検出します。
解析結果のフィルタリング
Filters
(StartSegmentDetectionFilters) 入力パラメータを使用して、レスポンスで返される最小検出信頼度を指定できます。内でFilters
、 ShotFilter
(StartShotDetectionFilter) を使用して検出されたショットをフィルタリングします。テクニカルキューをフィルタリングするには、TechnicalCueFilter
(StartTechnicalCueDetectionFilter) を使用します。
サンプルコードについては、「例: 保存されたビデオ内のセグメントの検出」を参照してください。
セグメント解析結果の取得
Amazon Rekognition Video は、ビデオ分析の完了ステータスを Amazon Simple Notification Service トピックに発行します。ビデオ分析が成功したら、 GetSegmentDetectionを呼び出してビデオ分析の結果を取得します。
GetSegmentDetection
リクエストの例を次に示します。JobId
は、StartSegmentDetection
の呼び出しから返されるジョブ識別子です。他の入力パラメータについての詳細は、「Amazon Rekognition Video の分析結果を取得する」を参照してください。
{ "JobId": "270c1cc5e1d0ea2fbc59d97cb69a72a5495da75851976b14a1784ca90fc180e3", "MaxResults": 10, "NextToken": "XfXnZKiyMOGDhzBzYUhS5puM+g1IgezqFeYpv/H/+5noP/LmM57FitUAwSQ5D6G4AB/PNwolrw==" }
GetSegmentDetection
は、要求された分析の結果と、保存されたビデオに関する一般的な情報を返します。
一般情報
GetSegmentDection
は、次の一般的な情報を返します。
-
オーディオ情報 — レスポンスには、AudioMetadataオブジェクト
AudioMetadata
の配列 にオーディオメタデータが含まれます。複数のオーディオストリームが存在する可能性があります。各AudioMetadata
オブジェクトには、単一のオーディオストリームのメタデータが含まれます。AudioMetadata
オブジェクトのオーディオ情報には、オーディオコーデック、オーディオチャンネルの数、オーディオストリームの長さ、およびサンプルレートが含まれます。オーディオメタデータは、GetSegmentDetection
によって返される情報の各ページに含まれます。 -
動画情報 – 現在、Amazon Rekognition Video は
VideoMetadata
配列内の単一のVideoMetadataオブジェクトを返します。このオブジェクトには、Amazon Rekognition Video が分析のために選択した入力ファイル内のビデオストリームに関する情報が含まれます。VideoMetadata
オブジェクトには、ビデオコーデック、ビデオ形式、およびその他の情報が含まれます。ビデオのメタデータは、GetSegmentDetection
によって返される情報の各ページに含まれます。 -
ページング情報 この例では、セグメント情報の 1 ページを示します。要素を返す数は、
GetSegmentDetection
のMaxResults
入力パラメータで指定できます。結果がMaxResults
を超える場合、GetSegmentDetection
は次のページの結果を取得するためのトークン (NextToken
) を返します。詳細については、「Amazon Rekognition Video の分析結果を取得する」を参照してください。 -
リクエスト情報
StartSegmentDetection
の呼び出しで要求される分析のタイプがSelectedSegmentTypes
フィールドに返されます。
セグメント
ビデオで検出されたテクニカルキューとショット情報は、 SegmentDetection オブジェクトSegments
の配列 で返されます。配列は、StartSegmentDetection
の SegmentTypes
入力パラメータで指定されたセグメントタイプ (TECHNICAL_CUE または SHOT) でソートされます。各セグメントタイプ内で、配列はタイムスタンプ値でソートされます。各 SegmentDetection
オブジェクトには、検出されたセグメントのタイプ (テクニカルキューまたはショット検出) に関する情報と、開始時間、終了時間、セグメントの長さなどの一般情報が含まれます。
時間情報は 3 つの形式で返されます。
-
ミリ秒
ビデオ開始からのミリ秒数。フィールド
DurationMillis
、StartTimestampMillis
、およびEndTimestampMillis
はミリ秒形式です。 -
タイムコード
Amazon Rekognition Video タイムコードは SMPTE
形式で、ビデオの各フレームに固有のタイムコード値を持っています。形式は hh:mm:ss:frame です。たとえば、01:05:40:07 というタイムコード値は、1 時間、5 分、40 秒、7 フレームとして読み取られます。ドロップフレーム レートのユースケースは、Amazon Rekognition Video でサポートされています。ドロップレートのタイムコード形式は hh:mm:ss;frame です。フィールド DurationSMPTE
、StartTimecodeSMPTE
、およびEndTimecodeSMPTE
はタイムコード形式です。 -
フレームカウンタ
各ビデオセグメントのデュレーションもフレーム数で表されます。フィールド
StartFrameNumber
は、ビデオセグメントの開始時のフレーム番号を指定し、EndFrameNumber
は、ビデオセグメントの終了時のフレーム番号を指定します。DurationFrames
は、ビデオセグメント内の総フレーム数を示します。これらの値は、0 から始まるフレームインデックスを使用して計算されます。
SegmentType
フィールドを使用して、Amazon Rekognition Video によって返されるセグメントのタイプを決定できます。
-
Technical Cues –
TechnicalCueSegment
フィールドは、検出の信頼度とテクニカルキューのタイプを含むTechnicalCueSegmentオブジェクトです。テクニカルキューの種類はColorBars
、EndCredits
、BlackFrames
、OpeningCredits
、StudioLogo
、Slate
、およびContent
です。 -
ショット –
ShotSegment
フィールドは、ビデオ内のショットセグメントの検出信頼度と識別子を含むShotSegmentオブジェクトです。
GetSegmentDetection
の JSON レスポンスの例を次に示します。
{ "SelectedSegmentTypes": [ { "ModelVersion": "2.0", "Type": "SHOT" }, { "ModelVersion": "2.0", "Type": "TECHNICAL_CUE" } ], "Segments": [ { "DurationFrames": 299, "DurationSMPTE": "00:00:09;29", "StartFrameNumber": 0, "EndFrameNumber": 299, "EndTimecodeSMPTE": "00:00:09;29", "EndTimestampMillis": 9976, "StartTimestampMillis": 0, "DurationMillis": 9976, "StartTimecodeSMPTE": "00:00:00;00", "Type": "TECHNICAL_CUE", "TechnicalCueSegment": { "Confidence": 90.45006561279297, "Type": "BlackFrames" } }, { "DurationFrames": 150, "DurationSMPTE": "00:00:05;00", "StartFrameNumber": 299, "EndFrameNumber": 449, "EndTimecodeSMPTE": "00:00:14;29", "EndTimestampMillis": 14981, "StartTimestampMillis": 9976, "DurationMillis": 5005, "StartTimecodeSMPTE": "00:00:09;29", "Type": "TECHNICAL_CUE", "TechnicalCueSegment": { "Confidence": 100.0, "Type": "Content" } }, { "DurationFrames": 299, "ShotSegment": { "Index": 0, "Confidence": 99.9982681274414 }, "DurationSMPTE": "00:00:09;29", "StartFrameNumber": 0, "EndFrameNumber": 299, "EndTimecodeSMPTE": "00:00:09;29", "EndTimestampMillis": 9976, "StartTimestampMillis": 0, "DurationMillis": 9976, "StartTimecodeSMPTE": "00:00:00;00", "Type": "SHOT" }, { "DurationFrames": 149, "ShotSegment": { "Index": 1, "Confidence": 99.9982681274414 }, "DurationSMPTE": "00:00:04;29", "StartFrameNumber": 300, "EndFrameNumber": 449, "EndTimecodeSMPTE": "00:00:14;29", "EndTimestampMillis": 14981, "StartTimestampMillis": 10010, "DurationMillis": 4971, "StartTimecodeSMPTE": "00:00:10;00", "Type": "SHOT" } ], "JobStatus": "SUCCEEDED", "VideoMetadata": [ { "Format": "QuickTime / MOV", "FrameRate": 29.970029830932617, "Codec": "h264", "DurationMillis": 15015, "FrameHeight": 1080, "FrameWidth": 1920, "ColorRange": "LIMITED" } ], "AudioMetadata": [ { "NumberOfChannels": 1, "SampleRate": 48000, "Codec": "aac", "DurationMillis": 15007 } ] }
サンプルコードについては、「例: 保存されたビデオ内のセグメントの検出」を参照してください。