Guía de inicio rápido

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.

Probar con un lab

Antes de comenzar

  1. Accede a tu Cuenta de Google.

    Si todavía no tienes una cuenta, regístrate para obtener una nueva.

  2. En la página del selector de proyectos de Google Cloud Console, selecciona o crea un proyecto de Google Cloud.

    Ir a la página del selector de proyectos

  3. Comprueba que la facturación esté habilitada en tu proyecto.

    Descubre cómo puedes habilitar la facturación

  4. Habilita la API necesaria.

    Habilita la API

  5. Configura la autenticación
    1. 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
    2. En la lista Cuenta de servicio, selecciona Cuenta de servicio nueva.
    3. Ingresa un nombre en el campo Nombre de cuenta de servicio.
    4. No selecciones un valor de la lista Función. No se necesita una función para acceder a este servicio.
    5. Haz clic en Crear. Aparece una nota que advierte que esta cuenta de servicio no tiene función.
    6. Haz clic en Crear sin función. En tu computadora, se descargará un archivo JSON que contiene las claves.
  6. 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.

  7. Instala e inicializa el SDK de Cloud.

Haz una solicitud para anotar un video

gcloud

Usa la herramienta de línea de comandos de gcloud 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

  1. Usa curl para realizar una solicitud POST al método videos:annotate mediante el comando gcloud 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"
    
  2. 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"
    }
    
  3. 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
    
  4. Verás 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": "/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