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.
Argomenti
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
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 diStatus
è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
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_ITERATORPowerShell
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])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. 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
Controllate lo stato dello stream processor con il seguente AWS CLI comando.
aws rekognition describe-stream-processor --name
stream-processor-name
Se il valore di
Status
èSTOPPED
, avviare del processore di streaming con il seguente comando:aws rekognition start-stream-processor --name
stream-processor-name
Se il valore di
Status
èFAILED
, consultare Lo stato del processore di streaming è FAILED.Se il valore di
Status
èSTARTING
, attendere 2 minuti e controllare lo stato ripetendo la fase 1. Se il valore dello stato è ancoraSTARTING
, procedere nel seguente modo:Eliminare il processore di streaming con il seguente comando.
aws rekognition delete-stream-processor --name
stream-processor-name
Creare un nuovo processore di streaming con la stessa configurazione. Per ulteriori informazioni, consulta Utilizzo di eventi video in streaming.
Se i problemi persistono, contatta l' AWS assistenza.
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
Seleziona il flusso video Kinesis che è l'input per l'elaboratore di flussi Amazon Rekognition.
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
Accedi AWS Management Console e apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/
. Dal riquadro di navigazione a sinistra, scegliere Ruoli e verificare che il ruolo esista.
Se il ruolo esiste, verifica che il ruolo abbia la politica delle AmazonRekognitionServiceRoleautorizzazioni.
Se il ruolo non esiste o non dispone delle autorizzazioni appropriate, vedere Concessione ad Video Amazon Rekognition dell'accesso alle risorse.
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
Accedi AWS Management Console e apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/
. 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
" } ] }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-name
non 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
Utilizzare il comando seguente per verificare che il flusso esista.
aws kinesisvideo list-streams
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
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
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.
Nella chiamata a CreateStreamProcessor, verifica che il valore del parametro di
CollectionId
input sia corretto.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
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
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.
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.
Se necessario, creare un nuovo flusso di dati Kinesis.
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.
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.