Troubleshooting Streaming Video - Amazon Rekognition

문서의 영문과 번역 사이에 충돌이 있는 경우에는 영문 버전을 따릅니다. 번역 버전은 기계 번역을 사용하여 제공합니다.

Troubleshooting Streaming Video

이 주제에서는 스트리밍 비디오에 Amazon Rekognition Video 사용할 경우의 문제 해결 정보를 제공합니다.

I don't know if my stream processor was successfully created

스트림 프로세서 목록과 현재 상태를 가져오려면 다음 AWS CLI 명령을 사용합니다.

aws rekognition list-stream-processors

다음 AWS CLI 명령을 사용하여 추가 세부 정보를 가져올 수 있습니다. stream-processor-name을 요청된 스트림 프로세서 이름으로 바꿉니다.

aws rekognition describe-stream-processor --name stream-processor-name

I don't know if I've configured my stream processor correctly

코드가 Amazon Rekognition Video에서 분석 결과를 출력하고 있지 않다면 스트림 프로세서가 올바로 구성되지 않았을 수 있습니다. 다음을 수행하여 스트림 프로세서가 올바로 구성되었고 결과를 생성할 수 있는지 확인하십시오.

솔루션이 올바로 구성되었는지 확인하려면

  1. 다음 명령을 실행하여 스트림 프로세서가 실행 중 상태인지 확인합니다. stream-processor-name을 해당 스트림 프로세서의 이름으로 변경합니다. 스트림 프로세서는 Status is RUNNING. 상태가 RUNNING 결과를 얻지 못하고 My stream processor isn't returning results. 상태가 FAILED인 경우, The state of my stream processor is FAILED 단원을 참조하십시오.

    aws rekognition describe-stream-processor --name stream-processor-name
  2. 스트림 프로세서가 실행 중이라면 다음 Bash 또는 PowerShell 명령을 실행하여 출력 Kinesis 데이터 스트림에서 데이터를 읽습니다.

    Bash

    SHARD_ITERATOR=$(aws kinesis get-shard-iterator --shard-id shardId-000000000000 --shard-iterator-type TRIM_HORIZON --stream-name kinesis-data-stream-name --query 'ShardIterator') aws kinesis get-records --shard-iterator $SHARD_ITERATOR

    PowerShell

    aws kinesis get-records --shard-iterator ((aws kinesis get-shard-iterator --shard-id shardId-000000000000 --shard-iterator-type TRIM_HORIZON --stream-name kinesis-data-stream-name).split('"')[4])
  3. Base64 Decode 웹사이트에서 Decode 도구를 사용하여 출력을 사람이 읽을 수 있는 문자열로 디코딩합니다. 자세한 내용은 3단계: 기록 받기.

  4. 명령이 작동하고 Kinesis 데이터 스트림에서 얼굴 감지 결과가 표시된다면 솔루션이 올바로 구성된 것입니다. 명령이 실패하면 다른 문제 해결 제안을 확인하고 Giving Amazon Rekognition Video Access to Your Kinesis Streams 단원을 참조하십시오.

또는 "kinesis-process-record"을 사용할 수 있습니다. AWS Lambda Kinesis 데이터 스트림의 로그 메시지를 CloudWatch for 연속 시각화. 이 경우, AWS Lambda 및 CloudWatch 추가 요금이 발생합니다.

My stream processor isn't returning results

스트림 프로세서가 결과를 반환하지 않는 이유에는 몇 가지가 있을 수 있습니다.

Reason 1: Your stream processor isn't configured correctly

스트림 프로세서가 올바로 구성되지 않았을 수 있습니다. 자세한 정보는 I don't know if I've configured my stream processor correctly 단원을 참조하십시오.

Reason 2: Your stream processor isn't in the RUNNING state

