ストリーミングビデオのトラブルシューティング - 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 デコードウェブサイトでデコードツールを使用して、人間が読み取れる文字列に出力をデコードします。詳細については、「ステップ 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 サポートにお問い合わせください。

  5. Status の値が RUNNING の場合、「要因 3: Kinesis ビデオストリームにアクティブデータがない」を参照してください。

要因 3: Kinesis ビデオストリームにアクティブデータがない

Kinesis ビデオストリームにアクティブなデータがあるかどうかをチェックするには
  1. にサインインし AWS Management Console、https://console.aws.amazon.com/kinesisvideo/ で Amazon Kinesis Video Streams コンソールを開きます。

  2. Amazon Rekognition ストリームプロセッサの入力である Kinesis ビデオストリームを選択します。

  3. プレビュー状態が [ストリームにデータなし] の場合は、入力ストリームに Amazon Rekognition Video が処理するデータはありません。

Kinesis Video Streams を使用してビデオを作成する詳細については、「Kinesis Video Streams プロデューサーライブラリ」を参照してください。

ストリームプロセッサの状態が FAILED (失敗) になる

次の AWS CLI コマンドを使用して、ストリームプロセッサの状態を確認できます。

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

ステータスの値が FAILED (失敗) の場合、トラブルシューティング情報で次のエラーメッセージを参照します。

エラー: "Access denied to Role"

ストリームプロセッサが使用する IAM ロールが存在しない、または Amazon Rekognition Video にこのロールを引き受ける権限がありません。

IAM ロールへのアクセスをトラブルシューティングするには
  1. にサインイン AWS Management Console し、https://console.aws.amazon.com/iam/ で IAM コンソールを開きます。

  2. 左のナビゲーションペインから [ロール] を選択し、ロールが存在することを確認します。

  3. ロールが存在する場合は、ロールに アクセスAmazonRekognitionServiceRole許可ポリシーがあることを確認します。

  4. ロールが存在しない、あるいは適切なアクセス許可がない場合には、「Amazon Rekognition Video にリソースへのアクセス権を付与する」を参照してください。

  5. 次の AWS CLI コマンドを使用してストリームプロセッサを起動します。

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

エラー: 「Kinesis ビデオへのアクセス拒否またはKinesis データへのアクセス拒否」

ロールには、Kinesis Video Streams API オペレーション GetMedia および GetDataEndpoint へのアクセス権がありません。また、Kinesis Data Streams API オペレーション PutRecord および PutRecords へのアクセス権がない可能性もあります。

API アクセス権限をトラブルシューティングするには
  1. にサインイン AWS Management Console し、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. いずれかのアクセス許可がない場合には、ポリシーを更新します。詳細については、「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

エラー:「アカウント accountoutput-kinesis-data-stream-id のストリーム -name が見つかりません

ストリームプロセッサによって使用される出力 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

使用するストリームプロセッサが予測された結果を返さない

ストリームプロセッサが予測された顔の一致を返さない場合、次の情報を使用します。