Auf dieser Seite erfahren Sie, wie Sie Kanalclips der Live Stream API erstellen und verwalten. Ein Channelclip ist eine Unterressource eines Channels. Mit einem Kanalclip kannst du VOD-Dateien (Video-on-Demand) aus einem Livestream erstellen. Diese VOD-Dateien werden in Cloud Storage gespeichert. Weitere Informationen findest du unter VOD-Clips aus einem Livestream erstellen.
Google Cloud-Projekt und Authentifizierung einrichten
Wenn Sie noch kein Google Cloud-Projekt und keine Anmeldedaten erstellt haben, lesen Sie die Informationen unter Vorbereitung.Vorbereitung
Du musst die folgenden Ressourcen erstellen, bevor du einen Kanalclip erstellen kannst:
Kanal mit einer Aufbewahrungskonfiguration erstellen
Kanalclip erstellen
Starte den Kanal und streame Inhalte auf den Kanal, bevor du einen Kanalclip erstellst.
Verwenden Sie zum Erstellen eines Kanalclips die Methode projects.locations.channels.clips.create
.
Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:
PROJECT_NUMBER
: Die Nummer Ihres Google Cloud-Projekts. Diese befindet sich auf der Seite IAM-Einstellungen im Feld Projektnummer.LOCATION
: Der Standort, an dem sich dein Kanal befindet. Verwende eine der unterstützten Regionen.Standorte anzeigenus-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-northeast1
asia-southeast1
australia-southeast1
europe-west1
europe-west2
europe-west3
europe-west4
CHANNEL_ID
: eine benutzerdefinierte Kennung für den KanalCLIP_ID
: eine benutzerdefinierte ID für den VOD-ClipMARK_IN_TIME
: die Markierung in Unix-Epochen-Zeit im ursprünglichen Livestream-Manifest; verwendet einen Zeitstempel im Format RFC3339 UTC "Zulu" (z. B.2014-10-02T15:01:23Z
)MARK_OUT_TIME
: die Markup-Zeit der Unix-Epoche im ursprünglichen Livestream-Manifest; verwendet einen Zeitstempel im Format RFC3339 UTC "Zulu" (z. B.2014-10-02T15:01:23Z
)BUCKET_NAME
: der Name des Cloud Storage-Buckets, den Sie zum Speichern des Manifests und der Segmentdateien des VOD-Clips erstellt haben. Sie können denselben Bucket, den Sie für das Livestreammanifest erstellt haben, oder einen anderen Bucket verwenden. An den Bucket-Namen können Sie auch einen Verzeichnisnamen anhängen, z. B.my-bucket/vod-clip
.
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.video.livestream.v1.OperationMetadata", "createTime": CREATE_TIME, "target": "projects/PROJECT_NUMBER/locations/LOCATION/channels/CHANNEL_ID/clips/CLIP_ID", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Mit diesem Befehl wird ein Vorgang mit langer Ausführungszeit erstellt, mit dem Sie den Fortschritt Ihrer Anfrage verfolgen können. Weitere Informationen finden Sie unter Vorgänge mit langer Ausführungszeit verwalten .
Details zu Kanalclips abrufen
Verwenden Sie die Methode projects.locations.channels.clips.get
, um die Details eines Kanalclips abzurufen.
Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:
PROJECT_NUMBER
: Die Nummer Ihres Google Cloud-Projekts. Diese befindet sich auf der Seite IAM-Einstellungen im Feld Projektnummer.LOCATION
: Der Standort, an dem sich dein Kanal befindet. Verwende eine der unterstützten Regionen.Standorte anzeigenus-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-northeast1
asia-southeast1
australia-southeast1
europe-west1
europe-west2
europe-west3
europe-west4
CHANNEL_ID
: eine benutzerdefinierte Kennung für den KanalCLIP_ID
: eine benutzerdefinierte ID für den VOD-Clip
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/channels/CHANNEL_ID/clips/CLIP_ID", "createTime": CREATE_TIME, "startTime": START_TIME, "updateTime": UPDATE_TIME, "state": "SUCCEEDED", "outputUri": "gs://BUCKET_NAME", "slices": [ { "timeSlice": { "markinTime": "MARK_IN_TIME", "markoutTime": "MARK_OUT_TIME" } } ], "features": {}, "clipManifests": [ { "manifestKey": "manifest_hls", "outputUri": "gs://BUCKET_NAME/main.m3u8" } ] }
Mit der Methode projects.locations.channels.clips.get
sind nur die letzten 1.000 Clipjob-Einträge pro Kanal verfügbar. Alle Clipjob-Datensätze, die älter als das Limit sind, werden entfernt. Sie müssen die generierten Clipdateien verwalten, die in der outputUri
angegeben sind. Die Live Stream API löscht diese Dateien nicht aus Cloud Storage.
Kanalclips auflisten
Mit der Methode projects.locations.channels.clips.list
kannst du alle Kanalclips auflisten, die du für einen Kanal erstellt hast.
Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:
PROJECT_NUMBER
: Die Nummer Ihres Google Cloud-Projekts. Diese befindet sich auf der Seite IAM-Einstellungen im Feld Projektnummer.LOCATION
: Der Standort, an dem sich dein Kanal befindet. Verwende eine der unterstützten Regionen.Standorte anzeigenus-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-northeast1
asia-southeast1
australia-southeast1
europe-west1
europe-west2
europe-west3
europe-west4
CHANNEL_ID
: eine benutzerdefinierte Kennung für den Kanal
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "clips": [ { "name": "projects/PROJECT_NUMBER/locations/LOCATION/channels/CHANNEL_ID/clips/CLIP_ID", "createTime": CREATE_TIME, "startTime": START_TIME, "updateTime": UPDATE_TIME, "state": "SUCCEEDED", "outputUri": "gs://BUCKET_NAME", "slices": [ { "timeSlice": { "markinTime": "MARK_IN_TIME", "markoutTime": "MARK_OUT_TIME" } } ], "features": {}, "clipManifests": [ { "manifestKey": "manifest_hls", "outputUri": "gs://BUCKET_NAME/main.m3u8" } ] }, { "name": "projects/PROJECT_NUMBER/locations/LOCATION/channels/CHANNEL_ID/clips/my-clip2", "createTime": CREATE_TIME, "startTime": START_TIME, "updateTime": UPDATE_TIME, "state": "SUCCEEDED", "outputUri": "gs://BUCKET_NAME", "slices": [ { "timeSlice": { "markinTime": "MARK_IN_TIME", "markoutTime": "MARK_OUT_TIME" } } ], "features": {}, "clipManifests": [ { "manifestKey": "manifest_hls", "outputUri": "gs://BUCKET_NAME/main.m3u8" } ] } ] }