Videos über die Befehlszeile mit Anmerkungen versehen
Auf dieser Seite wird beschrieben, wie Sie mit curl eine Video Intelligence API-Anfrage für Projekte stellen, deren Inhaber Sie sind.
Sie können die Schritte auf dieser Seite ausführen oder diese Kurzanleitung alsGoogle Cloud -Trainingslab ausprobieren.
Hinweis
- Melden Sie sich in Ihrem Google Cloud -Konto an. Wenn Sie mit Google Cloudnoch nicht vertraut sind, erstellen Sie einfach ein Konto, um die Leistungsfähigkeit 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, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
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, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
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 Annotieren 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 Befehl gcloud storage buckets create, 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 Befehl gcloud storage cp, um ein Video in den von Ihnen erstellten Bucket hochzuladen.
Ersetzen Sie vor dem Ausführen des Befehls folgende 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 für den Pfad des zu analysierenden Videos auf.
Ersetzen Sie vor dem Ausführen des Befehls die folgenden Werte:
YOUR_OBJECT: Der Dateiname des von Ihnen hochgeladenen Videos. Beispiel:dog.mp4.
gcloud ml video detect-labels gs://videointelligence-quickstart-bucket/YOUR_OBJECT
Befehlszeile
Verwenden Sie curl, um eine POST-Anfrage an die Methode videos:annotate zu senden.
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 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
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 werden die Anmerkungsergebnisse zurückgegeben. 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
Führen Sie einen der folgenden Schritte aus, damit Ihrem Google Cloud Konto die auf dieser Seite verwendeten Ressourcen nicht 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 diese Kurzanleitung 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
- Alle Anleitungen
- Beispiele und Anleitungen durcharbeiten
- In der API-Referenz finden Sie ausführliche Informationen zu allen API-Aufrufen.