L'API Video Intelligence peut détecter, suivre et reconnaître la présence de plus de 100 000 marques et logos dans du contenu vidéo.
Cette page explique comment reconnaître un logo dans une vidéo à l'aide de l'API Video Intelligence.
Annoter une vidéo dans Cloud Storage
L'exemple de code suivant montre comment détecter les logos dans une vidéo hébergée dans Cloud Storage.
REST
Envoyer la requête de processus
Pour effectuer l'annotation d'un fichier vidéo local, encodez son contenu en base64. Incluez le contenu encodé en base64 dans le champ inputContent
de la requête. Pour en savoir plus sur l'encodage du contenu d'un fichier vidéo en base64, consultez la page Encoder en base64.
Vous trouverez ci-dessous la procédure à suivre pour envoyer une requête POST
à la méthode videos:annotate
.
Cet exemple fait intervenir le jeton d'accès associé à un compte de service configuré pour le projet à l'aide de Google Cloud CLI. Pour obtenir des instructions sur l'installation de Google Cloud CLI, la configuration d'un projet avec un compte de service et l'obtention d'un jeton d'accès, consultez le guide de démarrage rapide de Video Intelligence.
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-videointelligence-demo/assistant.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": ["LOGO_RECOGNITION"] }
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/operations/OPERATION_ID" }
Si la réponse aboutit, l'API Video Intelligence renvoie le name
de 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.
- 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 les résultats
Pour obtenir les résultats de votre requête, vous envoyez une requête GET
utilisant le nom d'opération renvoyé par l'appel de videos:annotate
, comme illustré 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 :
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.
Go
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.
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.
Annoter une vidéo locale
L'exemple de code suivant montre comment détecter les logos dans un fichier vidéo local.
REST
Envoyer une requête d'annotation vidéo
Pour effectuer l'annotation d'un fichier vidéo local, veillez à encoder son contenu en base64.
Incluez le contenu encodé en base64 dans le champ inputContent
de la requête.
Pour en savoir plus sur l'encodage du contenu d'un fichier vidéo en base64, consultez la page Encoder en base64.
Vous trouverez ci-dessous la procédure à suivre pour envoyer une requête à la méthode videos:annotate
.
Cet exemple fait intervenir le jeton d'accès associé à un compte de service configuré pour le projet à l'aide de Google Cloud CLI.
Pour obtenir des instructions sur l'installation de Google Cloud CLI, la configuration d'un projet avec un compte de service et l'obtention d'un jeton d'accès, 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": BASE64_ENCODED_CONTENT
Par exemple :
"UklGRg41AwBBVkkgTElTVAwBAABoZHJsYXZpaDgAAAA1ggAAxPMBAAAAAAAQCAA..."
- LANGUAGE_CODE : [facultatif] Consultez la liste des langues compatibles
- 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 :
{ "inputContent": "BASE64_ENCODED_CONTENT", "features": ["LOGO_RECOGNITION"], "videoContext": { } }
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/operations/OPERATION_ID" }
Si la réponse aboutit, l'API Video Intelligence renvoie le name
de votre opération. L'exemple ci-dessus montre un exemple de ce type de réponse, où project-number
est le nom de votre projet et operation-id
est l'ID de l'opération de longue durée créée pour la requête.
- OPERATION_ID : fourni dans la réponse lorsque vous avez démarré 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 :
- 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 texte sont renvoyées sous forme de liste textAnnotations
.
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.
Go
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.
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.