

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Amazon Rekognition Segment API 사용
<a name="segment-api"></a>

Amazon Rekognition Video의 저장된 비디오 속 얼굴 감지는 Amazon Rekognition Video 비동기 작업입니다. Amazon Rekognition Segment 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` 필드에 반환됩니다.

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

비디오에서 감지된 기술적 큐와 샷 정보는 [SegmentDetection](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_SegmentDetection.html) 객체의 `Segments` 배열에 반환됩니다. 배열은 `StartSegmentDetection`의 `SegmentTypes` 입력 파라미터에 지정된 세그먼트 유형(TECHICAL\_CUE 또는 SHOT)을 기준으로 정렬됩니다. 각 세그먼트 유형 내에서 배열은 타임스탬프 값으로 정렬됩니다. 각 `SegmentDetection` 객체에는 감지된 세그먼트 유형(기술적 큐 또는 샷 감지)에 대한 정보와 세그먼트 시작 시간, 종료 시간 및 재생 시간과 같은 일반 정보가 포함됩니다.

시간 정보는 세 가지 형식으로 반환됩니다.
+ 

**밀리초**  
비디오가 시작된 이후 경과한 시간(밀리초)입니다. `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개 프레임을 의미합니다. 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) 항목을 참조하세요.