本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 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) input 參數來指定回應中傳回的最小偵測信賴度。在中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
傳回的每一頁資訊中都會傳回影片中繼資料。 -
分頁資訊:此範例顯示單頁的區段資訊。您可以在
GetSegmentDetection
的MaxResults
輸入參數中指定要傳回的元素數目。如果結果數目超過MaxResults
,GetSegmentDetection
會傳回用來取得下一頁結果的字符 (NextToken
)。如需詳細資訊,請參閱 取得 Amazon Rekognition Video 分析結果。 -
要求資訊:呼叫
StartSegmentDetection
時要求的分析類型會在SelectedSegmentTypes
欄位中傳回。
客群
在視訊中偵測到的技術線索和拍攝資訊會以SegmentDetection物件的陣列傳回。Segments
陣列會依照 StartSegmentDetection
之 SegmentTypes
輸入參數中指定的區段類型 (技術提示或鏡頭) 排序。在每個區段類型中,陣列會依照時間戳記值排序。每個 SegmentDetection
物件都包含偵測到的區段類型 (技術提示或鏡頭偵測) 相關資訊,以及一般資訊,例如,開始時間、結束時間,以及區段的持續時間。
時間資訊會以兩種格式傳回。
-
毫秒
影片開始後的毫秒數。欄位
DurationMillis
、StartTimestampMillis
和EndTimestampMillis
的格式為毫秒。 -
時間碼
Amazon Rekognition Video 時間碼採用 SMPTE
格式,其中每個影片影格都有唯一的時間碼值。格式為 hh:mm:ss:frame。例如,時間碼值 01:05:40:07 讀為一小時、五分鐘、四十秒和七個影格。Amazon Rekognition Video影片支援丟棄畫面播放 速率使用案例。丟棄速率時間碼格式為 hh:mm:ss;frame。欄位 DurationSMPTE
、StartTimecodeSMPTE
和EndTimecodeSMPTE
為時間碼格式。 -
影格計數器
每個影片片段的持續時間也會以畫面數目來表示。此欄位
StartFrameNumber
會在影片片段的開頭EndFrameNumber
在影片片段的結尾提供影格編號。DurationFrames
表示影片區段中的影格總數。這些值是使用以 0 開頭的影格索引來計算。
您可以使用 SegmentType
欄位來決定 Amazon Rekognition Video 傳回的區段類型。
-
技術提示 —
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 } ] }
如需範例程式碼,請參閱 範例:偵測已存放影片中的區段。