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 segmento video o video.
Rilevamento persone da un file in Cloud Storage
Di seguito viene mostrato come inviare una richiesta di annotazione a Video Intelligence con la funzionalità di rilevamento persone.
REST &CMD LINE
Invia richiesta di annotazione video
Di seguito è mostrato come inviare una richiesta POST al metodo
videos:annotate
. L'esempio utilizza il token di accesso per un account di servizio configurato per il progetto utilizzando l'interfaccia a riga di comando di Google Cloud. Per istruzioni sull'installazione dell'interfaccia a riga di comando gcloud, la configurazione di un progetto con un account di servizio e l'ottenimento di un token di accesso, consulta la guida rapida dell'API Video Intelligence.
Vedi anche PersonDetectionConfig
.
Prima di utilizzare uno qualsiasi dei dati della richiesta, effettua le seguenti sostituzioni:
- INPUT_URI: un bucket Cloud Storage che contiene il file a cui vuoi aggiungere un'annotazione, incluso il nome. Deve
iniziare con
gs://
.
Ad esempio:
"inputUri": "gs://cloud-samples-data/video/googlework_short.mp4"
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 delle seguenti 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 un esempio di tale risposta, in cui:
- PROJECT_NUMBER: il numero del progetto
- LOCATION_ID: l'area geografica Cloud in cui deve avere luogo l'annotazione. Le aree geografiche cloud supportate sono:
us-east1
,us-west1
,europe-west1
,asia-east1
. Se non viene specificata alcuna area geografica, verrà determinata un'area geografica in base alla posizione del file video. - OPERATION_ID: ID dell'operazione a lunga esecuzione creata per la richiesta
e fornita nella risposta quando hai avviato l'operazione, ad esempio
12345...
Recupero dei risultati delle annotazioni
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 uno qualsiasi dei 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
Metodo HTTP e URL:
GET https://videointelligence.googleapis.com/v1/OPERATION_NAME
Per inviare la richiesta, espandi una delle seguenti opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
Le annotazioni con rilevamento di scene vengono restituite come elencoshotAnnotations
.
Nota: il campo Fine 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 Copiare file e oggetti).
gsutil cp gcs_uri gs://my-bucket
Nota: se l'utente fornisce l'output gcs uri, l'annotazione viene archiviata in quel gcs uri.
Java
Node.js
Python
Lingue aggiuntive
C#: segui le istruzioni di configurazione di C# nella pagina delle librerie client e consulta la documentazione di riferimento di Video Intelligence per .NET.
PHP: segui le istruzioni per la configurazione di PHP nella pagina delle librerie client e consulta la documentazione di riferimento di Video Intelligence per PHP.
Ruby: segui le istruzioni di configurazione di Rubby nella pagina delle librerie client e consulta la documentazione di riferimento di Video Intelligence per Ruby.
Rilevamento persone da un file locale
L'esempio seguente utilizza il rilevamento persone per trovare entità in un video proveniente da un file video caricato dalla tua macchina locale.
REST &CMD LINE
Invia la richiesta di elaborazione
Per eseguire il rilevamento persone su un file video locale, codifica in base64 ai contenuti del file video. Per informazioni su come codificare in base64 ai contenuti di un file video, consulta la sezione Codifica Base64. Dopodiché, effettua 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 che utilizza curl. L'esempio utilizza il token di accesso per un account di servizio configurato per il progetto utilizzando l'interfaccia a riga di comando di Google Cloud. Per istruzioni sull'installazione dell'interfaccia a riga di comando gcloud, sulla configurazione di un progetto con un account di servizio e sull'ottenimento di un token di accesso, consulta la guida rapida dell'API Video Intelligence
Prima di utilizzare uno qualsiasi dei dati della richiesta, effettua le seguenti sostituzioni:
- inputContent: File video locale in formato binario
Ad esempio: 'AAAAGGZ0eXBtcDQyAAAAAGlzb21tcDQyAAGVYW1vb3YAAABsbXZoZAAAAADWvhlR1r4ZUQABX5ABCOxo AAEAAAEAAAAAAA4...'
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 delle seguenti opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
Se la richiesta ha esito positivo, Video Intelligence indica l'elemento name
per l'operazione. L'esempio riportato sopra mostra un esempio di tale risposta, 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"
}
Ottieni i risultati
Per recuperare il risultato dell'operazione, effettua una richiesta GET all'endpoint di operations
e specifica il nome dell'operazione.
Prima di utilizzare uno qualsiasi dei 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
Metodo HTTP e URL:
GET https://videointelligence.googleapis.com/v1/OPERATION_NAME
Per inviare la richiesta, espandi una delle seguenti opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
Java
Node.js
Python
Lingue aggiuntive
C#: segui le istruzioni di configurazione di C# nella pagina delle librerie client e consulta la documentazione di riferimento di Video Intelligence per .NET.
PHP: segui le istruzioni per la configurazione di PHP nella pagina delle librerie client e consulta la documentazione di riferimento di Video Intelligence per PHP.
Ruby: segui le istruzioni di configurazione di Rubby nella pagina delle librerie client e consulta la documentazione di riferimento di Video Intelligence per Ruby.