Analyse d'une vidéo à l'aide du AWS Command Line Interface - 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.

Analyse d'une vidéo à l'aide du AWS Command Line Interface

Vous pouvez utiliser le AWS Command Line Interface (AWS CLI) pour appeler les opérations Amazon Rekognition Video. Le modèle de conception est le même que celui utilisé pour utiliser Amazon Rekognition API Video avec ou autre. AWS SDK for Java AWS SDKs Pour de plus amples informations, veuillez consulter Présentation d'Amazon Rekognition Video API. Les procédures suivantes montrent comment utiliser le AWS CLI pour détecter des étiquettes dans une vidéo.

Vous commencez à détecter des étiquettes dans une vidéo en appelant start-label-detection. Lorsque Amazon Rekognition a terminé d'analyser la vidéo, le statut d'achèvement est envoyé à la rubrique SNS Amazon spécifiée dans le paramètre de. --notification-channel start-label-detection Vous pouvez obtenir le statut d'achèvement en inscrivant une file d'attente Amazon Simple Queue Service (AmazonSQS) à la SNS rubrique Amazon. Vous interrogez ensuite le message de réception pour obtenir l'état d'achèvement de la file d'attente AmazonSQS.

Lorsque vous appelez StartLabelDetection, vous pouvez filtrer vos résultats en fournissant des arguments de filtration aux arguments LabelsInclusionFilter et/ou LabelsExclusionFilter. Pour plus d'informations, consultez Détection des étiquettes dans une vidéo.

La notification d'état d'achèvement est une JSON structure intégrée à la receive-message réponse. Vous devez les extraire JSON de la réponse. Pour plus d'informations sur l'état d'achèvementJSON, consultezRéférence : Notification des résultats d’une analyse vidéo. Si la valeur du Status champ du statut complété JSON estSUCCEEDED, vous pouvez obtenir les résultats de la demande d'analyse vidéo en appelantget-label-detection. Lorsque vous appelez GetLabelDetection, vous pouvez trier et agréger les résultats renvoyés à l’aide SortBy et AggregateBy.

Les procédures suivantes n'incluent pas de code pour interroger la SQS file d'attente Amazon. De plus, ils n'incluent pas de code pour analyser le contenu JSON renvoyé par la SQS file d'attente Amazon. Pour obtenir un exemple en Java, consultez Analyse d'une vidéo stockée dans un compartiment Amazon S3 avec Java ou Python (SDK).

Prérequis

Pour exécuter cette procédure, vous devez avoir AWS CLI installé le. Pour de plus amples informations, veuillez consulter Premiers pas avec Amazon Rekognition. Le AWS compte que vous utilisez doit disposer des autorisations d'accès à Amazon Rekognition. API Pour plus d’informations, Actions définies par Amazon Rekognition.

Pour configurer Vidéo Amazon Rekognition et télécharger une vidéo
  1. Configurez l'accès des utilisateurs à Amazon Rekognition Video et configurez l'accès d'Amazon Rekognition Video à Amazon. SNS Pour de plus amples informations, veuillez consulter Configuration de Vidéo Amazon Rekognition.

  2. Téléchargez un fichier vidéo au format MPEG -4 MOV ou au format -4 dans votre compartiment S3. Pendant le développement et les tests, nous suggérons d’utiliser des vidéos courtes de moins de 30 secondes.

    Pour en savoir plus, consultez Chargement d’objets dans Amazon S3 dans le Guide de l’utilisateur Amazon Simple Storage Service.

