Résolution des problèmes de streaming vidéo - Amazon Rekognition

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Résolution des problèmes de streaming vidéo

Cette rubrique fournit des informations permettant de résoudre les problèmes d’utilisation de Vidéo Amazon Rekognition avec des vidéos en streaming.

Je ne sais pas si mon processeur de flux a été créé avec succès

Utilisez la AWS CLI commande suivante pour obtenir la liste des processeurs de flux et leur état actuel.

aws rekognition list-stream-processors

Vous pouvez obtenir des informations supplémentaires à l'aide de la AWS CLI commande suivante. Remplacez stream-processor-name par le nom du processeur de flux requis.

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

Je ne sais pas si j’ai configuré mon processeur de flux correctement

Si votre code ne donne pas des résultats d’analyse à partir de Vidéo Amazon Rekognition, votre processeur de flux n’est peut-être pas configuré correctement. Procédez comme suit pour vérifier que votre processeur de flux est configuré correctement et capable de produire des résultats.

Pour déterminer si votre solution est configurée correctement
  1. Exécutez la commande suivante pour vérifier que votre processeur de flux est en cours d’exécution. Remplacez stream-processor-name par le nom de votre processeur de flux. Le processeur de flux est en cours d’exécution si la valeur de Status est RUNNING. Si le statut est RUNNING et que vous n’obtenez pas de résultats, consultez Mon processeur de flux ne renvoie pas de résultats.. Si l’état est FAILED, consultez L’état de mon processeur de flux est FAILED.

    aws rekognition describe-stream-processor --name stream-processor-name
  2. Si votre processeur de flux est en cours d'exécution, exécutez le Bash ou la PowerShell commande suivante pour lire les données du flux de données Kinesis en sortie.

    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. Utilisez l’outil de décodage sur le site web Base64 Decode pour décoder la sortie en chaîne compréhensible par les utilisateurs. Pour plus d’informations, consultez Etape 3 : Obtenir l’enregistrement.

  4. Si les commandes fonctionnent et que vous voyez des résultats de détection de visages dans les flux de données Kinesis, cela signifie que votre solution a été configurée correctement. Si la commande échoue, vérifiez les autres suggestions de résolution de problèmes et consultez Octroi à Vidéo Amazon Rekognition d’un accès à vos ressources.

Vous pouvez également utiliser le AWS Lambda plan « kinesis-process-record » pour enregistrer les messages provenant du flux de données Kinesis CloudWatch afin de les visualiser en continu. Cela entraîne des coûts supplémentaires pour AWS Lambda et. CloudWatch

Mon processeur de flux ne renvoie pas de résultats.

Plusieurs raisons peuvent expliquer pourquoi votre processeur de flux ne renvoie pas de résultats.

Raison 1 : votre processeur de flux n’est pas configuré correctement

Il est possible que votre processeur de flux ne soit pas configuré correctement. Pour plus d’informations, consultez Je ne sais pas si j’ai configuré mon processeur de flux correctement.

Raison 2 : votre processeur de flux n’est pas dans l’état RUNNING

Pour résoudre un problème d’état du processeur de flux
  1. Vérifiez l'état du processeur de flux à l'aide de la AWS CLI commande suivante.

    aws rekognition describe-stream-processor --name stream-processor-name
  2. Si la valeur de Status est STOPPED, démarrez votre processeur de flux à l’aide de la commande suivante :

    aws rekognition start-stream-processor --name stream-processor-name
  3. Si la valeur de Status est FAILED, consultez L’état de mon processeur de flux est FAILED.

  4. Si la valeur de Status est STARTING, attendez 2 minutes et vérifiez l’état en répétant l’étape 1. Si la valeur de l’état est toujours STARTING, procédez comme suit :

    1. Supprimez le processeur de flux à l’aide de la commande suivante.

      aws rekognition delete-stream-processor --name stream-processor-name
    2. Créez processeur de flux avec la même configuration. Pour plus d’informations, consultez Utilisation d'événements vidéo en streaming.

    3. Si le problème persiste, contactez le AWS Support.

  5. Si la valeur de Status est RUNNING, consultez Raison 3 : il n’y a pas de données actives dans le flux vidéo Kinesis.

Raison 3 : il n’y a pas de données actives dans le flux vidéo Kinesis

Pour vérifier s’il n’y a pas de données actives dans le flux vidéo Kinesis
  1. Connectez-vous à la AWS Management Console console Amazon Kinesis Video Streams et ouvrez-la à l'adresse https://console.aws.amazon.com/kinesisvideo/.

  2. Sélectionnez le flux vidéo Kinesis qui est l’entrée du processeur de flux Amazon Rekognition.

  3. Si l’aperçu indique No data on stream, cela signifie qu’il n’y a pas de données à traiter dans le flux d’entrée par Vidéo Amazon Rekognition.

Pour plus d’informations sur la production de vidéos avec Kinesis Video Streams, consultez Bibliothèques de production de flux vidéo Kinesis.

L’état de mon processeur de flux est FAILED

