翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
このトピックでは、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 の分析結果が出力されない場合、ストリームプロセッサが正常に設定されていない可能性があります。ストリームプロセッサが正しく設定され、結果を生成することができることを確認するには、次を実行します。
ソリューションが正しく設定されているかどうか判断するには
次のコマンドを実行して、ストリームプロセッサが実行状態にあることを確認します。
stream-processor-name
を使用するストリームプロセッサの名前に変更します。ストリームプロセッサが実行されている場合、Status
の値はRUNNING
です。ステータスがRUNNING
であり、結果が表示されない場合には、「使用するストリームプロセッサが結果を返しません」を参照してください。ステータスがFAILED
の場合には、「ストリームプロセッサの状態が FAILED (失敗) になる」を参照してください。aws rekognition describe-stream-processor --name
stream-processor-name
ストリームプロセッサが実行されている場合には、次の 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_ITERATORPowerShell
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])Base64 デコードウェブサイトでデコードツール
を使用して、人間が読み取れる文字列に出力をデコードします。詳細については、「ステップ 3: レコードの取得」を参照してください。 コマンドが動作し、Kinesis データストリームに顔検出結果が表示される場合、ソリューションは適切に設定されています。コマンドが失敗した場合は、他のトラブルシューティング解決策を試し、「Amazon Rekognition Video にリソースへのアクセス権を付与する」を参照してください。
または、kinesis-process-record AWS Lambda 」ブループリントを使用して、Kinesis データストリームから CloudWatch にメッセージをログ記録し、継続的な視覚化を行うことができます。これには、 AWS Lambda と CloudWatch の追加コストが発生します。
使用するストリームプロセッサが結果を返しません
いくつかの要因によりストリームプロセッサが結果を返さないことがあります。
要因 1: ストリームプロセッサが正しく設定されていない
ストリームプロセッサが正しく設定されていない可能性があります。詳細については、「ストリームプロセッサを正しく設定しているかがわかりません」を参照してください。
要因 2: ストリームプロセッサが RUNNING (実行中) ステータスではない
ストリームプロセッサのステータスをトラブルシューティングするには
次の AWS CLI コマンドを使用して、ストリームプロセッサのステータスを確認します。
aws rekognition describe-stream-processor --name
stream-processor-name
Status
の値がSTOPPED
の場合、ストリームプロセッサを次のコマンドで開始します。aws rekognition start-stream-processor --name
stream-processor-name
Status
の値がFAILED
の場合、「ストリームプロセッサの状態が FAILED (失敗) になる」を参照してください。Status
の値がSTARTING
の場合、2 分ほど待機してから、ステップ 1 を繰り返してステータスを確認します。ステータスの値が依然としてSTARTING
の場合には、次の操作を行います。次のコマンドを実行して、ストリームプロセッサを削除します。
aws rekognition delete-stream-processor --name
stream-processor-name
同じ設定で新しいストリームプロセッサを作成します。詳細については、「ストリーミングビデオイベントの操作」を参照してください。
それでも問題が解決しない場合は、 AWS サポートにお問い合わせください。
Status
の値がRUNNING
の場合、「要因 3: Kinesis ビデオストリームにアクティブデータがない」を参照してください。
要因 3: Kinesis ビデオストリームにアクティブデータがない
Kinesis ビデオストリームにアクティブなデータがあるかどうかをチェックするには
にサインインし AWS Management Console、https://console.aws.amazon.com/kinesisvideo/
で Amazon Kinesis Video Streams コンソールを開きます。 Amazon Rekognition ストリームプロセッサの入力である Kinesis ビデオストリームを選択します。
プレビュー状態が [ストリームにデータなし] の場合は、入力ストリームに 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 ロールへのアクセスをトラブルシューティングするには
にサインイン AWS Management Console し、https://console.aws.amazon.com/iam/
で IAM コンソールを開きます。 左のナビゲーションペインから [ロール] を選択し、ロールが存在することを確認します。
ロールが存在する場合は、このロールに AmazonRekognitionServiceRole アクセス許可ポリシーがあることを確認します。
ロールが存在しない、あるいは適切なアクセス許可がない場合には、「Amazon Rekognition Video にリソースへのアクセス権を付与する」を参照してください。
次の 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 アクセス権限をトラブルシューティングするには
にサインイン AWS Management Console し、https://console.aws.amazon.com/iam/
で IAM コンソールを開きます。 ロールを開き、次のアクセス許可ポリシーがアタッチされていることを確認します。
{ "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
" } ] }いずれかのアクセス許可がない場合には、ポリシーを更新します。詳細については、「Amazon Rekognition Video にリソースへのアクセス権を付与する」を参照してください。
エラー: "Stream input-video-stream-name
doesn't exist"
ストリームプロセッサへの Kinesis ビデオストリームの入力が存在しないか、正しく設定されていません。
Kinesis ビデオストリームをトラブルシューティングするには
次のコマンドを使用して、ストリームがあることを確認します。
aws kinesisvideo list-streams
ストリームが存在する場合、次を確認します。
Amazon リソースネーム (ARN) は、ストリームプロセッサの入力ストリームの ARN と同じです。
Kinesis ビデオストリームは、ストリームプロセッサと同じリージョンにあります。
ストリームプロセッサが正しく設定されていない場合は、次の AWS CLI コマンドを使用して削除します。
aws rekognition delete-stream-processor --name
stream-processor-name
目的の Kinesis ビデオストリームで新しいストリームプロセッサを作成します。詳細については、「Amazon Rekognition Video 顔検索ストリームプロセッサの作成」を参照してください。
エラー: "Collection not found"
顔と一致するためにストリームプロセッサによって使用される Amazon Rekognition コレクションが存在しない、または間違ったコレクションが使用されています。
コレクションを確認するには
次の AWS CLI コマンドを使用して、必要なコレクションが存在するかどうかを確認します。ストリームプロセッサを実行している AWS リージョン
region
に変更します。aws rekognition list-collections --region
region
必要なコレクションが存在しない場合には、新しいコレクションを作成して顔情報を追加します。詳細については、「コレクション内での顔の検索」を参照してください。
CreateStreamProcessor の呼び出しで、
CollectionId
入力パラメータの値が正確であることを確認します。次の AWS CLI コマンドを使用してストリームプロセッサを起動します。
aws rekognition start-stream-processor --name
stream-processor-name
エラー: "Stream output-kinesis-data-stream-name
under account account-id
not found"
ストリームプロセッサによって使用される出力 Kinesis データストリームが に存在しない AWS アカウント か、ストリームプロセッサと同じ AWS リージョンにありません。
Kinesis データストリームをトラブルシューティングするには
次の AWS CLI コマンドを使用して、Kinesis データストリームが存在するかどうかを確認します。ストリームプロセッサを使用している AWS リージョン
region
に変更します。aws kinesis list-streams --region
region
Kinesis データストリームが存在する場合、Kinesis データストリーム名がストリームプロセッサによって使用される出力ストリームの名前と同じであることを確認します。
Kinesis データストリームが存在しない場合は、別の AWS リージョンに存在する可能性があります。Kinesis データストリームは、ストリームプロセッサと同じリージョンにある必要があります。
必要に応じて、新しい Kinesis データストリームを作成します。
ストリームプロセッサによって使用される名前と同じ名前の Kinesis データストリームを作成します。詳細については、「ステップ 1: データストリームを作成する」を参照してください。
次の AWS CLI コマンドを使用してストリームプロセッサを起動します。
aws rekognition start-stream-processor --name
stream-processor-name
使用するストリームプロセッサが予測された結果を返さない
ストリームプロセッサが予測された顔の一致を返さない場合、次の情報を使用します。