Anota un video con la línea de comandos
En esta página, se muestra cómo realizar una solicitud a la API de Video Intelligence con curl para los proyectos que son de tu propiedad.
Puedes seguir los pasos que se enumeran en esta página o probar esta guía de inicio rápido como un Google Cloud lab de capacitación.
Antes de comenzar
- Accede a tu Google Cloud cuenta de. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Video Intelligence API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
Instala Google Cloud CLI.
-
Si usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Video Intelligence API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
Instala Google Cloud CLI.
-
Si usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init
Roles obligatorios
Para obtener los permisos que necesitas para anotar un video, pídele a tu administrador que te otorgue los siguientes roles de IAM en el proyecto:
-
Consumidor de Service Usage (
roles/serviceusage.serviceUsageConsumer) -
Administrador de almacenamiento (
roles/storage.admin)
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
También puedes obtener los permisos necesarios a través de roles personalizados o cualquier otro rol predefinido.
Crea un bucket
En tu entorno de desarrollo, usa el gcloud storage buckets create
comando para crear un bucket.
Antes de ejecutar el comando, reemplaza los siguientes valores:
BUCKET_LOCATION: La ubicación geográfica en la que deseas almacenar los datos en tu bucket. Por ejemplo,US.
gcloud storage buckets create gs://videointelligence-quickstart-bucket --location=BUCKET_LOCATION
Si la solicitud se realiza correctamente, el comando mostrará el siguiente mensaje:
Creating gs://videointelligence-quickstart-bucket/...
Sube un video al bucket
En tu entorno de desarrollo, usa el gcloud storage cp
comando para
subir un video al bucket que creaste.
Antes de ejecutar el comando, reemplaza los siguientes valores:
OBJECT_LOCATION: La ruta de acceso local a tu objeto. Por ejemplo,Desktop/dog.mp4.
gcloud storage cp OBJECT_LOCATION gs://videointelligence-quickstart-bucket
Si se ejecuta de forma correcta, la respuesta se parece al siguiente ejemplo:
Completed files 1/1 | 164.3kiB/164.3kiB
Anota el video
gcloud
Usa gcloud CLI para llamar al comando detect-labels en la ruta del video que se analizará.
Antes de ejecutar el comando, reemplaza los siguientes valores:
YOUR_OBJECT: El nombre de archivo del video que subiste. Por ejemplo,dog.mp4.
gcloud ml video detect-labels gs://videointelligence-quickstart-bucket/YOUR_OBJECT
Línea de comandos
Usa curl para realizar una solicitud POST al método videos:annotate.
Antes de ejecutar el comando, reemplaza los siguientes valores:
YOUR_OBJECT: El nombre de archivo del video que subiste. Por ejemplo,dog.mp4.
curl -X POST \ -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \ -H "Content-Type: application/json; charset=utf-8" \ --data '{"inputUri":"gs://videointelligence-quickstart-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 llamada al v1.operations
extremo 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
Este comando muestra información relacionada con tu operación. Si la operación se completó, se incluirá un campo done y se establecerá en true:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.videointelligence.v1.AnnotateVideoProgress", "annotationProgress": [ { "inputUri": "/videointelligence-quickstart-bucket/YOUR_OBJECT", "progressPercent": 100, "startTime": "2020-04-01T22:13:17.978847Z", "updateTime": "2020-04-01T22:13:29.576004Z" } ] }, "done": true, ... }
Después de aproximadamente un minuto, la solicitud muestra los resultados de la anotación. Los resultados deberían ser similares a los siguientes:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.videointelligence.v1.AnnotateVideoProgress", "annotationProgress": [ { "inputUri": "videointelligence-quickstart-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": "/videointelligence-quickstart-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
Para evitar que se apliquen cargos a tu Google Cloud cuenta de por los recursos que usaste en esta página, haz una de las siguientes acciones:
Si deseas seguir usando el proyecto que creaste, usa el comando
gcloud storage rmcon la marca--recursivepara borrar el bucket y su contenido:gcloud storage rm gs://videointelligence-quickstart-bucket --recursive
Si no necesitas el proyecto que creaste para esta guía de inicio rápido, bórralo.
- En la Google Cloud consola, ve a la página Administrar recursos.
- En la lista de proyectos, elige el proyecto que tú quieres borrar y haz clic en Borrar.
- En el diálogo, escribe el ID del proyecto y, luego, haz clic en Cerrar para borrar el proyecto.
¿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.