스트림 프로세서 상태 문제를 해결하려면

  1. 다음 AWS CLI 명령을 사용하여 스트림 프로세서의 상태를 확인합니다.

    aws rekognition describe-stream-processor --name stream-processor-name
  2. Status 값이 STOPPED라면 다음 명령을 사용하여 스트림 프로세서를 시작합니다.

    aws rekognition start-stream-processor --name stream-processor-name
  3. Status 값이 FAILED라면 The state of my stream processor is FAILED 단원을 참조하십시오.

  4. Status 값이 STARTING이라면 2분 간 기다린 후 1단계를 반복하여 상태를 확인합니다. 상태 값이 여전히 STARTING이라면 다음을 수행합니다.

    1. 다음 명령을 사용하여 스트림 프로세서를 삭제합니다.

      aws rekognition delete-stream-processor --name stream-processor-name
    2. 동일한 구성의 새 스트림 프로세서를 생성합니다. 자세한 정보는 Working with Streaming Videos 단원을 참조하십시오.

    3. 그래도 문제가 계속되면 AWS Support에 문의하십시오.

  5. Status 값이 RUNNING라면 Reason 3: There isn't active data in the Kinesis 비디오 스트림 단원을 참조하십시오.

Reason 3: There isn't active data in the Kinesis 비디오 스트림

Kinesis 비디오 스트림에 활성 데이터가 있는지 확인하려면

  1. AWS Management Console에 로그인하고 https://console.aws.amazon.com/kinesisvideo/에서 Amazon Kinesis 비디오 스트림 콘솔을 엽니다.

  2. Amazon Rekognition 스트림 프로세서의 입력인 Kinesis 비디오 스트림를 선택합니다.

  3. 미리 보기에 No data on stream(스트림에 데이터 없음)이 표시되는 경우, Amazon Rekognition Video의 입력 스트림에 처리할 데이터가 없는 것입니다.

Kinesis 비디오 스트림를 사용한 비디오 생성에 대한 자세한 내용은 Kinesis Video Streams Producer Libraries를 참조하십시오.

The state of my stream processor is FAILED

다음 AWS CLI 명령을 사용하여 스트림 프로세서의 상태를 확인할 수 있습니다.

aws rekognition describe-stream-processor --name stream-processor-name

상태 값이 FAILED인 경우, 다음 오류 메시지의 문제 해결 정보를 확인하십시오.

Error: "Access denied to Role"

스트림 프로세서가 사용하는 IAM 역할이 존재하지 않거나 Amazon Rekognition Video에 역할을 맡을 권한이 없습니다.

IAM 역할에 대한 액세스 문제를 해결하려면

  1. AWS Management 콘솔에 로그인한 다음 https://console.aws.amazon.com/iam/에서 IAM 콘솔을 엽니다.

  2. 왼쪽 탐색 창에서 역할을 선택하고 역할이 존재하는지 확인합니다.

  3. 역할이 있으면 역할이 AmazonRekognitionServiceRole 권한 정책.

  4. 역할이 존재하지 않거나 적절한 권한을 가지고 있지 않다면 Giving Amazon Rekognition Video Access to Your Kinesis Streams 단원을 참조하십시오.

  5. 다음 AWS CLI 명령을 사용하여 스트림 프로세서를 시작합니다.

    aws rekognition start-stream-processor --name stream-processor-name

Error: "Access denied to Kinesis Video 또는 Access denied to Kinesis Data"

역할은 Kinesis 비디오 스트림 API 작업 GetMedia and GetDataEndpoint. 또한 Kinesis Data Streams API 작업 PutRecord and PutRecords.

API 권한 문제를 해결하려면

  1. AWS Management 콘솔에 로그인한 다음 https://console.aws.amazon.com/iam/에서 IAM 콘솔을 엽니다.

  2. 역할을 열고 다음 권한 정책이 연결되어 있는지 확인합니다.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kinesis:PutRecord", "kinesis:PutRecords" ], "Resource": "data-arn" }, { "Effect": "Allow", "Action": [ "kinesisvideo:GetDataEndpoint", "kinesisvideo:GetMedia" ], "Resource": "video-arn" } ] }
  3. 권한 중에 없는 것이 있다면 정책을 업데이트합니다. 자세한 정보는 Giving Amazon Rekognition Video Access to Your Kinesis Streams 단원을 참조하십시오.

