Il seguente esempio di codice mostra come rilevare le persone in un file video utilizzando l'API Video Intelligence.
Video Intelligence può rilevare la presenza di persone in un file video e tenere traccia delle persone in un video o segmento video.
Rilevamento di persone da un file in Cloud Storage
Di seguito viene illustrato come inviare una richiesta di annotazione a Video Intelligence con la funzionalità di rilevamento persone.
REST
Invia richiesta di annotazione video
Di seguito viene mostrato come inviare una richiesta POST al metodo videos:annotate
. L'esempio utilizza Google Cloud CLI per creare un token di accesso. Per istruzioni sull'installazione di gcloud CLI, consulta la guida rapida dell'API Video Intelligence.
Vedi anche PersonDetectionConfig
.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- INPUT_URI: un bucket Cloud Storage che contiene il file su cui vuoi annotare, incluso il nome del file. Deve iniziare con
gs://
.
Ad esempio:
"inputUri": "gs://cloud-samples-data/video/googlework_short.mp4"
- PROJECT_NUMBER: l'identificatore numerico per il tuo progetto Google Cloud
Metodo HTTP e URL:
POST https://videointelligence.googleapis.com/v1/videos:annotate
Corpo JSON richiesta:
{ "inputUri": "INPUT_URI", "features": ["PERSON_DETECTION"], "videoContext": { "personDetectionConfig": { "includeBoundingBoxes": true, "includePoseLandmarks": true, "includeAttributes": true } } }
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
Se la risposta ha esito positivo, l'API Video Intelligence restituisce name
per la tua
operazione. Quanto sopra mostra un esempio di tale risposta, dove:
- PROJECT_NUMBER: il numero del progetto
- LOCATION_ID: la regione Cloud in cui deve avvenire l'annotazione. Le regioni cloud supportate sono:
us-east1
,us-west1
,europe-west1
easia-east1
. Se non viene specificata alcuna regione, verrà determinata in base alla località del file video. - OPERATION_ID: l'ID dell'operazione a lunga esecuzione creata per la richiesta e fornito nella risposta quando hai avviato l'operazione, ad esempio
12345...
Recupero risultati annotazione
Per recuperare il risultato dell'operazione, effettua una richiesta GET utilizzando il nome dell'operazione restituito dalla chiamata a videos:annotate, come mostrato nell'esempio seguente.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- OPERATION_NAME: il nome dell'operazione
restituito dall'API Video Intelligence. Il nome dell'operazione ha il formato
projects/PROJECT_NUMBER/locations/LOCATION_ID/operations/OPERATION_ID
- PROJECT_NUMBER: l'identificatore numerico per il tuo progetto Google Cloud
Metodo HTTP e URL:
GET https://videointelligence.googleapis.com/v1/OPERATION_NAME
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
Le annotazioni di rilevamento degli scatti vengono restituite come elencoshotAnnotations
.
Nota: il campo done viene restituito solo quando il valore è True.
Non è incluso nelle risposte per le quali l'operazione non è stata completata.
Scarica risultati annotazioni
Copia l'annotazione dall'origine al bucket di destinazione: (vedi Copia di file e oggetti).
gsutil cp gcs_uri gs://my-bucket
Nota: se l'URI gcs di output viene fornito dall'utente, l'annotazione viene memorizzata nell'URI gcs.
Java
Per eseguire l'autenticazione in Video Intelligence, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per eseguire l'autenticazione in Video Intelligence, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per eseguire l'autenticazione in Video Intelligence, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Linguaggi aggiuntivi
C#: segui le istruzioni per la configurazione di C# nella pagina relativa alle librerie client e consulta la documentazione di riferimento di Video Intelligence per .NET.
PHP: segui le istruzioni per la configurazione dei file PHP nella pagina Librerie client, quindi consulta la documentazione di riferimento di Video Intelligence per PHP.
Ruby: segui le istruzioni per la configurazione di Ruby nella pagina delle librerie client e poi visita la documentazione di riferimento di Video Intelligence per Ruby.
Rilevamento di persone da un file locale
L'esempio seguente utilizza il rilevamento persone per trovare entità in un video da un file video caricato dalla tua macchina locale.
REST
Invia la richiesta di processo
Per eseguire il rilevamento persone su un file video locale, esegui la codifica base64
dei contenuti del file video. Per informazioni sulla codifica Base64 dei contenuti di un file video, consulta l'articolo sulla codifica Base64. Quindi, effettua una richiesta POST utilizzando il metodo videos:annotate
. Includi i contenuti con codifica Base64 nel campo inputContent
della richiesta e specifica la funzionalità PERSON_DETECTION
.
Di seguito è riportato un esempio di richiesta POST mediante curl. L'esempio utilizza Google Cloud CLI per creare un token di accesso. Per istruzioni sull'installazione di gcloud CLI, consulta la guida rapida dell'API Video Intelligence
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- inputContent: File video locale in formato binario
Ad esempio: "AAAAGGZ0eXBtcDQyAAAAAGlzb21tcDQyAAGVYW1vb3YAAABsbXZoZAAAAADWvhlR1r4ZUQABX5ABCOxo AAEAAAAAAAEAAA4..." - PROJECT_NUMBER: l'identificatore numerico per il tuo progetto Google Cloud
Metodo HTTP e URL:
POST https://videointelligence.googleapis.com/v1/videos:annotate
Corpo JSON richiesta:
{ "inputUri": "Local video file in binary format", "features": ["PERSON_DETECTION"], "videoContext": { "personDetectionConfig": { "includeBoundingBoxes": true, "includePoseLandmarks": true, "includeAttributes": true } } }
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
Se la richiesta ha esito positivo, Video Intelligence il name
per la tua operazione. Quanto sopra mostra un esempio di tale risposta, dove project-number
è il numero del progetto e operation-id
è l'ID dell'operazione a lunga esecuzione creata per la richiesta.
{
"name": "us-west1.17122464255125931980"
}
Visualizza i risultati
Per recuperare il risultato dell'operazione, effettua una richiesta GET all'endpoint operations
e specifica il nome dell'operazione.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- OPERATION_NAME: il nome dell'operazione
restituito dall'API Video Intelligence. Il nome dell'operazione ha il formato
projects/PROJECT_NUMBER/locations/LOCATION_ID/operations/OPERATION_ID
- PROJECT_NUMBER: l'identificatore numerico per il tuo progetto Google Cloud
Metodo HTTP e URL:
GET https://videointelligence.googleapis.com/v1/OPERATION_NAME
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
Java
Per eseguire l'autenticazione in Video Intelligence, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per eseguire l'autenticazione in Video Intelligence, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per eseguire l'autenticazione in Video Intelligence, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Linguaggi aggiuntivi
C#: segui le istruzioni per la configurazione di C# nella pagina relativa alle librerie client e consulta la documentazione di riferimento di Video Intelligence per .NET.
PHP: segui le istruzioni per la configurazione dei file PHP nella pagina Librerie client, quindi consulta la documentazione di riferimento di Video Intelligence per PHP.
Ruby: segui le istruzioni per la configurazione di Ruby nella pagina delle librerie client e poi visita la documentazione di riferimento di Video Intelligence per Ruby.