Analisi di un video con il AWS Command Line Interface - Amazon Rekognition

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 il AWS Command Line Interface

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 for Java Per ulteriori informazioni, consulta Panoramica dell'API Video Amazon Rekognition. 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 per ottenere lo stato di completamento dalla coda Amazon SQS.

Quando chiamiStartLabelDetection, puoi filtrare i risultati fornendo argomenti di filtraggio agli argomenti LabelsInclusionFilter e/o LabelsExclusionFilter. Per ulteriori informazioni, consulta Rilevamento di etichette in un video.

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. 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 chiamataGetLabelDetection, è possibile ordinare e aggregare i risultati restituiti utilizzando gli argomenti SortBy andAggregateBy.

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).

Prerequisiti

Per eseguire questa procedura, è necessario aver AWS CLI installato il. Per ulteriori informazioni, consulta Nozioni di base su Amazon Rekognition. L'account AWS utilizzato deve disporre di autorizzazioni di accesso all'API Amazon Rekognition. Per ulteriori informazioni, Azioni definite da Video Amazon Rekognition.

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.

  2. Carica un file video in formato MOV o MPEG-4 nel 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 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":"bucket-name","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 bucketname 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.

    • Modifica RoleARN con l'ARN del ruolo di servizio IAM creato nella fase 7 di Configurazione di Video Amazon Rekognition.

    • 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, potrebbe essere necessario specificare l’endpoint-url. La risorsa AWS Service 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\":\"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. 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" }
  3. Scrivi il codice per eseguire il polling della coda Amazon SQS in base alla struttura JSON dello stato di completamento (utilizzando receive-message).

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

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