

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

# 使用 Amazon Rekognition 區段 API
<a name="segment-api"></a>

Amazon Rekognition Video 中的區段偵測是一種 Amazon Rekognition Video 非同步作業。Amazon Rekognition 區段 API 是一種複合 API，您可以從單一 API 呼叫中選擇分析類型 (技術提示或鏡頭偵測)。如需呼叫非同步操作的詳細資訊，請參閱 [呼叫 Amazon Rekognition Video 操作](api-video.md)。

**Topics**
+ [啟動區段分析](#segment-api-start)
+ [取得區段分析結果](#segment-api-get)

## 啟動區段分析
<a name="segment-api-start"></a>

若要在存放的影片中啟動區段偵測，請呼叫 [StartSegmentDetection](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_StartSegmentDetection.html)。輸入參數與加入區段類型選擇和結果篩選的其他 Amazon Rekognition Video 操作相同。如需詳細資訊，請參閱 [開始影片分析](api-video.md#api-video-start)。

以下是 `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
      }
  }
}
```

### 選擇區段類型
<a name="segment-feature-type"></a>

使用 `SegmentTypes` 陣列輸入參數來偵測輸入影片中的技術提示及/或鏡頭偵測區段。
+ TECHNICAL\_CUE — 可針對影片中偵測到的片頭、片尾和期間技術提示 (黑條信號、彩色信號、片頭名單、片尾名單、工作室標誌及原節目內容)，識別影格準確的時間戳記。例如，您可以使用技術提示來尋找片尾名單的開頭。如需詳細資訊，請參閱 [技術提示](segments.md#segment-technical-cue)。
+ SHOT：可識別鏡頭的開始、結束和持續時間。例如，您可以使用鏡頭偵測來識別影片最後編輯的候選鏡頭。如需詳細資訊，請參閱 [鏡頭偵測](segments.md#segment-shot-detection)。

### 篩選分析結果
<a name="w2aac43c29b7c11"></a>

您可以使用 `Filters` ([StartSegmentDetectionFilters](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_StartSegmentDetectionFilters.html)) 輸入參數以指定回應傳回的偵測可信度下限。在中 `Filters`，使用 `ShotFilter` ([StartShotDetectionFilter](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_StartShotDetectionFilter.html)) 過濾偵測到的鏡頭。使用 `TechnicalCueFilter` ([StartTechnicalCueDetectionFilter](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_StartTechnicalCueDetectionFilter.html)) 過濾技術提示。

如需範例程式碼，請參閱 [範例：偵測已存放影片中的區段](segment-example.md)。

## 取得區段分析結果
<a name="segment-api-get"></a>

Amazon Rekognition Video 向 Amazon Simple Notification Service 主題發佈影片的完成狀態。如果影片分析成功，您可以呼叫 [GetSegmentDetection](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_GetSegmentDetection.html) 取得影片分析的結果。

以下是範例 `GetSegmentDetection` 要求。`JobId` 是呼叫 `StartSegmentDetection` 傳回的任務識別符。如需其他輸入參數的詳細資訊，請參閱 [取得 Amazon Rekognition Video 分析結果](api-video.md#api-video-get)。

```
{
    "JobId": "270c1cc5e1d0ea2fbc59d97cb69a72a5495da75851976b14a1784ca90fc180e3",
    "MaxResults": 10,
    "NextToken": "XfXnZKiyMOGDhzBzYUhS5puM+g1IgezqFeYpv/H/+5noP/LmM57FitUAwSQ5D6G4AB/PNwolrw=="
}
```

`GetSegmentDetection` 會傳回要求的分析結果，以及關於存放影片的一般資訊。

### 一般資訊
<a name="segment-api-general"></a>

`GetSegmentDection` 會傳回以下一般資訊。
+ **音訊資訊**：此回應包含 [AudioMetadata](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_AudioMetadata.html) 物件中的陣列 `AudioMetadata` 的音訊中繼資料。可以有多個音訊串流。每個 `AudioMetadata` 物件都包含單一音訊串流的中繼資料。`AudioMetadata` 物件中的音訊資訊包括音訊轉碼器、音訊聲道的數目、音訊串流的持續時間，以及取樣率。`GetSegmentDetection` 傳回的每一頁資訊中都會傳回音訊中繼資料。
+ **影片資訊**：目前，Amazon Rekognition Video 訊會傳回 `VideoMetadata` 陣列中的單一 [VideoMetadata](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_VideoMetadata.html) 物件。物件包含 Amazon Rekognition Video 選擇要分析之輸入檔案中影片串流的相關資訊。`VideoMetadata` 物件包括影片轉碼器、影片格式，以及其他資訊。`GetSegmentDetection` 傳回的每一頁資訊中都會傳回影片中繼資料。
+ **分頁資訊**：此範例顯示單頁的區段資訊。您可以在 `GetSegmentDetection` 的 `MaxResults` 輸入參數中指定要傳回的元素數目。如果結果數目超過 `MaxResults`，`GetSegmentDetection` 會傳回用來取得下一頁結果的字符 (`NextToken`)。如需詳細資訊，請參閱 [取得 Amazon Rekognition Video 分析結果](api-video.md#api-video-get)。
+ **要求資訊**：呼叫 `StartSegmentDetection` 時要求的分析類型會在 `SelectedSegmentTypes` 欄位中傳回。

### 客群
<a name="segment-api-technical-segments"></a>

影片中偵測到的技術提示和鏡頭資訊會以 [SegmentDetection](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_SegmentDetection.html) 物件的陣列 `Segments` 傳回。陣列會依照 `StartSegmentDetection` 之 `SegmentTypes` 輸入參數中指定的區段類型 (技術提示或鏡頭) 排序。在每個區段類型中，陣列會依照時間戳記值排序。每個 `SegmentDetection` 物件都包含偵測到的區段類型 (技術提示或鏡頭偵測) 相關資訊，以及一般資訊，例如，開始時間、結束時間，以及區段的持續時間。

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

**毫秒**  
影片開始後的毫秒數。欄位 `DurationMillis`、`StartTimestampMillis` 和 `EndTimestampMillis` 的格式為毫秒。
+ 

**時間碼**  
Amazon Rekognition Video 時間碼採用 [SMPTE](https://en.wikipedia.org/wiki/SMPTE_timecode) 格式，其中每個影片影格都有唯一的時間碼值。格式為 *hh:mm:ss:frame*。例如，時間碼值 01:05:40:07 讀為一小時、五分鐘、四十秒和七個影格。Amazon Rekognition Video[影片支援丟棄畫面播放](https://en.wikipedia.org/wiki/SMPTE_timecode#Drop-frame_timecode)速率使用案例。丟棄速率時間碼格式為 *hh:mm:ss;frame*。欄位 `DurationSMPTE`、`StartTimecodeSMPTE` 和 `EndTimecodeSMPTE` 為時間碼格式。
+ 

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

您可以使用 `SegmentType` 欄位來決定 Amazon Rekognition Video 傳回的區段類型。
+ **技術提示**：`TechnicalCueSegment`欄位[是 TechnicalCueSegment](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_TechnicalCueSegment.html) 物件，其包含偵測可信度和技術提示類型。技術提示的類型為 `ColorBars`、`EndCredits`、`BlackFrames`、`OpeningCredits`、`StudioLogo`、`Slate`、和 `Content`。
+ **鏡頭**：`ShotSegment` 欄位是 [ShotSegment](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_ShotSegment.html)物件，其包含影片中鏡頭區段的偵測可信度和識別符。

 以下是來自 `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
        }
    ]
}
```

如需範例程式碼，請參閱 [範例：偵測已存放影片中的區段](segment-example.md)。