Video über die Befehlszeile mit Anmerkungen versehen
Auf dieser Seite wird gezeigt, wie Sie eine Video Intelligence API-Anfrage mit curl für Projekte stellen, deren Inhaber Sie sind.
Sie können die Schritte auf dieser Seite ausführen oder diesen Schnellstart als ein Google Cloud Trainings-Lab verwenden.
Hinweis
- Melden Sie sich in Ihrem Google Cloud Konto an. Wenn Sie noch kein Google Cloud-Konto haben, erstellen Sie ein Konto, um die Leistung unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
-
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.-
Installieren Sie die Google Cloud CLI.
-
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
Führen Sie den folgenden Befehl aus, um die gcloud CLI zu initialisieren:
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.-
Installieren Sie die Google Cloud CLI.
-
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
Führen Sie den folgenden Befehl aus, um die gcloud CLI zu initialisieren:
gcloud init
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für das Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Kommentieren eines Videos benötigen:
-
Service Usage Consumer (
roles/serviceusage.serviceUsageConsumer) -
Storage-Administrator (
roles/storage.admin)
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
Bucket erstellen
Verwenden Sie in Ihrer Entwicklungsumgebung den gcloud storage buckets create
Befehl, um einen Bucket zu erstellen.
Ersetzen Sie vor dem Ausführen des Befehls die folgenden Werte:
BUCKET_LOCATION: Der geografische Standort, an dem Sie die Daten in Ihrem Bucket speichern möchten. Beispiel:US.
gcloud storage buckets create gs://videointelligence-quickstart-bucket --location=BUCKET_LOCATION
Wenn die Anfrage erfolgreich ist, gibt der Befehl die folgende Meldung zurück:
Creating gs://videointelligence-quickstart-bucket/...
Video in den Bucket hochladen
Verwenden Sie in Ihrer Entwicklungsumgebung den gcloud storage cp
Befehl, um ein Video in den erstellten Bucket hochzuladen.
Ersetzen Sie vor dem Ausführen des Befehls die folgenden Werte:
OBJECT_LOCATION: Der lokale Pfad zu Ihrem Objekt. Beispiel:Desktop/dog.mp4.
gcloud storage cp OBJECT_LOCATION gs://videointelligence-quickstart-bucket
Wenn der Vorgang erfolgreich ausgeführt wurde, sieht die Antwort in etwa so aus:
Completed files 1/1 | 164.3kiB/164.3kiB
Video mit Anmerkungen versehen
gcloud
Rufen Sie mit der gcloud CLI den Befehl detect-labels im Pfad des zu analysierenden Videos auf.
Ersetzen Sie vor dem Ausführen des Befehls die folgenden Werte:
YOUR_OBJECT: Der Dateiname des hochgeladenen Videos. Beispiel:dog.mp4.
gcloud ml video detect-labels gs://videointelligence-quickstart-bucket/YOUR_OBJECT
Befehlszeile
Senden Sie mit curl eine POST-Anfrage an die Methode videos:annotate.
Ersetzen Sie vor dem Ausführen des Befehls die folgenden Werte:
YOUR_OBJECT: Der Dateiname des hochgeladenen Videos. Beispiel: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"
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" }
Sie können Informationen zum Vorgang anfordern, indem Sie den v1.operations
Endpunkt aufrufen und dabei im folgenden Beispiel OPERATION_NAME 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
Dieser Befehl gibt Informationen zu Ihrem Vorgang zurück. 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": "/videointelligence-quickstart-bucket/YOUR_OBJECT", "progressPercent": 100, "startTime": "2020-04-01T22:13:17.978847Z", "updateTime": "2020-04-01T22:13:29.576004Z" } ] }, "done": true, ... }
Nach etwa einer Minute gibt die Anfrage die Anmerkungsergebnisse zurück. Die Ergebnisse sollten in etwa so aussehen:
{ "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 } ] } ] } ] } }
Glückwunsch! Sie haben Ihre erste Anfrage an die Video Intelligence API gesendet.
Bereinigen
Mit den folgenden Schritten vermeiden Sie, dass Ihrem Google Cloud Konto die auf dieser Seite verwendeten Ressourcen in Rechnung gestellt werden:
Wenn Sie das erstellte Projekt weiterhin verwenden möchten, verwenden Sie den Befehl
gcloud storage rmmit dem Flag--recursive, um den Bucket und seinen Inhalt zu löschen:gcloud storage rm gs://videointelligence-quickstart-bucket --recursive
Wenn Sie das für diesen Schnellstart erstellte Projekt nicht mehr benötigen, löschen Sie es.
- Wechseln Sie in der Google Cloud -Console zur Seite Ressourcen verwalten.
- Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie dann auf Löschen.
- Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Shut down (Beenden), um das Projekt zu löschen.
Nächste Schritte
- Leitfäden zu Vorgehensweisen durcharbeiten
- Beispiele und Anleitungen durcharbeiten
- In der API-Referenz finden Sie ausführliche Informationen zu allen API-Aufrufen.