Risoluzione dei problemi dello streaming di video - 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à.

Risoluzione dei problemi dello streaming di video

In questo argomento sono disponibili le informazioni per l'uso di Video Amazon Rekognition con i video in streaming.

Non so se il processore di streaming è stato creato

Utilizzate il seguente AWS CLI comando per ottenere un elenco degli stream processor e il loro stato attuale.

aws rekognition list-stream-processors

È possibile ottenere ulteriori dettagli utilizzando il AWS CLI comando seguente. Sostituisci stream-processor-name con il nome processore di streaming desiderato.

aws rekognition describe-stream-processor --name stream-processor-name

Non so se il processore di streaming è stato configurato correttamente

Se il codice non restituisce i risultati dell'analisi di Video Amazon Rekognition, è possibile che l'elaboratore di flussi non sia configurato correttamente. Esegui le operazioni seguenti per verificare che il processore di streaming sia configurato correttamente e in grado di produrre risultati.

Per determinare se la soluzione è stata configurata correttamente
  1. Eseguire il seguente comando per verificare che il processore di streaming sia in esecuzione. Sostituire stream-processor-name con il nome del processore di streaming. Il processore di streaming è in esecuzione se il valore di Status è RUNNING. Se lo stato è RUNNING e non vengono restituiti risultati, consultare Il processore di streaming non restituisce risultati. Se lo stato è FAILED, consultare Lo stato del processore di streaming è FAILED.

    aws rekognition describe-stream-processor --name stream-processor-name
  2. Se lo stream processor è in esecuzione, esegui il seguente PowerShell comando o Bash per leggere i dati dal flusso di dati Kinesis in uscita.

    Bash

    SHARD_ITERATOR=$(aws kinesis get-shard-iterator --shard-id shardId-000000000000 --shard-iterator-type TRIM_HORIZON --stream-name kinesis-data-stream-name --query 'ShardIterator') aws kinesis get-records --shard-iterator $SHARD_ITERATOR

    PowerShell

    aws kinesis get-records --shard-iterator ((aws kinesis get-shard-iterator --shard-id shardId-000000000000 --shard-iterator-type TRIM_HORIZON --stream-name kinesis-data-stream-name).split('"')[4])
  3. Utilizzare lo strumento di decodifica sul sito Web di Base64 Decode per decodificare l'output in una stringa leggibile. Per ulteriori informazioni consultare Fase 3: estrazione del record.

  4. Se i comandi funzionano e i risultati del rilevamento facciale sono presenti nel flusso di dati Kinesis, la soluzione è configurata correttamente. Se il comando non riesce, verificare gli altri suggerimenti della risoluzione dei problemi e consultare Concessione ad Video Amazon Rekognition dell'accesso alle risorse.

In alternativa, puoi utilizzare il AWS Lambda modello "kinesis-process-record" per registrare i messaggi dal flusso di dati Kinesis CloudWatch per una visualizzazione continua. Ciò comporta costi aggiuntivi per e. AWS Lambda CloudWatch

Il processore di streaming non restituisce risultati

Il processore di streaming potrebbe non restituire risultati per diversi motivi.

Motivo 1: il processore di streaming non è configurato correttamente

Il processore di streaming potrebbe non essere configurato correttamente. Per ulteriori informazioni, consulta Non so se il processore di streaming è stato configurato correttamente.

Motivo 2: il processore di streaming non è nello stato RUNNING

Per risolvere il problema dello stato del processore di streaming
  1. Controllate lo stato dello stream processor con il seguente AWS CLI comando.

    aws rekognition describe-stream-processor --name stream-processor-name
  2. Se il valore di Status è STOPPED, avviare del processore di streaming con il seguente comando:

    aws rekognition start-stream-processor --name stream-processor-name
  3. Se il valore di Status è FAILED, consultare Lo stato del processore di streaming è FAILED.

  4. Se il valore di Status è STARTING, attendere 2 minuti e controllare lo stato ripetendo la fase 1. Se il valore dello stato è ancora STARTING, procedere nel seguente modo:

    1. Eliminare il processore di streaming con il seguente comando.

      aws rekognition delete-stream-processor --name stream-processor-name
    2. Creare un nuovo processore di streaming con la stessa configurazione. Per ulteriori informazioni, consulta Utilizzo di eventi video in streaming.

    3. Se i problemi persistono, contatta l' AWS assistenza.

  5. Se il valore di Status è RUNNING, consultare Motivo 3: non sono presenti dati attivi nel flusso video Kinesis.

Motivo 3: non sono presenti dati attivi nel flusso video Kinesis

Per controllare se sono presenti dati attivi nel flusso video Kinesis
  1. Accedi a e apri AWS Management Console la console Amazon Kinesis Video Streams all'indirizzo https://console.aws.amazon.com/kinesisvideo/.

  2. Seleziona il flusso video Kinesis che è l'input per l'elaboratore di flussi Amazon Rekognition.

  3. Se l'anteprima indica Dati non presenti nel flusso, non sono presenti dati nel flusso di input per l'elaborazione di Video Amazon Rekognition.

Per informazioni su come produrre video con Kinesis Video Streams, consulta Librerie Producer di Kinesis Streams.

Lo stato del processore di streaming è FAILED

Puoi controllare lo stato di uno stream processor utilizzando il seguente AWS CLI comando.

