

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 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 は、1 つの [VideoMetadata](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_VideoMetadata.html) オブジェクトを `VideoMetadata` 配列で返します。このオブジェクトには、Amazon Rekognition Video が分析のために選択した入力ファイル内のビデオストリームに関する情報が含まれます。`VideoMetadata` オブジェクトには、ビデオコーデック、ビデオ形式、およびその他の情報が含まれます。ビデオのメタデータは、`GetSegmentDetection` によって返される情報の各ページに含まれます。
+ **ページング情報** この例では、セグメント情報の 1 ページを示します。要素を返す数は、`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` 入力パラメータで指定されたセグメントタイプ (TECHNICAL\_CUE または SHOT) でソートされます。各セグメントタイプ内で、配列はタイムスタンプ値でソートされます。各 `SegmentDetection` オブジェクトには、検出されたセグメントのタイプ (テクニカルキューまたはショット検出) に関する情報と、開始時間、終了時間、セグメントの長さなどの一般情報が含まれます。

時間情報は 3 つの形式で返されます。
+ 

**ミリ秒**  
ビデオ開始からのミリ秒数。フィールド `DurationMillis`、`StartTimestampMillis`、および `EndTimestampMillis` はミリ秒形式です。
+ 

**タイムコード**  
Amazon Rekognition Video タイムコードは [SMPTE](https://en.wikipedia.org/wiki/SMPTE_timecode) 形式で、ビデオの各フレームに固有のタイムコード値を持っています。形式は *hh:mm:ss:frame* です。たとえば、01:05:40:07 というタイムコード値は、1 時間、5 分、40 秒、7 フレームとして読み取られます。[ドロップフレーム](https://en.wikipedia.org/wiki/SMPTE_timecode#Drop-frame_timecode) レートのユースケースは、Amazon Rekognition Video でサポートされています。ドロップレートのタイムコード形式は *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)」を参照してください。