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 monitorare gli individui in un video o in un 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àrilevamento personee.
REST
Inviare una richiesta di annotazione video
Di seguito è riportato un esempio di 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, apporta le seguenti sostituzioni:
- INPUT_URI: un bucket Cloud Storage contenente il file che 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 del tuo progetto Google Cloud
Metodo HTTP e URL:
POST https://videointelligence.googleapis.com/v1/videos:annotate
Corpo JSON della 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 l'operazione. L'esempio riportato sopra mostra una risposta di questo tipo, in cui:
- 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
,asia-east1
. Se non viene specificata alcuna regione, ne verrà determinata una in base alla posizione del file video. - OPERATION_ID: l'ID dell'operazione a lunga esecuzione creata
per la richiesta e fornito nella risposta all'avvio dell'operazione, ad esempio
12345...
Recupero risultati annotazione
Per recuperare il risultato dell'operazione, invia 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, apporta 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 del 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 delle inquadrature vengono restituite come elencoshotAnnotations
.
Nota: il campo done viene restituito solo quando il suo valore è True.
Non è incluso nelle risposte per cui l'operazione non è stata completata.
Scaricare i risultati delle annotazioni
Copia l'annotazione dalla sorgente al bucket di destinazione: (vedi Copiare file e oggetti)
gcloud storage cp gcs_uri gs://my-bucket
Nota: se l'URI GCS di output viene fornito dall'utente, l'annotazione viene archiviata in questo URI GCS.
Java
Per eseguire l'autenticazione in Video Intelligence, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per eseguire l'autenticazione in Video Intelligence, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per eseguire l'autenticazione in Video Intelligence, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Linguaggi aggiuntivi
C#: Segui le istruzioni di configurazione di C# nella pagina delle librerie client e poi visita la documentazione di riferimento di Video Intelligence per .NET.
PHP: Segui le istruzioni di configurazione di PHP nella pagina delle librerie client e poi visita la documentazione di riferimento di Video Intelligence per PHP.
Ruby: Segui le istruzioni di 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 rilevamento persone per trovare entità in un video da un file video caricato dalla macchina locale.
REST
Invia la richiesta di elaborazione
Per eseguire rilevamento persone in un file video locale, codifica in Base64 i contenuti
del file video. Per informazioni su come codificare in Base64 i contenuti di un file video, consulta la sezione Codifica Base64. Poi, invia una richiesta POST al
metodo
videos:annotate
. Includi i contenuti codificati in 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 all'API Video Intelligence.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- inputContent: File video locale in formato binario
Ad esempio: "AAAAGGZ0eXBtcDQyAAAAAGlzb21tcDQyAAGVYW1vb3YAAABsbXZoZAAAAADWvhlR1r4ZUQABX5ABCOxo AAEAAAEAAAAAAA4..." - PROJECT_NUMBER: L'identificatore numerico del tuo progetto Google Cloud
Metodo HTTP e URL:
POST https://videointelligence.googleapis.com/v1/videos:annotate
Corpo JSON della 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 restituisce name
per l'operazione. L'esempio
mostrato sopra illustra una risposta di questo tipo, in cui project-number
è il numero del tuo progetto e operation-id
è l'ID dell'operazione a lunga esecuzione creata per la richiesta.
{
"name": "us-west1.17122464255125931980"
}
Visualizzare 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, apporta 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 del 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 le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per eseguire l'autenticazione in Video Intelligence, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per eseguire l'autenticazione in Video Intelligence, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Linguaggi aggiuntivi
C#: Segui le istruzioni di configurazione di C# nella pagina delle librerie client e poi visita la documentazione di riferimento di Video Intelligence per .NET.
PHP: Segui le istruzioni di configurazione di PHP nella pagina delle librerie client e poi visita la documentazione di riferimento di Video Intelligence per PHP.
Ruby: Segui le istruzioni di configurazione di Ruby nella pagina delle librerie client e poi visita la documentazione di riferimento di Video Intelligence per Ruby.