스트리밍 비디오 문제 해결 - Amazon Rekognition

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

스트리밍 비디오 문제 해결

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

스트림 프로세서가 성공적으로 생성되었는지 모르겠습니다.

다음 AWS CLI 명령을 사용하여 스트림 프로세서 목록과 현재 상태를 가져올 수 있습니다.

aws rekognition list-stream-processors

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

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

스트림 프로세서를 올바로 구성했는지 모르겠습니다

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

솔루션이 올바로 구성되었는지 확인하려면
  1. 다음 명령을 실행하여 스트림 프로세서가 실행 중 상태인지 확인합니다. stream-processor-name을 해당 스트림 프로세서의 이름으로 변경합니다. Status 값이 RUNNING이라면 스트림 프로세서가 실행 중인 것입니다. 상태가 RUNNING이고 결과를 얻지 못하는 경우, 스트림 프로세서가 결과를 반환하지 않습니다 단원을 참조하십시오. 상태가 FAILED인 경우, 스트림 프로세서의 상태가 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 데이터 스트림에서 얼굴 감지 결과가 표시된다면 솔루션이 올바로 구성된 것입니다. 명령이 실패하면 다른 문제 해결 제안을 확인하고 Amazon Rekognition Video에 리소스에 대한 액세스 권한 부여 단원을 참조하십시오.

또는 "kinesis-process-record" AWS Lambda 블루프린트를 사용하여 Kinesis 데이터 CloudWatch 스트림의 메시지를 기록하여 지속적으로 시각화할 수 있습니다. 이로 인해 및 에 대한 추가 비용이 발생합니다. AWS Lambda CloudWatch

스트림 프로세서가 결과를 반환하지 않습니다

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

이유 1: 스트림 프로세서가 올바로 구성되지 않은 경우

스트림 프로세서가 올바로 구성되지 않았을 수 있습니다. 자세한 정보는 스트림 프로세서를 올바로 구성했는지 모르겠습니다을 참조하세요.

이유 2: 스트림 프로세서 상태가 RUNNING이 아닌 경우

스트림 프로세서 상태 문제를 해결하려면
  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라면 스트림 프로세서의 상태가 FAILED입니다 단원을 참조하십시오.

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

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

      aws rekognition delete-stream-processor --name stream-processor-name
    2. 동일한 구성의 새 스트림 프로세서를 생성합니다. 자세한 정보는 스트리밍 비디오 이벤트 작업을 참조하세요.

    3. 그래도 문제가 지속되면 AWS Support에 문의하세요.

  5. Status 값이 RUNNING라면 원인 3: Kinesis 비디오 스트림에 활성 데이터가 없는 경우 단원을 참조하십시오.

원인 3: Kinesis 비디오 스트림에 활성 데이터가 없는 경우

Kinesis 비디오 스트림에 활성 데이터가 있는지 확인하려면
  1. 에 로그인하고 https://console.aws.amazon.com/kinesisvideo/ 에서 Amazon Kinesis Video Streams 콘솔을 엽니다. AWS Management Console

  2. Amazon Rekognition 스트림 프로세서에 입력되는 Kinesis 비디오 스트림을 선택합니다.

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

Kinesis Video Streams를 사용한 비디오 제작에 대한 자세한 내용은 Kinesis Video Streams Producer 라이브러리를 참조하세요.

스트림 프로세서의 상태가 FAILED입니다

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

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

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

오류: "Access denied to Role"

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

IAM 역할에 대한 액세스 문제를 해결하려면
  1. https://console.aws.amazon.com/iam/ 에서 AWS Management Console 로그인하고 IAM 콘솔을 엽니다.

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

  3. 역할이 있는 경우 역할에 AmazonRekognitionServiceRole권한 정책이 있는지 확인하십시오.

  4. 역할이 존재하지 않거나 적절한 권한을 가지고 있지 않다면 Amazon Rekognition Video에 리소스에 대한 액세스 권한 부여 단원을 참조하십시오.

  5. 다음 AWS CLI 명령으로 스트림 프로세서를 시작합니다.

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

오류: "Kinesis Video에 대한 액세스 거부됨 또는 Kinesis Data에 대한 액세스 거부됨"

해당 역할에 GetMediaGetDataEndpoint Kinesis Video Streams API 작업에 대한 액세스 권한이 없습니다. PutRecordPutRecords Kinesis Data Streams API 작업에 대한 액세스 권한도 없을 수 있습니다.

API 권한 문제를 해결하려면
  1. https://console.aws.amazon.com/iam/ 에서 AWS Management Console 로그인하고 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. 권한 중에 없는 것이 있다면 정책을 업데이트합니다. 자세한 정보는 Amazon Rekognition Video에 리소스에 대한 액세스 권한 부여을 참조하세요.

오류: '스트림이 input-video-stream-name존재하지 않습니다. '

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

Kinesis 비디오 스트림 문제를 해결하려면
  1. 다음 명령을 사용하여 스트림이 존재하는지 확인합니다.

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

    • Amazon 리소스 이름(ARN)이 스트림 프로세서 입력 스트림의 ARN과 동일합니다.

    • Kinesis 비디오 스트림은 스트림 프로세서와 동일한 리전에 있어야 합니다.

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

    aws rekognition delete-stream-processor --name stream-processor-name
  3. 의도한 Kinesis 비디오 스트림으로 새 스트림 프로세서를 생성합니다. 자세한 정보는 Amazon Rekognition Video에 얼굴 검색 스트림 프로세서 생성을 참조하세요.

오류: "Collection not found"

스트림 프로세서가 얼굴 일치에 사용하는 Amazon Rekognition 컬렉션이 존재하지 않거나 잘못된 컬렉션이 사용되고 있습니다.

모음을 확인하려면
  1. 다음 AWS CLI 명령을 사용하여 필수 컬렉션이 존재하는지 확인합니다. 스트림 프로세서를 실행 중인 AWS 지역으로 region 변경하십시오.

    aws rekognition list-collections --region region

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

  2. 를 호출할 CreateStreamProcessorCollectionId 입력 파라미터의 값이 정확한지 확인하십시오.

  3. 다음 AWS CLI 명령으로 스트림 프로세서를 시작합니다.

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

오류: “계정 ID에서 output-kinesis-data-stream스트림 이름을 찾을 수 없습니다.”

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

Kinesis 데이터 스트림 문제를 해결하려면
  1. 다음 AWS CLI 명령을 사용하여 Kinesis 데이터 스트림이 존재하는지 확인합니다. 스트림 프로세서를 사용하는 AWS 지역으로 region 변경하십시오.

    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

스트림 프로세서가 예상 결과를 반환하지 않습니다

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