Quickstart

Auf dieser Seite wird gezeigt, wie Sie eine Video Intelligence API-Anfrage mit curl stellen.

Sie können die Schritte auf dieser Seite ausführen oder diesen Schnellstart als Google Cloud Trainings-Lab verwenden.

Mit Lab loslegen

Hinweis

  1. Melden Sie sich bei Ihrem Google-Konto an.

    Wenn Sie noch kein Konto haben, melden Sie sich hier für ein neues Konto an.

  2. Wählen Sie in der Cloud Console auf der Seite für die Projektauswahl ein Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  3. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für Ihr Projekt aktiviert ist.

  4. Aktivieren Sie die erforderliche API.

    Aktivieren Sie die API

  5. Authentifizierung einrichten:
    1. Wechseln Sie in der Cloud Console zur Seite Dienstkontoschlüssel erstellen.

      Zur Seite "Dienstkontoschlüssel erstellen"
    2. Wählen Sie aus der Liste Dienstkonto die Option Neues Dienstkonto aus.
    3. Geben Sie im Feld Dienstkontoname einen Namen ein.
    4. Wählen Sie keinen Wert aus der Liste Rolle aus. Für den Zugriff auf diesen Dienst ist keine Rolle erforderlich.
    5. Klicken Sie auf Erstellen. Daraufhin wird der Hinweis angezeigt, dass für dieses Dienstkonto keine Rolle vorhanden ist.
    6. Klicken Sie auf Ohne Rolle erstellen. Eine JSON-Datei mit Ihrem Schlüssel wird auf Ihren Computer heruntergeladen.
  6. Legen Sie für die Umgebungsvariable GOOGLE_APPLICATION_CREDENTIALS den Pfad der JSON-Datei fest, die Ihren Dienstkontoschlüssel enthält. Diese Variable gilt nur für Ihre aktuelle Shellsitzung. Wenn Sie eine neue Sitzung öffnen, müssen Sie die Variable noch einmal festlegen.

  7. Installieren und initialisieren Sie das Cloud SDK.

Videoanmerkungsanfrage senden

gcloud-Befehl

Rufen Sie mit dem gcloud-Befehlszeilentool den Befehl detect-labels im Pfad des zu analysierenden Videos auf.

gcloud ml video detect-labels gs://your_bucket/your_object

Befehlszeile

  1. Senden Sie mit curl eine POST-Anfrage an die Methode videos:annotate, um mit dem Dienstkonto gcloud auth application-default print-access-token ein Zugriffstoken in das Dienstkonto einzufügen:

    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. Die Video Intelligence API erstellt einen Vorgang, um Ihre Anfrage zu verarbeiten. Die Antwort enthält den Vorgangsnamen:

    {
      "name": "projects/project-number/locations/location-id/operations/operation-id"
    }
    
  3. Sie können Informationen zum Vorgang anfordern, indem Sie den Endpunkt v1.operations aufrufen und dabei operation-name im folgenden Beispiel durch den im vorherigen Schritt zurückgegebenen Namen ersetzen:

     curl -X GET \
       -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
       https://videointelligence.googleapis.com/v1/operation-name
    
  4. Es werden Informationen zu Ihrem Vorgang angezeigt. Wenn der Vorgang abgeschlossen ist, wird das Feld done eingefügt und auf true gesetzt:

    {
      "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,
     ...
    }
    

Nachdem einige Zeit (etwa eine Minute) für die Anfrage verstrichen ist, gibt dieselbe Anfrage die Anmerkungsergebnisse zurück:

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

Das wars! Sie haben Ihre erste Anfrage an die Video Intelligence API gesendet.

Clean-up

Löschen Sie das Projekt mit der Cloud Console, wenn Sie es nicht mehr benötigen. Damit vermeiden Sie unnötige Kosten für die Google Cloud Platform.

Nächste Schritte