Pour détecter des étiquettes dans une vidéo
  1. Exécutez la AWS CLI commande suivante pour commencer à détecter les étiquettes dans une vidéo.

    aws rekognition start-label-detection --video '{"S3Object":{"Bucket":"bucket-name","Name":"video-name"}}' \ --notification-channel '{"SNSTopicArn":"TopicARN","RoleArn":"RoleARN"}' \ --region region-name \ --features GENERAL_LABELS \ --profile profile-name \ --settings "{"GeneralLabels":{"LabelInclusionFilters":["Car"]}}

    Mettez à jour les valeurs suivantes :

    • Remplacez bucketname et videofile par le nom du compartiment Amazon S3 et le nom du fichier que vous avez spécifiés à l’étape 2.

    • Passez us-east-1 à la AWS région que vous utilisez.

    • Remplacez la valeur de profile_name dans la ligne qui crée la session de Rekognition par le nom de votre profil de développeur.

    • Passez TopicARN à ARN la SNS rubrique Amazon que vous avez créée à l'étape 3 deConfiguration de Vidéo Amazon Rekognition.

    • Passez RoleARN au rôle ARN de IAM service que vous avez créé à l'étape 7 deConfiguration de Vidéo Amazon Rekognition.

    • Si nécessaire, vous pouvez spécifier le endpoint-url. Ils AWS CLI devraient automatiquement déterminer le point de terminaison approprié URL en fonction de la région fournie. Toutefois, si vous utilisez un point de terminaison privé VPC, vous devrez peut-être spécifier leendpoint-url. La ressource AWSService Endpoints répertorie la syntaxe permettant de spécifier les URL des points de terminaison ainsi que les noms et codes de chaque région.

    • Vous pouvez également inclure des critères de filtrage dans le réglage des paramètres. Par exemple, vous pouvez utiliser un LabelsInclusionFilter ou un LabelsExclusionFilter à côté d’une liste de valeurs souhaitées.

    Si vous y accédez CLI sur un appareil Windows, utilisez des guillemets doubles au lieu de guillemets simples et évitez les guillemets doubles intérieurs par une barre oblique inverse (c'est-à-dire \) pour corriger les erreurs d'analyse que vous pourriez rencontrer. Pour un exemple, voir ci-dessous :

    aws rekognition start-label-detection --video "{\"S3Object\":{\"Bucket\":\"bucket-name\",\"Name\":\"video-name\"}}" --notification-channel "{\"SNSTopicArn\":\"TopicARN\",\"RoleArn\":\"RoleARN\"}" \ --region us-east-1 --features GENERAL_LABELS --settings "{\"GeneralLabels\":{\"LabelInclusionFilters\":[\"Car\"]}}" --profile profile-name
  2. Notez la valeur de JobId dans la réponse. La réponse ressemble à l'JSONexemple suivant.

    { "JobId": "547089ce5b9a8a0e7831afa655f42e5d7b5c838553f1a584bf350ennnnnnnnnn" }
  3. Écrivez du code pour interroger la SQS file d'attente Amazon pour connaître l'état d'achèvement JSON (en utilisant receive-message).

  4. Écrivez du code pour extraire le Status champ de l'état d'achèvementJSON.

  5. Si la valeur de Status estSUCCEEDED, exécutez la AWS CLI commande suivante pour afficher les résultats de détection des étiquettes.

    aws rekognition get-label-detection --job-id JobId \ --region us-east-1 --sort-by TIMESTAMP aggregate-by TIMESTAMPS

    Mettez à jour les valeurs suivantes :

    • Remplacez JobId par l’identifiant de tâche que vous avez noté à l’étape 2.

    • Modifiez Endpoint le AWS point us-east-1 de terminaison et la région que vous utilisez.

    Les résultats sont similaires à ceux de l'exemple suivant JSON :

    { "Labels": [ { "Timestamp": 0, "Label": { "Confidence": 99.03720092773438, "Name": "Speech" } }, { "Timestamp": 0, "Label": { "Confidence": 71.6698989868164, "Name": "Pumpkin" } }, { "Timestamp": 0, "Label": { "Confidence": 71.6698989868164, "Name": "Squash" } }, { "Timestamp": 0, "Label": { "Confidence": 71.6698989868164, "Name": "Vegetable" } }, .......