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 de selección de proyectos de Cloud Console, selecciona o crea un proyecto de Cloud.

    Ir a la página 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 Crear una clave de cuenta de servicio.

      Ir a la página Crear 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. Se descargará un archivo JSON que contiene tus claves a tu computadora.
  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

Comando de 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 a fin de realizar una solicitud POST al método videos:annotate y usa el comando gcloud auth application-default print-access-token para 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 tu 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 en la operación mediante una llamada al extremo v1.operations y reemplazar operation-name en el ejemplo a continuación con el nombre mostrado 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 se completó la operación, se incluye un campo done y se establece 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,
     ...
    }
    

Después de darle tiempo a la solicitud (por lo general, un minuto), la misma solicitud muestra resultados de anotaciones.

{
  "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