Démarrage rapide

Cette page explique comment exécuter une requête d'API Cloud Video Intelligence à l'aide de la commande curl.

Vous pouvez suivre les étapes décrites sur cette page ou essayer ce démarrage rapide en tant qu'atelier de formation Google Cloud.

Essayer avec un atelier

Avant de commencer

  1. Connectez-vous à votre compte Google.

    Si vous n'en possédez pas déjà un, vous devez en créer un.

  2. Dans Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Cloud.

    Accéder à la page de sélection du projet

  3. Vérifiez que la facturation est activée pour votre projet Google Cloud. Découvrez comment vérifier que la facturation est activée pour votre projet.

  4. Activer l'APICloud Video Intelligence

    Activer l'API

  5. Configurez l'authentification :
    1. Dans Cloud Console, accédez à la page Créer une clé de compte de service.

      Accéder à la page Créer une clé de compte de service
    2. Dans la liste Compte de service, sélectionnez Nouveau compte de service.
    3. Dans le champ Nom du compte de service, saisissez un nom.
    4. Ne sélectionnez pas de valeur dans la liste Rôle. Aucun rôle n'est requis pour accéder à ce service.
    5. Cliquez sur Créer. Une note s'affiche pour signaler que ce compte de service n'est associé à aucun rôle.
    6. Cliquez sur Créer sans rôle. Un fichier JSON contenant votre clé est téléchargé sur votre ordinateur.
  6. Définissez la variable d'environnement GOOGLE_APPLICATION_CREDENTIALS pour qu'elle pointe vers le chemin d'accès au fichier JSON contenant votre clé de compte de service. Cette variable ne s'applique qu'à la session de shell actuelle. Par conséquent, si vous ouvrez une nouvelle session, vous devez de nouveau la définir.

  7. Installez et initialisez le SDK Cloud.

Effectuer une requête d'annotation vidéo

COMMANDE GCLOUD

Utilisez l'outil de ligne de commande gcloud pour appeler la commande detect-labels sur le chemin d'accès de la vidéo qui doit être analysée.

gcloud ml video detect-labels gs://cloud-ml-sandbox/video/chicago.mp4

Ligne de commande

  1. Utilisez curl pour adresser une requête POST à la méthode videos:annotate, à l'aide de la commande gcloud auth application-default print-access-token pour coller un jeton d'accès pour votre compte de service dans la requête :

    curl -X POST \
      -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
      -H "Content-Type: application/json; charset=utf-8" \      --data "{
         'inputUri':'gs://cloud-ml-sandbox/video/chicago.mp4',
         'features': [
           'LABEL_DETECTION'
        ]
      }" "https://videointelligence.googleapis.com/v1/videos:annotate"
    
  2. L'API Video Intelligence crée une opération qui traite votre requête. La réponse inclut le nom de l'opération :

    {
      "name": "us-west1.18358601230245040268"
    }
    
  3. Vous pouvez demander des informations sur l'opération en appelant le point de terminaison v1.operations. Pour ce faire, utilisez l'exemple de code ci-dessous en remplaçant operation-name par la valeur "name" (nom) renvoyée à l'étape précédente :

     curl -X GET \
       -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
       https://videointelligence.googleapis.com/v1/operations/operation-name
    
  4. Vous obtenez des informations associées à votre opération. Si celle-ci est terminée, un champ done est inclus et défini sur true :

    {
      "name": "us-west1.104032612573769453",
      "metadata": {
      "@type": "type.googleapis.com/google.cloud.videointelligence.v1.AnnotateVideoProgress",
        "annotationProgress": [
          {
            "inputUri": "/cloud-ml-sandbox/video/chicago.mp4",
            "progressPercent": 100,
            "startTime": "2018-11-01T22:13:17.978847Z",
            "updateTime": "2018-11-01T22:13:29.576004Z"
          }
        ]
      },
      "done": true,
     ...
    }
    

Au bout d'un certain temps (une minute, en général), la requête renvoie les résultats d'annotation :

{
  "name": "us-west1.104032612573769453",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.videointelligence.v1.AnnotateVideoProgress",
    "annotationProgress": [
      {
        "inputUri": "/cloud-ml-sandbox/video/chicago.mp4",
        "progressPercent": 100,
        "startTime": "2018-11-01T22:13:17.978847Z",
        "updateTime": "2018-11-01T22:13:29.576004Z"
      }
    ]
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.videointelligence.v1.AnnotateVideoResponse",
    "annotationResults": [
      {
        "inputUri": "/cloud-ml-sandbox/video/chicago.mp4",
        "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
              }
            ]
          }
        ]
      }
    ]
  }
}
   

Félicitations ! Vous avez envoyé votre première requête à l'API Cloud Video Intelligence.

Effectuer un nettoyage

Pour éviter des frais Google Cloud Platform inutiles, supprimez votre projet à l'aide de la console GCP si vous n'en avez plus besoin.

Étapes suivantes