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 identique à celui de l'utilisation de l'API Amazon Rekognition Video avec AWS ou un autre AWS. AWS SDK for Java SDKs Pour de plus amples informations, veuillez consulter Présentation de l’API Vidéo Amazon Rekognition. 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é l’analyse de la vidéo, le statut d’achèvement est envoyé à la rubrique Amazon SNS spécifiée dans le paramètre --notification-channel
de start-label-detection
. Vous pouvez obtenir le statut d’achèvement en abonnant une file d’attente Amazon Simple Queue Service (Amazon SQS) à la rubrique Amazon SNS. Vous pouvez ensuite interroger receive-message pour obtenir le statut d’achèvement à partir de la file d’attente Amazon SQS.
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 de statut d’achèvement est une structure JSON dans la réponse receive-message
. Vous devez extraire le code JSON de la réponse. Pour plus d’informations sur le code JSON du statut d’achèvement, consultez Référence : Notification des résultats d’une analyse vidéo. Si la valeur du champ Status
du code JSON du statut d’achèvement est SUCCEEDED
, vous pouvez obtenir les résultats de la demande d’analyse vidéo en appelant get-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 le code requis pour interroger la file d’attente Amazon SQS. Elles n’incluent également pas le code requis pour analyser le code JSON renvoyé à partir de la file d’attente Amazon SQS. Pour obtenir un exemple en Java, consultez Analyse d’une vidéo stockée dans un compartiment Amazon S3 avec Java or 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 compte AWS que vous utilisez doit avoir les autorisations d’accès à l’API Amazon Rekognition. Pour plus d’informations, Actions définies par Amazon Rekognition.
Pour configurer Vidéo Amazon Rekognition et télécharger une vidéo
-
Configurez l’accès des utilisateurs à Vidéo Amazon Rekognition et configurez l’accès de Vidéo Amazon Rekognition à Amazon SNS. Pour de plus amples informations, veuillez consulter Configuration de Vidéo Amazon Rekognition.
-
Chargez un fichier vidéo au format MOV ou MPEG-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
-
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":"amzn-s3-demo-bucket","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
amzn-s3-demo-bucket
etvideofile
par le nom du compartiment Amazon S3 et le nom du fichier que vous avez spécifiés à l’étape 2. -
Remplacez
us-east-1
par la région AWS 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. -
Remplacez
TopicARN
par l’ARN de la rubrique Amazon SNS que vous avez créée à l’étape 3 de Configuration de Vidéo Amazon Rekognition. -
Remplacez
RoleARN
par l’ARN de la fonction du service que vous avez créé à l’étape 7 de Configuration de Vidéo Amazon Rekognition. -
Si nécessaire, vous pouvez spécifier le
endpoint-url
. La CLI AWS doit déterminer automatiquement l’URL du point de terminaison approprié en fonction de la région fournie. Toutefois, si vous utilisez un point de terminaison de votre VPC privé, il peut être nécessaire de spécifier leendpoint-url
. La ressource AWS Service 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 unLabelsExclusionFilter
à côté d’une liste de valeurs souhaitées.
Si vous accédez à la CLI sur un périphérique Windows, utilisez des guillemets doubles au lieu de guillemets simples et évitez les guillemets doubles internes 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\":\"amzn-s3-demo-bucket",\"Name\":\"video-name\"}}" --notification-channel "{\"SNSTopicArn\":\"TopicARN\",\"RoleArn\":\"RoleARN\"}" \ --region us-east-1 --features GENERAL_LABELS --settings "{\"GeneralLabels\":{\"LabelInclusionFilters\":[\"Car\"]}}" --profile profile-name
-
-
Notez la valeur de
JobId
dans la réponse. La réponse est semblable à l’exemple JSON suivant.{ "JobId": "547089ce5b9a8a0e7831afa655f42e5d7b5c838553f1a584bf350ennnnnnnnnn" }
-
Écrivez le code pour interroger la file d’attente Amazon SQS sur le statut d’achèvement JSON (à l’aide de receive-message).
-
Écrivez le code pour extraire le champ
Status
du code JSON de statut d’achèvement. -
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
\ --regionus-east-1
--sort-by TIMESTAMP aggregate-by TIMESTAMPSMettez à jour les valeurs suivantes :
-
Remplacez
JobId
par l’identifiant de tâche que vous avez noté à l’étape 2. -
Remplacez
Endpoint
etus-east-1
par le point de terminaison et la région AWS que vous utilisez.
Les résultats sont semblables à l’exemple JSON suivant :
{ "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" } }, .......
-