En esta página, se muestra cómo realizar una solicitud a la API de Video Intelligence con curl
.
Puedes seguir los pasos que se enumeran en esta página o probar esta guía de inicio rápido como un entrenamiento del lab de Google Cloud.
Antes de comenzar
- Accede a tu Cuenta de Google.
Si todavía no tienes una cuenta, regístrate para obtener una nueva.
-
En la página del selector de proyectos de Google Cloud Console, selecciona o crea un proyecto de Google Cloud.
-
Comprueba que la facturación esté habilitada en tu proyecto.
- Habilita la API necesaria.
- Configura la autenticación
-
En Cloud Console, ve a la página Crea una clave de cuenta de servicio.
Ir a la página Crea una clave de la cuenta de servicio - En la lista Cuenta de servicio, selecciona Cuenta de servicio nueva.
- Ingresa un nombre en el campo Nombre de cuenta de servicio.
- No selecciones un valor de la lista Función. No se necesita una función para acceder a este servicio.
- Haz clic en Crear. Aparece una nota que advierte que esta cuenta de servicio no tiene función.
- Haz clic en Crear sin función. En tu computadora, se descargará un archivo JSON que contiene las claves.
-
-
Configura la variable de entorno
GOOGLE_APPLICATION_CREDENTIALS
en la ruta del archivo JSON que contiene la clave de tu cuenta de servicio. Esta variable solo se aplica a la sesión actual de shell. Por lo tanto, si abres una sesión nueva, deberás volver a configurar la variable. - Instala e inicializa el SDK de Cloud.
Haz una solicitud para anotar un video
gcloud
Usa la herramienta de línea de comandos degcloud
para llamar al comando detect-labels
en la ruta del video que se analizará.
gcloud ml video detect-labels gs://your_bucket/your_object
Línea de comandos
Usa
curl
para realizar una solicitud POST al métodovideos:annotate
mediante el comandogcloud auth application-default print-access-token
a fin de pegar un token de acceso en tu cuenta de servicio:curl -X POST \ -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \ -H "Content-Type: application/json; charset=utf-8" \ --data "{ "inputUri":"gs://your_bucket/your_object", "features": [ "LABEL_DETECTION" ] }" "https://videointelligence.googleapis.com/v1/videos:annotate"
La API de Video Intelligence crea una operación para procesar su solicitud. En la respuesta, se incluye el nombre de la operación:
{ "name": "projects/project-number/locations/location-id/operations/operation-id" }
Puedes solicitar información sobre la operación mediante una llamanda al extremo
v1.operations
y reemplaza operation-name en el siguiente ejemplo con el nombre que se muestra en el paso anterior:curl -X GET \ -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \ https://videointelligence.googleapis.com/v1/operation-name
Verás información relacionada con tu operación. Si la operación se completó, se incluirá un campo
done
y se establecerá entrue
:{ "name": "projects/project-number/locations/location-id/operations/operation-id", "metadata": { "@type": "type.googleapis.com/google.cloud.videointelligence.v1.AnnotateVideoProgress", "annotationProgress": [ { "inputUri": "/your_bucket/your_object", "progressPercent": 100, "startTime": "2020-04-01T22:13:17.978847Z", "updateTime": "2020-04-01T22:13:29.576004Z" } ] }, "done": true, ... }
Dele algo de tiempo a la solicitud (por lo general, un minuto), la misma solicitud muestra los resultados de la anotación:
{ "name": "projects/project-number/locations/location-id/operations/operation-id", "metadata": { "@type": "type.googleapis.com/google.cloud.videointelligence.v1.AnnotateVideoProgress", "annotationProgress": [ { "inputUri": "your_bucket/your_object", "progressPercent": 100, "startTime": "2020-04-01T22:13:17.978847Z", "updateTime": "2020-04-01T22:13:29.576004Z" } ] }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.videointelligence.v1.AnnotateVideoResponse", "annotationResults": [ { "inputUri": "/your_bucket/your_object", "segmentLabelAnnotations": [ { "entity": { "entityId": "/m/07bsy", "description": "transport", "languageCode": "en-US" }, "segments": [ { "segment": { "startTimeOffset": "0s", "endTimeOffset": "38.757872s" }, "confidence": 0.81231534 } ] }, { "entity": { "entityId": "/m/01n32", "description": "city", "languageCode": "en-US" }, "categoryEntities": [ { "entityId": "/m/043rvww", "description": "geographical feature", "languageCode": "en-US" } ], "segments": [ { "segment": { "startTimeOffset": "0s", "endTimeOffset": "38.757872s" }, "confidence": 0.3942462 } ] }, ... { "entity": { "entityId": "/m/06gfj", "description": "road", "languageCode": "en-US" }, "segments": [ { "segment": { "startTimeOffset": "0s", "endTimeOffset": "38.757872s" }, "confidence": 0.86698604 } ] } ] } ] } }
Felicitaciones Enviaste tu primera solicitud a la API de Video Intelligence.
Limpia
A fin de evitar cargos innecesarios de Google Cloud Platform, usa Cloud Console para borrar tu proyecto si no lo necesitas.
¿Qué sigue?
- Lee las guías prácticas.
- Lee los Instructivos y ejemplos.
- Consulta la Referencia de la API para obtener información completa sobre todas las llamadas a la API.