

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
<a name="video-cli-commands"></a>

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 pour Java SDKs Pour de plus amples informations, veuillez consulter [Présentation de l’API Vidéo Amazon Rekognition](video.md#video-api-overview). 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](https://docs.aws.amazon.com/cli/latest/reference/sqs/receive-message.html) 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](labels-detecting-labels-video.md).

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](video-notification-payload.md). 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)](video-analyzing-with-sqs.md). 

## Conditions préalables
<a name="video-prerequisites"></a>

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](getting-started.md). 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonrekognition.html#amazonrekognition-actions-as-permissions). 

**Pour configurer Vidéo Amazon Rekognition et télécharger une vidéo**

1. 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](api-video-roles.md).

1. 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](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UploadingObjectsintoAmazonS3.html) 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":"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` et `videofile` 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](api-video-roles.md).
   + Remplacez `RoleARN` par l’ARN de la fonction du service que vous avez créé à l’étape 7 de [Configuration de Vidéo Amazon Rekognition](api-video-roles.md).
   + 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é](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html#what-is-privatelink), il peut être nécessaire de spécifier le `endpoint-url`. La ressource [AWS Service Endpoints](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-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 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 \$1) 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
   ```

1. Notez la valeur de `JobId` dans la réponse. La réponse est semblable à l’exemple JSON suivant.

   ```
   {
       "JobId": "547089ce5b9a8a0e7831afa655f42e5d7b5c838553f1a584bf350ennnnnnnnnn"
   }
   ```

1. Écrivez le code pour interroger la file d’attente Amazon SQS sur le statut d’achèvement JSON (à l’aide de [receive-message](https://docs.aws.amazon.com/cli/latest/reference/sqs/receive-message.html)).

1. Écrivez le code pour extraire le champ `Status` du code JSON de statut d’achèvement.

1. Si la valeur de `Status` est`SUCCEEDED`, 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.
   + Remplacez `Endpoint` et `us-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"
               }
           }, .......
   ```