Video über die Befehlszeile annotieren
Auf dieser Seite wird gezeigt, wie Sie eine Video Intelligence API-Anfrage mit curl für Projekte stellen, die Ihnen gehören.
Sie können die Schritte auf dieser Seite ausführen oder diese Kurzanleitung alsGoogle Cloud -Schulungs-Lab ausprobieren.
Hinweis
- Melden Sie sich in Ihrem Google Cloud -Konto an. Wenn Sie mit Google Cloudnoch nicht vertraut sind, erstellen Sie 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.
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 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 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 Videos, das Sie hochgeladen haben. 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 Videos, das Sie hochgeladen haben. 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 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 Projekt, das Sie für diese Kurzanleitung erstellt haben, 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.