L'exemple de code suivant montre comment détecter les personnes dans un fichier vidéo à l'aide de l'API Video Intelligence.
Video Intelligence peut détecter la présence de personnes dans un fichier vidéo et suivre ces individus dans une vidéo ou un segment vidéo.
Détecter des personnes à partir d'un fichier dans Cloud Storage
L'exemple suivant montre comment envoyer une requête d'annotation à Video Intelligence avec la fonctionnalité de détection de personne.
REST
Envoyer une requête d'annotation vidéo
Vous trouverez ci-dessous la procédure à suivre pour envoyer une requête à la méthode videos:annotate
. L'exemple utilise Google Cloud CLI pour créer un jeton d'accès. Pour obtenir des instructions sur l'installation de gcloud CLI, consultez le guide de démarrage rapide de l'API Video Intelligence.
Consultez également la section sur PersonDetectionConfig
.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- INPUT_URI : bucket Cloud Storage contenant le fichier que vous souhaitez annoter, y compris son nom. Doit commencer par
gs://
.
Par exemple :
"inputUri": "gs://cloud-samples-data/video/googlework_short.mp4"
- PROJECT_NUMBER: identifiant numérique de votre projet Google Cloud
Méthode HTTP et URL :
POST https://videointelligence.googleapis.com/v1/videos:annotate
Corps JSON de la requête :
{ "inputUri": "INPUT_URI", "features": ["PERSON_DETECTION"], "videoContext": { "personDetectionConfig": { "includeBoundingBoxes": true, "includePoseLandmarks": true, "includeAttributes": true } } }
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
Si la réponse aboutit, l'API Video Intelligence renvoie le name
de votre opération. Vous trouverez ci-dessous un exemple de réponse de ce type, où :
- PROJECT_NUMBER : numéro de votre projet.
- LOCATION_ID : région cloud dans laquelle l'annotation doit avoir lieu. Les régions cloud compatibles sont les suivantes :
us-east1
,us-west1
,europe-west1
etasia-east1
. Si aucune région n'est spécifiée, une région sera déterminée en fonction de l'emplacement du fichier vidéo. - OPERATION_ID : ID de l'opération de longue durée créée pour la requête, qui est fourni dans la réponse renvoyée au démarrage de l'opération, par exemple
12345...
Obtenir des résultats d'annotation
Pour récupérer le résultat de l'opération, exécutez une requête GET en utilisant le nom d'opération renvoyé par l'appel à videos:annotate, comme indiqué dans l'exemple suivant.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- OPERATION_NAME: nom de l'opération tel qu'il a été renvoyé par l'API Video Intelligence. Il est au format suivant :
projects/PROJECT_NUMBER/locations/LOCATION_ID/operations/OPERATION_ID
. - PROJECT_NUMBER: identifiant numérique de votre projet Google Cloud
Méthode HTTP et URL :
GET https://videointelligence.googleapis.com/v1/OPERATION_NAME
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
Les annotations de détection de plans sont renvoyées sous la forme d'une listeshotAnnotations
.
Remarque: Le champ done n'est renvoyé que lorsque sa valeur est True.
Il n'est pas inclus dans les réponses pour lesquelles l'opération n'est pas terminée.
Télécharger les résultats des annotations
Copiez l'annotation de la source vers le bucket de destination (consultez la page Copier des fichiers et des objets) :
gcloud storage cp gcs_uri gs://my-bucket
Remarque : Si l'URI GCS de sortie est fourni par l'utilisateur, l'annotation est stockée dans cet URI.
Java
Pour vous authentifier auprès de Video Intelligence, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Pour vous authentifier auprès de Video Intelligence, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour vous authentifier auprès de Video Intelligence, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Langues supplémentaires
C# : Veuillez suivre les instructions de configuration de C# sur la page des bibliothèques clientes, puis consultez la documentation de référence sur Video Intelligence pour .NET.
PHP : Veuillez suivre les instructions de configuration pour PHP sur la page des bibliothèques clientes, puis consultez la documentation de référence sur Video Intelligence pour PHP.
Ruby : Veuillez suivre les instructions de configuration pour Ruby sur la page des bibliothèques clientes, puis consultez la documentation de référence sur Video Intelligence pour Ruby.
Détecter des personnes à partir d'un fichier local
L'exemple suivant utilise la détection de personnes pour rechercher des entités dans une vidéo à partir d'un fichier vidéo importé à partir de votre ordinateur local.
REST
Envoyer la requête de processus
Pour effectuer une détection de personnes sur un fichier vidéo local, encodez en base64 le contenu du fichier vidéo. Pour en savoir plus sur l'encodage du contenu d'un fichier vidéo en base64, consultez la page Encoder en base64. Envoyez ensuite une requête POST à la méthode videos:annotate
. Incluez le contenu encodé en base64 dans le champ inputContent
de la requête et spécifiez la fonctionnalité PERSON_DETECTION
.
Voici un exemple de requête POST effectuée avec curl. L'exemple utilise la Google Cloud CLI pour créer un jeton d'accès. Pour obtenir des instructions sur l'installation de gcloud CLI, consultez le guide de démarrage rapide de l'API Video Intelligence.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- inputContent: Fichier vidéo local au format binaire
Par exemple: 'AAAAGGZ0eXBtcDQyAAAAAGlzb21tcDQyAAGVYW1vb3YAAABsbXZoZAAAAADWvhlR1r4ZUQABX5ABCOxo AAEAAAEAAAAAAA4...' - PROJECT_NUMBER: identifiant numérique de votre projet Google Cloud
Méthode HTTP et URL :
POST https://videointelligence.googleapis.com/v1/videos:annotate
Corps JSON de la requête :
{ "inputUri": "Local video file in binary format", "features": ["PERSON_DETECTION"], "videoContext": { "personDetectionConfig": { "includeBoundingBoxes": true, "includePoseLandmarks": true, "includeAttributes": true } } }
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
Si la requête aboutit, Video Intelligence renvoie le name
correspond à votre opération. L'exemple ci-dessus montre un exemple de ce type de réponse, où project-number
est le numéro de votre projet et operation-id
est l'ID de l'opération de longue durée créée pour la requête.
{
"name": "us-west1.17122464255125931980"
}
Obtenir les résultats
Pour récupérer le résultat de l'opération, envoyez une requête GET au point de terminaison operations
et spécifiez le nom de votre opération.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- OPERATION_NAME: nom de l'opération tel qu'il a été renvoyé par l'API Video Intelligence. Il est au format suivant :
projects/PROJECT_NUMBER/locations/LOCATION_ID/operations/OPERATION_ID
. - PROJECT_NUMBER: identifiant numérique de votre projet Google Cloud
Méthode HTTP et URL :
GET https://videointelligence.googleapis.com/v1/OPERATION_NAME
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
Java
Pour vous authentifier auprès de Video Intelligence, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Pour vous authentifier auprès de Video Intelligence, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour vous authentifier auprès de Video Intelligence, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Langues supplémentaires
C# : Veuillez suivre les instructions de configuration de C# sur la page des bibliothèques clientes, puis consultez la documentation de référence sur Video Intelligence pour .NET.
PHP : Veuillez suivre les instructions de configuration pour PHP sur la page des bibliothèques clientes, puis consultez la documentation de référence sur Video Intelligence pour PHP.
Ruby : Veuillez suivre les instructions de configuration pour Ruby sur la page des bibliothèques clientes, puis consultez la documentation de référence sur Video Intelligence pour Ruby.