

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Analisi di un video con AWS Command Line Interface
<a name="video-cli-commands"></a>

Puoi usare il AWS Command Line Interface (AWS CLI) per chiamare le operazioni di Amazon Rekognition Video. Il modello di progettazione è lo stesso dell'utilizzo dell'API Amazon Rekognition Video con o altri SDK AWS. AWS SDK per Java Per ulteriori informazioni, consulta [Panoramica dell'API Video Amazon Rekognition](video.md#video-api-overview). Le seguenti procedure mostrano come utilizzare il per rilevare le etichette AWS CLI in un video.

Puoi iniziare a rilevare le etichette in un video chiamando `start-label-detection`. Quando Video Amazon Rekognition termina l'analisi video, lo stato di completamento viene inviato all'argomento specificato nel parametro `--notification-channel` di `start-label-detection`. Puoi ottenere lo stato di completamento dall'argomento Amazon SNS, utilizzando una coda Amazon Simple Queue Service (Amazon SQS). Puoi quindi eseguire il polling di [receive-message](https://docs.aws.amazon.com/cli/latest/reference/sqs/receive-message.html) per ottenere lo stato di completamento dalla coda Amazon SQS.

Durante la chiamata`StartLabelDetection`, è possibile filtrare i risultati fornendo argomenti di filtraggio agli `LabelsInclusionFilter` and/or `LabelsExclusionFilter` argomenti. Per ulteriori informazioni, consulta [Rilevamento di etichette in un video](labels-detecting-labels-video.md).

La notifica relativa allo stato di completamento è una struttura JSON all'interno della risposta `receive-message`. È necessario estrarre la struttura JSON dalla risposta. Per informazioni sulla struttura JSON dello stato di completamento, consulta [Riferimento: Notifica dei risultati dell'analisi video](video-notification-payload.md). Se il valore del campo `Status` della struttura JSON relativa allo stato di completamento è `SUCCEEDED`, puoi ottenere i risultati della richiesta di analisi video chiamando `get-label-detection`. Durante la chiamata`GetLabelDetection`, è possibile ordinare e aggregare i risultati restituiti utilizzando gli argomenti `SortBy` and`AggregateBy`.

Le seguenti procedure non includono il codice per eseguire il polling della coda Amazon SQS. Inoltre, non includono il codice per analizzare la struttura JSON restituita dalla coda Amazon SQS. Per un esempio in formato Java, consulta [Analisi di un video archiviato in un bucket Amazon S3 con Java o Python (SDK)](video-analyzing-with-sqs.md). 

## Prerequisiti
<a name="video-prerequisites"></a>

Per eseguire questa procedura, è necessario avere AWS CLI installato il. Per ulteriori informazioni, consulta [Nozioni di base su Amazon Rekognition](getting-started.md). L'account AWS utilizzato deve disporre di autorizzazioni di accesso all'API Amazon Rekognition. Per ulteriori informazioni, [Azioni definite da Video Amazon Rekognition](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonrekognition.html#amazonrekognition-actions-as-permissions). 

**Per configurare Video Amazon Rekognition e caricare un video**

1. Configura l'accesso utente ad Video Amazon Rekognition e configura l'accesso di Video Amazon Rekognition ad Amazon SNS. Per ulteriori informazioni, consulta [Configurazione di Video Amazon Rekognition](api-video-roles.md).

1. Carica un file video in formato MOV o MPEG-4 in formato nel tuo bucket S3. Durante le fasi di sviluppo e test, consigliamo l'utilizzo di video brevi, non più lunghi di 30 secondi.

   Per le istruzioni, consulta [Caricamento di oggetti in Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UploadingObjectsintoAmazonS3.html) nella *Guida per l'utente di Amazon Simple Storage Service*.

**Per rilevare le etichette in un video**

1. Esegui il seguente AWS CLI comando per iniziare a rilevare le etichette in un video.

   ```
   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"]}}
   ```

   Aggiorna i seguenti valori:
   + Modifica `amzn-s3-demo-bucket` e `videofile` con il nome del bucket Amazon S3 e il nome del file specificati nella fase 2.
   + Cambia `us-east-1` con la regione AWS che stai utilizzando.
   + Sostituisci il valore di `profile_name` nella riga che crea la sessione di Rekognition con il nome del tuo profilo di sviluppatore.
   + Cambia `TopicARN` con l'ARN dell'argomento Amazon SNS creato nella fase 3 di [Configurazione di Video Amazon Rekognition](api-video-roles.md).
   + Modifica `RoleARN` con l'ARN del ruolo di servizio IAM creato nella fase 7 di [Configurazione di Video Amazon Rekognition](api-video-roles.md).
   + Se richiesto, puoi specificare `endpoint-url`. L'AWS CLI dovrebbe determinare automaticamente l'URL dell'endpoint corretto in base alla regione fornita. Tuttavia, se utilizzi un endpoint [dal tuo VPC privato](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html#what-is-privatelink), potrebbe essere necessario specificare l’`endpoint-url`. La risorsa [AWS Service Endpoints](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints) elenca la sintassi per specificare gli URL degli endpoint e i nomi e i codici per ogni regione.
   + Puoi anche includere criteri di filtraggio nel parametro delle impostazioni. Ad esempio, è possibile utilizzare un `LabelsInclusionFilter` o a `LabelsExclusionFilter` accanto a un elenco di valori desiderati.

    Se accedi alla CLI da un dispositivo Windows, usa le virgolette doppie anziché le virgolette singole ed evita le virgolette doppie interne tramite barra rovesciata (ovvero, \\) per risolvere eventuali errori del parser che potresti riscontrare. Un esempio è fornito di seguito: 

   ```
   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. Prendi nota del valore di `JobId` nella risposta. La risposta si presenta in maniera analoga all'esempio di struttura JSON riportato di seguito.

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

1. Scrivi il codice per eseguire il polling della coda Amazon SQS in base alla struttura JSON dello stato di completamento (utilizzando [receive-message](https://docs.aws.amazon.com/cli/latest/reference/sqs/receive-message.html)).

1. Scrivi il codice per estrarre il campo `Status` dalla struttura JSON dello stato di completamento.

1. Se il valore di `Status` è`SUCCEEDED`, esegui il AWS CLI comando seguente per mostrare i risultati del rilevamento delle etichette.

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

   Aggiorna i seguenti valori:
   + Modifica `JobId` in modo che corrisponda all'identificatore del processo di cui hai preso nota nella fase 2.
   + Modifica `Endpoint` e `us-east-1` nella regione e nell'endpoint AWS in uso.

   I risultati si presentano in maniera analoga all'esempio di struttura JSON riportato di seguito:

   ```
   {
       "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"
               }
           }, .......
   ```