Vous pouvez vérifier l'état d'un processeur de flux à l'aide de la AWS CLI commande suivante.

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

Si la valeur de l’état est FAILED, vérifiez les informations de résolution de problèmes pour les messages d’erreur suivants.

Erreur : « Access denied to Role »

Le rôle IAM qui est utilisé par le processeur de flux n’existe pas ou Vidéo Amazon Rekognition n’a pas l’autorisation d’assumer ce rôle.

Pour résoudre les problèmes d’accès au rôle IAM
  1. Connectez-vous à la console IAM AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/iam/.

  2. Dans le panneau de navigation gauche, choisissez Roles (Rôles) et vérifiez que le rôle existe.

  3. Si le rôle existe, vérifiez qu'il est conforme à la politique AmazonRekognitionServiceRoled'autorisation.

  4. Si le rôle n’existe pas ou n’a pas les autorisations appropriées, consultez Octroi à Vidéo Amazon Rekognition d’un accès à vos ressources.

  5. Démarrez le processeur de flux à l'aide de la AWS CLI commande suivante.

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

Erreur : « Access denied to Kinesis Video ou Access denied to Kinesis Data »

Le rôle n’a pas accès aux opérations d’API Kinesis Video Streams GetMedia et GetDataEndpoint. Il est également possible qu’il n’ait pas accès aux opérations d’API flux de données Kinesis PutRecord et PutRecords.

Pour résoudre les problèmes relatifs aux autorisations d’API
  1. Connectez-vous à la console IAM AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/iam/.

  2. Ouvrez le rôle et assurez-vous que la stratégie d’autorisations suivante lui est attachée.

    { "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. S’il manque l’une des autorisations, mettez à jour la stratégie. Pour plus d’informations, consultez Octroi à Vidéo Amazon Rekognition d’un accès à vos ressources.

Erreur : « Le flux input-video-stream-namen'existe pas »

L’entrée flux vidéo Kinesis du processeur de flux n’existe pas ou n’a pas été configurée correctement.

Pour résoudre les problèmes de flux de vidéo Kinesis
  1. Utilisez la commande suivante pour vérifier que le flux existe.

    aws kinesisvideo list-streams
  2. Si le flux existe, vérifiez les points suivants.

    • L’Amazon Resource Name (ARN) est identique à l’ARN du flux d’entrée pour le processeur de flux.

    • Le flux vidéo Kinesis doit se trouver dans la même région que le processeur de flux.

    Si le processeur de flux n'est pas configuré correctement, supprimez-le à l'aide de la AWS CLI commande suivante.

    aws rekognition delete-stream-processor --name stream-processor-name
  3. Créez un processeur de flux avec les flux vidéo Kinesis. Pour plus d’informations, consultez Création du processeur de flux de recherche faciale Vidéo Amazon Rekognition.

Erreur  : « Collection non trouvée »

La collection Amazon Rekognition utilisée par le processeur de flux pour trouver les correspondances de visages n’existe pas ou la mauvaise collection est utilisée.

Pour vérifier qu’il s’agit de la bonne collection
  1. Utilisez la AWS CLI commande suivante pour déterminer si la collection requise existe. Passez region à la AWS région dans laquelle vous utilisez votre processeur de streaming.

    aws rekognition list-collections --region region

    Si la collection requise n’existe pas, créez-en une nouvelle et ajoutez des informations sur le visage. Pour plus d’informations, consultez Recherche de visages dans une collection.

  2. Lors de votre appel à CreateStreamProcessor, vérifiez que la valeur du paramètre CollectionId d'entrée est correcte.

  3. Démarrez le processeur de flux à l'aide de la AWS CLI commande suivante.

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

Erreur : « Le output-kinesis-data-streamnom du stream sous l'identifiant du compte est introuvable »

Le flux de données Kinesis de sortie utilisé par le processeur de flux n'existe pas dans votre région Compte AWS ou ne se trouve pas dans la même AWS région que votre processeur de flux.

Pour résoudre les problèmes de flux de données Kinesis
  1. Utilisez la AWS CLI commande suivante pour déterminer si le flux de données Kinesis existe. Passez region à la AWS région dans laquelle vous utilisez votre processeur de streaming.

    aws kinesis list-streams --region region
  2. Si le flux de données Kinesis existe, vérifiez que le nom de flux de données Kinesis est le même que celui du flux de sortie qui est utilisé par le processeur de flux.

  3. Si le flux de données Kinesis n'existe pas, il se peut qu'il existe dans une autre AWS région. Le flux de données Kinesis doit se trouver dans la même région que le processeur de flux.

  4. Le cas échéant, créez un flux de données Kinesis.

    1. Créez un flux de données Kinesis avec le même nom que celui utilisé par le processeur de flux. Pour plus d’informations, consultez Etape 1 : Création d’un flux de données.

    2. Démarrez le processeur de flux à l'aide de la AWS CLI commande suivante.

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

Mon processeur de flux ne renvoie pas les résultats attendus

Si votre processeur de flux ne renvoie pas les correspondances de visages attendues, utilisez les informations suivantes.