

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

# Kinesis Video Streams를 사용하여 로컬에서 Rekognition 결과 표시
<a name="displaying-rekognition-results-locally"></a>

 [KinesisVideo - Rekognition 예제](https://github.com/aws/amazon-kinesis-video-streams-parser-library#kinesisvideo---rekognition-examples)에서 제공하는 Amazon Kinesis Video Streams 구문 분석 라이브러리의 예제 테스트를 사용하여 Amazon Kinesis Video Streams의 피드에 표시된 Amazon Rekognition Video의 결과를 확인할 수 있습니다. `KinesisVideoRekognitionIntegrationExample`는 감지된 얼굴 위에 경계 상자를 표시하고 JFrame을 통해 로컬에서 비디오를 렌더링합니다. 이 프로세스는 디바이스 카메라의 미디어 입력을 Kinesis 비디오 스트림에 성공적으로 연결하고 Amazon Rekognition 스트림 프로세서를 시작했다는 것을 가정한 것입니다. 자세한 내용은 [GStreamer 플러그인을 사용한 스트리밍](streaming-using-gstreamer-plugin.md) 단원을 참조하십시오.

## 1단계: Kinesis Video Streams 구문 분석 라이브러리 설치
<a name="step-1-install-parser-library"></a>

 디렉터리를 생성하고 GitHub 리포지토리를 다운로드하려면 다음 명령을 실행하세요.

```
$ git clone https://github.com/aws/amazon-kinesis-video-streams-parser-library.git
```

 라이브러리 디렉터리로 이동한 후 다음 Maven 명령을 실행하여 클린 설치를 수행합니다.

```
$ mvn clean install
```

## 2단계: Kinesis Video Streams 및 Rekognition 통합 예제 테스트 구성
<a name="step-2-configure-kinesis-video-rekognition-example-test"></a>

 `KinesisVideoRekognitionIntegrationExampleTest.java` 파일을 엽니다. 클래스 헤더 바로 뒤에 있는 `@Ignore`를 제거합니다. Amazon Kinesis 및 Amazon Rekognition 리소스의 정보로 데이터 필드를 채웁니다. 자세한 내용은 [Amazon Rekognition Video 및 Amazon Kinesis 리소스 설정](setting-up-your-amazon-rekognition-streaming-video-resources.md) 단원을 참조하십시오. Kinesis 비디오 스트림으로 비디오를 스트리밍하는 경우 `inputStream` 파라미터를 제거하세요.

 다음 코드 예제를 참조하세요.

```
RekognitionInput rekognitionInput = RekognitionInput.builder()
  .kinesisVideoStreamArn("arn:aws:kinesisvideo:us-east-1:123456789012:stream/rekognition-test-video-stream")
  .kinesisDataStreamArn("arn:aws:kinesis:us-east-1:123456789012:stream/AmazonRekognition-rekognition-test-data-stream")
  .streamingProcessorName("rekognition-test-stream-processor")
  // Refer how to add face collection :
  // https://docs.aws.amazon.com/rekognition/latest/dg/add-faces-to-collection-procedure.html
  .faceCollectionId("rekognition-test-face-collection")
  .iamRoleArn("rekognition-test-IAM-role")
  .matchThreshold(0.95f)
  .build();                
            
KinesisVideoRekognitionIntegrationExample example = KinesisVideoRekognitionIntegrationExample.builder()
  .region(Regions.US_EAST_1)
  .kvsStreamName("rekognition-test-video-stream")
  .kdsStreamName("AmazonRekognition-rekognition-test-data-stream")
  .rekognitionInput(rekognitionInput)
  .credentialsProvider(new ProfileCredentialsProvider())
  // NOTE: Comment out or delete the inputStream parameter if you are streaming video, otherwise
  // the test will use a sample video. 
  //.inputStream(TestResourceUtil.getTestInputStream("bezos_vogels.mkv"))
  .build();
```

## 3단계: Kinesis Video Streams 및 Rekognition 통합 예제 테스트 실행
<a name="step-3-run-kinesis-video-rekognition-example-test"></a>

 Kinesis 비디오 스트림으로 스트리밍하는 경우 Kinesis 비디오 스트림이 미디어 입력을 받고 있는지 확인하고 Amazon Rekognition Video 스트림 프로세서가 실행 중인 상태에서 스트림 분석을 시작하세요. 자세한 내용은 [Amazon Rekognition Video 스트림 프로세서 작업 개요](streaming-video.md#using-rekognition-video-stream-processor) 단원을 참조하십시오. `KinesisVideoRekognitionIntegrationExampleTest` 클래스를 JUnit 테스트로 실행하세요. 잠시 후 Kinesis 비디오 스트림의 비디오 피드가 포함된 새 창이 열리고 감지된 얼굴 위에 경계 상자가 그려집니다.

**참고**  
 이 예제에 사용된 컬렉션의 얼굴에 경계 상자 레이블이 유의미한 텍스트를 표시하기 위해서는 외부 이미지 ID(파일 이름)가 다음 형식으로 지정되어 있어야 합니다. PersonName1-Trusted, PersonName2-Intruder, PersonName3-Neutral 등. 레이블은 색상으로 구분할 수도 있으며 FaceType.java 파일에서 사용자 지정할 수도 있습니다.