Error: "Stream input-video-stream-name doesn't exist"

스트림 프로세서의 Kinesis 비디오 스트림 입력이 존재하지 않거나 올바로 구성되지 않았습니다.

Kinesis 비디오 스트림 문제를 해결하려면

  1. 다음 명령을 사용하여 스트림이 존재하는지 확인합니다.

    aws kinesisvideo list-streams
  2. 스트림이 존재하는 경우, 다음을 확인합니다.

    • The Amazon Resource Name (ARN) is same as the ARN of the input stream for the stream processor.

    • The Kinesis 비디오 스트림 is in the same Region as the stream processor.

    스트림 프로세서가 올바로 구성되지 않은 경우, 다음 AWS CLI 명령을 사용하여 삭제합니다.

    aws rekognition delete-stream-processor --name stream-processor-name
  3. 의도한 Kinesis 비디오 스트림으로 새 스트림 프로세서를 생성합니다. 자세한 정보는 Creating the Amazon Rekognition Video Stream Processor 단원을 참조하십시오.

Error: "Collection not found"

스트림 프로세서가 얼굴을 대조하는 데 사용하는 Amazon Rekognition 모음이 존재하지 않거나 잘못된 모음이 사용되고 있습니다.

모음을 확인하려면

  1. 다음 AWS CLI 명령을 사용하여 필요한 모음이 존재하는지 확인합니다. region을 스트림 프로세서를 실행 중인 AWS 리전으로 변경합니다.

    aws rekognition list-collections --region region

    필요한 모음이 존재하지 않는 경우, 새 모음을 생성하고 얼굴 정보를 추가합니다. 자세한 정보는 모음에서 얼굴 검색 단원을 참조하십시오.

  2. CreateStreamProcessor 호출에서 CollectionId 입력 파라미터의 값이 올바른지 확인합니다.

  3. 다음 AWS CLI 명령을 사용하여 스트림 프로세서를 시작합니다.

    aws rekognition start-stream-processor --name stream-processor-name

Error: "Stream output-kinesis-data-stream-name under account account-id not found"

스트림 프로세서가 사용하는 출력 Kinesis 데이터 스트림이 AWS 계정에 존재하지 않거나 스트림 프로세서와 동일한 AWS 리전에 있지 않습니다.

Kinesis 데이터 스트림 문제를 해결하려면

  1. 다음 AWS CLI 명령을 사용하여 Kinesis 데이터 스트림이 존재하는지 확인합니다. region을 스트림 프로세서를 사용 중인 AWS 리전으로 변경합니다.

    aws kinesis list-streams --region region
  2. Kinesis 데이터 스트림이 존재하는 경우, Kinesis 데이터 스트림 이름이 스트림 프로세서가 사용하는 출력 스트림의 이름과 동일한지 확인합니다.

  3. Kinesis 데이터 스트림이 존재하지 않는 경우, 다른 AWS 리전에 존재할 수 있습니다. Kinesis 데이터 스트림은 스트림 프로세서와 동일한 리전에 있어야 합니다.

  4. 필요하다면 새 Kinesis 데이터 스트림을 만듭니다.

    1. 스트림 프로세서가 사용하는 이름과 동일한 이름으로 Kinesis 데이터 스트림을 생성합니다. 자세한 내용은 1단계: 데이터 스트림 생성.

    2. 다음 AWS CLI 명령을 사용하여 스트림 프로세서를 시작합니다.

      aws rekognition start-stream-processor --name stream-processor-name

My stream processor isn't returning the expected results

스트림 프로세서가 예상 얼굴 일치를 반환하지 않는 경우, 다음 정보를 사용하십시오.