Analisi di un video con 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 AWS Command Line Interface

Puoi usare il AWS Command Line Interface (AWS CLI) per chiamare le operazioni di Amazon Rekognition Video. Lo schema di progettazione è lo stesso dell'utilizzo di Amazon Rekognition API Video con o altro. AWS SDK for Java AWS SDKs Per ulteriori informazioni, consulta Panoramica di Amazon Rekognition Video API. Le seguenti procedure mostrano come utilizzare il per AWS CLI rilevare le etichette in un video.

Puoi iniziare a rilevare le etichette in un video chiamando start-label-detection. Quando Amazon Rekognition termina l'analisi del video, lo stato di completamento viene inviato all'argomento SNS Amazon specificato nel parametro di. --notification-channel start-label-detection Puoi ottenere lo stato di completamento iscrivendoti a una coda Amazon Simple Queue Service SQS (Amazon) sull'argomento Amazon. SNS Quindi esegui un sondaggio su receive-message per ottenere lo stato di completamento dalla coda di 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 dello stato di completamento è una JSON struttura all'interno della risposta. receive-message È necessario estrarre il JSON file dalla risposta. Per informazioni sullo stato di completamentoJSON, vedereRiferimento: Notifica dei risultati dell'analisi video. Se il valore del Status campo dello stato completato JSON èSUCCEEDED, è possibile ottenere i risultati della richiesta di analisi video chiamandoget-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 SQS coda di Amazon. Inoltre, non includono il codice per analizzare JSON ciò che viene restituito dalla SQS coda di Amazon. 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 avere installato il AWS CLI . Per ulteriori informazioni, consulta Nozioni di base su Amazon Rekognition. L'AWSaccount che utilizzi deve disporre delle autorizzazioni di accesso ad Amazon RekognitionAPI. Per ulteriori informazioni, Azioni definite da Video Amazon Rekognition.

Per configurare Video Amazon Rekognition e caricare un video
  1. Configura l'accesso degli utenti ad Amazon Rekognition Video e configura l'accesso di Amazon Rekognition Video ad Amazon. SNS Per ulteriori informazioni, consulta Configurazione di Video Amazon Rekognition.

  2. Carica un file video in formato MPEG 4 MOV o 4 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 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.

    • Passa us-east-1 alla AWS regione 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.

    • Passa TopicARN ARN all'SNSargomento Amazon che hai creato nel passaggio 3 diConfigurazione di Video Amazon Rekognition.

    • Passa RoleARN al ruolo ARN di IAM servizio che hai creato nel passaggio 7 diConfigurazione di Video Amazon Rekognition.

    • Se richiesto, puoi specificare endpoint-url. AWSCLIDovrebbe determinare automaticamente l'endpoint corretto URL in base alla regione fornita. Tuttavia, se si utilizza un endpoint privato VPC, potrebbe essere necessario specificare il. endpoint-url La risorsa AWSService 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 a da un dispositivo Windows, usa le CLI virgolette doppie anziché le virgolette singole ed evita le virgolette interne usando la barra rovesciata (ad esempio\) per correggere 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 è simile all'esempio seguente. JSON

    { "JobId": "547089ce5b9a8a0e7831afa655f42e5d7b5c838553f1a584bf350ennnnnnnnnn" }
  3. Scrivi il codice per interrogare la SQS coda di Amazon per verificare lo stato di completamento JSON (utilizzando receive-message).

  4. Scrivi il codice per estrarre il Status campo dallo stato di completamento. JSON

  5. Se il valore di Status èSUCCEEDED, esegui il AWS CLI comando seguente per mostrare i risultati del rilevamento dell'etichetta.

    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.

    • Cambia Endpoint e us-east-1 vai all'AWSendpoint e alla regione che stai utilizzando.

    I risultati sono simili all'esempio JSON seguente:

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