aws rekognition describe-stream-processor --name stream-processor-name

Se il valore dello stato è FAILED, verifica le informazioni della risoluzione dei problemi per i seguenti messaggi di errore.

Errore di accesso negato al ruolo

Il ruolo IAM utilizzato dall'elaboratore di flussi non esiste o Video Amazon Rekognition non dispone dell'autorizzazione per assumere il ruolo.

Per risolvere i problemi relativi all'accesso al ruolo IAM
  1. Accedi AWS Management Console e apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/.

  2. Dal riquadro di navigazione a sinistra, scegliere Ruoli e verificare che il ruolo esista.

  3. Se il ruolo esiste, verifica che il ruolo abbia la politica delle AmazonRekognitionServiceRoleautorizzazioni.

  4. Se il ruolo non esiste o non dispone delle autorizzazioni appropriate, vedere Concessione ad Video Amazon Rekognition dell'accesso alle risorse.

  5. Avvia lo stream processor con il seguente AWS CLI comando.

    aws rekognition start-stream-processor --name stream-processor-name

Errore di accesso negato a Kinesis Video o a Kinesis Data

Il ruolo non dispone dell'accesso alle operazioni API Kinesis Video Streams GetMedia e GetDataEndpoint. È inoltre possibile che non abbia accesso alle operazioni API Kinesis Data Streams PutRecord e PutRecords.

Per risolvere i problemi relativi alle autorizzazioni delle API
  1. Accedi AWS Management Console e apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/.

  2. Aprire il ruolo e verificare che sia collegata la seguente policy di autorizzazioni.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kinesis:PutRecord", "kinesis:PutRecords" ], "Resource": "data-arn" }, { "Effect": "Allow", "Action": [ "kinesisvideo:GetDataEndpoint", "kinesisvideo:GetMedia" ], "Resource": "video-arn" } ] }
  3. Se mancano le autorizzazioni, aggiornare la policy. Per ulteriori informazioni, consulta Concessione ad Video Amazon Rekognition dell'accesso alle risorse.

Errore: «Lo stream input-video-stream-namenon esiste»

L'input del flusso video Kinesis per l'elaboratore di flussi non esiste o non è configurato correttamente.

Per risolvere i problemi relativi al flusso video Kinesis
  1. Utilizzare il comando seguente per verificare che il flusso esista.

    aws kinesisvideo list-streams
  2. Se il flusso è presente, verificare quanto segue.

    • Il nome della risorsa Amazon (ARN) deve essere uguale all'ARN del flusso di input per il processore di streaming.

    • Il flusso video Kinesis è nella stessa regione dell'elaboratore di flussi.

    Se lo stream processor non è configurato correttamente, eliminalo con il seguente AWS CLI comando.

    aws rekognition delete-stream-processor --name stream-processor-name
  3. Creare un nuovo processore di streaming con il flusso video Kinesis desiderato. Per ulteriori informazioni, consulta Creazione dell'elaboratore di flussi per la ricerca di volti Video Amazon Rekognition.

Errore di raccolta non trovata

La raccolta Amazon Rekognition utilizzata dall'elaboratore di flussi per il riconoscimento dei volti non esiste oppure viene utilizzata una raccolta non corretta.

Per verificare la raccolta
  1. Utilizzate il AWS CLI comando seguente per determinare se esiste la raccolta richiesta. Passa region alla AWS regione in cui stai utilizzando lo stream processor.

    aws rekognition list-collections --region region

    Se la raccolta non esiste, creare una nuova raccolta e aggiungere le informazioni per il riconoscimento facciale. Per ulteriori informazioni, consulta Ricerca di volti in una raccolta.

  2. Nella chiamata a CreateStreamProcessor, verifica che il valore del parametro di CollectionId input sia corretto.

  3. Avvia lo stream processor con il seguente AWS CLI comando.

    aws rekognition start-stream-processor --name stream-processor-name

Errore: «Stream output-kinesis-data-stream-name in account account-id non trovato»

Il flusso di dati Kinesis in uscita utilizzato dallo stream processor non esiste nella tua regione Account AWS o non si trova nella stessa AWS regione dello stream processor.

Per risolvere i problemi relativi al flusso di dati Kinesis
  1. Usa il seguente AWS CLI comando per determinare se esiste il flusso di dati Kinesis. Passa region alla AWS regione in cui stai utilizzando lo stream processor.

    aws kinesis list-streams --region region
  2. Se il flusso di dati Kinesis esiste, verificare che il nome del flusso di dati Kinesis sia uguale al nome del flusso di output utilizzato dal processore di streaming.

  3. Se il flusso di dati Kinesis non esiste, potrebbe esistere in un'altra AWS regione. Il flusso di dati Kinesis deve essere nella stessa regione del processore di streaming.

  4. Se necessario, creare un nuovo flusso di dati Kinesis.

    1. Creare un flusso di dati Kinesis con lo stesso nome del processore di flusso. Per ulteriori informazioni, consultare Fase 1: creazione di un flusso di dati.

    2. Avvia lo stream processor con il seguente AWS CLI comando.

      aws rekognition start-stream-processor --name stream-processor-name

Il processore di streaming non restituisce i risultati previsti

Se il processore di streaming non restituisce le corrispondenze previste per il riconoscimento facciale, utilizza le seguenti informazioni.