La API Video Intelligence puede detectar, monitorizar y reconocer la presencia de más de 100.000 marcas y logotipos en contenido de vídeo.
En esta página se describe cómo reconocer un logotipo en un vídeo con la API Video Intelligence.
Anotar un vídeo en Cloud Storage
En el siguiente código de ejemplo se muestra cómo detectar logotipos en un vídeo de Cloud Storage.
REST
Enviar la solicitud de proceso
Para anotar un archivo de vídeo local, codifica en base64 el contenido del archivo de vídeo. Incluye el contenido codificado en base64 en el campo inputContent
de la solicitud. Para obtener información sobre cómo codificar en Base64 el contenido de un archivo de vídeo, consulta Codificación Base64.
A continuación, se muestra cómo enviar una solicitud POST
al método videos:annotate
.
En el ejemplo se usa el token de acceso de una cuenta de servicio configurada para el proyecto con la CLI de Google Cloud. Para obtener instrucciones sobre cómo instalar la CLI de Google Cloud, configurar un proyecto con una cuenta de servicio y obtener un token de acceso, consulta la guía de inicio rápido de Video Intelligence.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- INPUT_URI: un segmento de Cloud Storage que contiene
el archivo que quieres anotar, incluido el nombre del archivo. Debe
empezar por
gs://
.
Por ejemplo:
"inputUri": "gs://cloud-videointelligence-demo/assistant.mp4",
- PROJECT_NUMBER: identificador numérico de tu Google Cloud proyecto
Método HTTP y URL:
POST https://videointelligence.googleapis.com/v1/videos:annotate
Cuerpo JSON de la solicitud:
{ "inputUri":"INPUT_URI", "features": ["LOGO_RECOGNITION"] }
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/operations/OPERATION_ID" }
Si la respuesta es correcta, la API Video Intelligence devuelve el name
de tu operación. En el ejemplo anterior se muestra una respuesta de este tipo, donde project-number
es el número de tu proyecto y operation-id
es el ID de la operación de larga duración creada para la solicitud.
- PROJECT_NUMBER: el número de tu proyecto
- LOCATION_ID: la región de Cloud en la que se debe realizar la anotación. Las regiones de nube admitidas son
us-east1
,us-west1
,europe-west1
yasia-east1
. Si no se especifica ninguna región, se determinará una en función de la ubicación del archivo de vídeo. - OPERATION_ID: el ID de la operación de larga duración creada
para la solicitud y proporcionada en la respuesta cuando iniciaste la
operación. Por ejemplo,
12345...
.
Obtener los resultados
Para obtener los resultados de tu solicitud, envía una solicitud GET
con el nombre de la operación devuelto por la llamada a videos:annotate
, tal como se muestra en el siguiente ejemplo.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- OPERATION_NAME: el nombre de la operación tal como lo devuelve la API Video Intelligence. El nombre de la operación tiene el formato
projects/PROJECT_NUMBER/locations/LOCATION_ID/operations/OPERATION_ID
- PROJECT_NUMBER: identificador numérico de tu Google Cloud proyecto
Método HTTP y URL:
GET https://videointelligence.googleapis.com/v1/OPERATION_NAME
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
Descargar resultados de anotación
Copia la anotación del segmento de origen al de destino (consulta Copiar archivos y objetos).
gcloud storage cp gcs_uri gs://my-bucket
Nota: Si el usuario proporciona el URI de GCS de salida, la anotación se almacenará en ese URI.
Go
Para autenticarte en Video Intelligence, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Java
Para autenticarte en Video Intelligence, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Node.js
Para autenticarte en Video Intelligence, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Python
Para autenticarte en Video Intelligence, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Idiomas adicionales
C#: Sigue las instrucciones de configuración de C# en la página de bibliotecas de cliente y, a continuación, consulta la documentación de referencia de Video Intelligence para .NET.
PHP Sigue las instrucciones de configuración de PHP en la página de bibliotecas de cliente y, a continuación, consulta la documentación de referencia de Video Intelligence para PHP.
Ruby: Sigue las instrucciones de configuración de Ruby en la página de bibliotecas de cliente y, a continuación, consulta la documentación de referencia de Video Intelligence para Ruby.
Anotar un vídeo local
En el siguiente ejemplo de código se muestra cómo detectar logotipos en un archivo de vídeo local.
REST
Enviar solicitud de anotación de vídeo
Para anotar un archivo de vídeo local, asegúrate de codificar en base64 el contenido del archivo de vídeo.
Incluye el contenido codificado en base64 en el campo inputContent
de la solicitud.
Para obtener información sobre cómo codificar en Base64 el contenido de un archivo de vídeo, consulta Codificación Base64.
A continuación, se muestra cómo enviar una solicitud POST al método videos:annotate
.
En el ejemplo se usa el token de acceso de una cuenta de servicio configurada para el proyecto con la CLI de Google Cloud.
Para obtener instrucciones sobre cómo instalar la CLI de Google Cloud, configurar un proyecto con una cuenta de servicio y obtener un token de acceso, consulta la guía de inicio rápido de la API Video Intelligence.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- "inputContent": BASE64_ENCODED_CONTENT
Por ejemplo:
"UklGRg41AwBBVkkgTElTVAwBAABoZHJsYXZpaDgAAAA1ggAAxPMBAAAAAAAQCAA..."
- LANGUAGE_CODE: [Opcional] Consulta los idiomas admitidos.
- PROJECT_NUMBER: identificador numérico de tu Google Cloud proyecto
Método HTTP y URL:
POST https://videointelligence.googleapis.com/v1/videos:annotate
Cuerpo JSON de la solicitud:
{ "inputContent": "BASE64_ENCODED_CONTENT", "features": ["LOGO_RECOGNITION"], "videoContext": { } }
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/operations/OPERATION_ID" }
Si la respuesta es correcta, la API Video Intelligence devuelve el name
de tu operación. En el ejemplo anterior se muestra una respuesta de este tipo, donde project-number
es el nombre de tu proyecto y operation-id
es el ID de la operación de larga duración creada para la solicitud.
- OPERATION_ID: se proporciona en la respuesta cuando iniciaste la operación, por ejemplo,
12345...
Obtener resultados de anotación
Para obtener el resultado de la operación, haz una solicitud GET con el nombre de la operación devuelto por la llamada a videos:annotate, como se muestra en el siguiente ejemplo.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_NUMBER: identificador numérico de tu Google Cloud proyecto
Método HTTP y URL:
GET https://videointelligence.googleapis.com/v1/OPERATION_NAME
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
Las anotaciones de detección de texto se devuelven como una lista textAnnotations
.
Nota: El campo done solo se devuelve cuando su valor es True.
No se incluye en las respuestas de las operaciones que no se han completado.
Go
Para autenticarte en Video Intelligence, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Java
Para autenticarte en Video Intelligence, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Node.js
Para autenticarte en Video Intelligence, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Python
Para autenticarte en Video Intelligence, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Idiomas adicionales
C#: Sigue las instrucciones de configuración de C# en la página de bibliotecas de cliente y, a continuación, consulta la documentación de referencia de Video Intelligence para .NET.
PHP Sigue las instrucciones de configuración de PHP en la página de bibliotecas de cliente y, a continuación, consulta la documentación de referencia de Video Intelligence para PHP.
Ruby: Sigue las instrucciones de configuración de Ruby en la página de bibliotecas de cliente y, a continuación, consulta la documentación de referencia de Video Intelligence para Ruby.