使用 Amazon Rekognition 區段 API - Amazon Rekognition

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 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 陣列輸入參數來偵測輸入影片中的技術提示及/或鏡頭偵測區段。

  • TECHNICAL_CUE — 可針對影片中偵測到的片頭、片尾和期間技術提示 (黑條信號、彩色信號、片頭名單、片尾名單、工作室標誌及原節目內容),識別影格準確的時間戳記。例如,您可以使用技術提示來尋找片尾名單的開頭。如需詳細資訊,請參閱 技術提示

  • SHOT:可識別鏡頭的開始、結束和持續時間。例如,您可以使用鏡頭偵測來識別影片最後編輯的候選鏡頭。如需詳細資訊,請參閱 鏡頭偵測

篩選分析結果

您可以使用 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 傳回的每一頁資訊中都會傳回影片中繼資料。

  • 分頁資訊:此範例顯示單頁的區段資訊。您可以在 GetSegmentDetectionMaxResults 輸入參數中指定要傳回的元素數目。如果結果數目超過 MaxResultsGetSegmentDetection 會傳回用來取得下一頁結果的字符 (NextToken)。如需詳細資訊,請參閱 取得 Amazon Rekognition Video 分析結果

  • 要求資訊:呼叫 StartSegmentDetection 時要求的分析類型會在 SelectedSegmentTypes 欄位中傳回。

客群

在視訊中偵測到的技術線索和拍攝資訊會以SegmentDetection物件的陣列傳回。Segments陣列會依照 StartSegmentDetectionSegmentTypes 輸入參數中指定的區段類型 (技術提示或鏡頭) 排序。在每個區段類型中,陣列會依照時間戳記值排序。每個 SegmentDetection 物件都包含偵測到的區段類型 (技術提示或鏡頭偵測) 相關資訊,以及一般資訊,例如,開始時間、結束時間,以及區段的持續時間。

時間資訊會以兩種格式傳回。

  • 毫秒

    影片開始後的毫秒數。欄位 DurationMillisStartTimestampMillisEndTimestampMillis 的格式為毫秒。

  • 時間碼

    Amazon Rekognition Video 時間碼採用 SMPTE 格式,其中每個影片影格都有唯一的時間碼值。格式為 hh:mm:ss:frame。例如,時間碼值 01:05:40:07 讀為一小時、五分鐘、四十秒和七個影格。Amazon Rekognition Video影片支援丟棄畫面播放速率使用案例。丟棄速率時間碼格式為 hh:mm:ss;frame。欄位 DurationSMPTEStartTimecodeSMPTEEndTimecodeSMPTE 為時間碼格式。

  • 影格計數器

    每個影片片段的持續時間也會以畫面數目來表示。此欄位 StartFrameNumber 會在影片片段的開頭 EndFrameNumber 在影片片段的結尾提供影格編號。DurationFrames 表示影片區段中的影格總數。這些值是使用以 0 開頭的影格索引來計算。

您可以使用 SegmentType 欄位來決定 Amazon Rekognition Video 傳回的區段類型。

  • 技術提示 — TechnicalCueSegment 欄位是包含偵測信賴度和技術提示類型的TechnicalCueSegment物件。技術提示的類型為 ColorBarsEndCreditsBlackFramesOpeningCreditsStudioLogoSlate、和 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 } ] }

如需範例程式碼,請參閱 範例:偵測已存放影片中的區段