Auf dieser Seite erfährst du, wie du DVR-Sitzungen (Digital Video Recorder) mit der Live Stream API erstellst und verwaltest. Eine DVR-Sitzung ist eine Unterressource eines Kanals. Mit einer DVR-Sitzung kannst du einen zukünftigen Livestream aufzeichnen. Weitere Informationen findest du im separaten Leitfaden DVR-Sitzung erstellen.
Google Cloud-Projekt und Authentifizierung einrichten
Wenn Sie noch kein Google Cloud-Projekt und keine Anmeldedaten erstellt haben, lesen Sie den Abschnitt Vorbereitung.Vorbereitung
Du musst die folgenden Ressourcen erstellen, bevor du eine DVR-Sitzung erstellen kannst:
Erstelle einen Kanal mit einer Bindungskonfiguration und einem Manifestschlüssel.
DVR-Sitzung erstellen
Verwenden Sie zum Erstellen einer DVR-Sitzung die Methode projects.locations.channels.dvrSessions.create
.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_NUMBER
: Ihre Google Cloud-Projektnummer. Sie finden sie auf der Seite IAM-Einstellungen im Feld Projektnummer.LOCATION
: den Standort deines Kanals. Wähle eine der unterstützten Regionen aus.Standorte anzeigenus-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-south1
asia-northeast1
asia-southeast1
australia-southeast1
europe-north1
europe-west1
europe-west2
europe-west3
europe-west4
CHANNEL_ID
: eine benutzerdefinierte Kennung für den KanalDVR_SESSION_ID
: eine benutzerdefinierte Kennung für die DVR-SitzungINTERVAL_START_TIME
: die Markierung in Unix-Epochenzeit im ursprünglichen Live-Stream-Manifest; verwendet einen Zeitstempel im RFC3339-UTC-„Zulu“-Format (z. B.2014-10-02T15:01:23Z
)INTERVAL_END_TIME
: die Unix-Epochenzeit im ursprünglichen Live-Stream-Manifest; verwendet einen Zeitstempel im „Zulu“-Format von RFC3339 UTC (z. B.2014-10-02T15:01:23Z
)
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/dvrSessions/DVR_SESSION_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 .
DVR-Sitzungsdetails abrufen
Details zu einer DVR-Sitzung erhältst du mit der Methode projects.locations.channels.dvrSessions.get
.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_NUMBER
: Ihre Google Cloud-Projektnummer. Sie finden sie auf der Seite IAM-Einstellungen im Feld Projektnummer.LOCATION
: den Standort deines Kanals. Wähle eine der unterstützten Regionen aus.Standorte anzeigenus-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-south1
asia-northeast1
asia-southeast1
australia-southeast1
europe-north1
europe-west1
europe-west2
europe-west3
europe-west4
CHANNEL_ID
: eine benutzerdefinierte Kennung für den KanalDVR_SESSION_ID
: eine benutzerdefinierte Kennung für die DVR-Sitzung
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/dvrSessions/DVR_SESSION_ID", "createTime": CREATE_TIME, "startTime": START_TIME, "updateTime": UPDATE_TIME, "state": "SUCCEEDED", "dvrManifests": [ { "manifestKey": "manifest_hls", "outputUri": "gs://BUCKET_NAME/dvr/DVR_SESSION_ID/main.m3u8" } ], "dvrWindows": [ { "timeInterval": { "startTime": "INTERVAL_START_TIME", "endTime": "INTERVAL_END_TIME" } } ] }
DVR-Sitzungen und die generierten Manifeste werden entfernt, wenn das erste Segment gemäß der retentionConfig
des übergeordneten Kanals abläuft. Wenn die Sitzung länger als das konfigurierte Speicherfenster dauern soll, erstelle stattdessen einen Kanalclip.
DVR-Sitzung aktualisieren
Verwenden Sie die Methode projects.locations.channels.dvrSessions.patch
, um eine DVR-Sitzung zu aktualisieren.
Im folgenden Beispiel werden die DVR-Zeitfenster aktualisiert, die von der DVR-Sitzung verwendet werden. Nicht alle Felder können aktualisiert werden. Eine Liste der unterstützten Felder finden Sie in diesem Hilfeartikel.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_NUMBER
: Ihre Google Cloud-Projektnummer. Sie finden sie auf der Seite IAM-Einstellungen im Feld Projektnummer.LOCATION
: den Standort deines Kanals. Wähle eine der unterstützten Regionen aus.Standorte anzeigenus-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-south1
asia-northeast1
asia-southeast1
australia-southeast1
europe-north1
europe-west1
europe-west2
europe-west3
europe-west4
CHANNEL_ID
: eine benutzerdefinierte Kennung für den KanalDVR_SESSION_ID
: eine benutzerdefinierte Kennung für die DVR-SitzungINTERVAL_START_TIME
: die Markierung in Unix-Epochenzeit im ursprünglichen Live-Stream-Manifest; verwendet einen Zeitstempel im RFC3339-UTC-„Zulu“-Format (z. B.2014-10-02T15:01:23Z
)INTERVAL_END_TIME
: die Unix-Epochenzeit im ursprünglichen Live-Stream-Manifest; verwendet einen Zeitstempel im „Zulu“-Format von RFC3339 UTC (z. B.2014-10-02T15:01:23Z
)
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/dvrSessions/DVR_SESSION_ID", "verb": "update", "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 .
Updateanfragen werden abgelehnt, wenn der DVR-Sitzungsstatus LIVE
ist und das Update das aktuelle DVR-Manifest überschreiben könnte. Die einzige Ausnahme ist, wenn die DVR-Sitzung durch die Aktualisierung kürzer wird (z. B. wenn die Endzeit auf „Jetzt“ oder auf eine Zeit in der Vergangenheit geändert wird). In diesem Fall wird die DVR-Sitzung sofort beendet und geht in den Status COOLDOWN
über.
Nach der 60-Sekunden-Wartezeit wird das DVR-Manifest überschrieben, um die aktualisierten Start- und Endzeiten widerzuspiegeln.
DVR-Sitzungen auflisten
Mit der Methode projects.locations.channels.dvrSessions.list
kannst du alle DVR-Sitzungen auflisten, die du für einen Kanal erstellt hast.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_NUMBER
: Ihre Google Cloud-Projektnummer. Sie finden sie auf der Seite IAM-Einstellungen im Feld Projektnummer.LOCATION
: den Standort deines Kanals. Wähle eine der unterstützten Regionen aus.Standorte anzeigenus-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-south1
asia-northeast1
asia-southeast1
australia-southeast1
europe-north1
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:
{ "dvrSessions": [ { "name": "projects/PROJECT_NUMBER/locations/LOCATION/channels/CHANNEL_ID/dvrSessions/DVR_SESSION_ID", "createTime": CREATE_TIME, "startTime": START_TIME, "updateTime": UPDATE_TIME, "state": "SCHEDULED", "dvrManifests":[ { "manifestKey": "manifest_hls", "outputUri": "gs://BUCKET_NAME/dvr/DVR_SESSION_ID/main.m3u8" } ], "dvrWindows":[ { "timeInterval": { "startTime": "INTERVAL_START_TIME", "endTime": "INTERVAL_END_TIME" } } ] }, { "name": "projects/PROJECT_NUMBER/locations/LOCATION/channels/CHANNEL_ID/dvrSessions/my-other-DVR-session", "createTime": CREATE_TIME, "startTime": START_TIME, "updateTime": UPDATE_TIME, "state": "SCHEDULED", "dvrManifests":[ { "manifestKey": "manifest_hls2", "outputUri": "gs://BUCKET_NAME/dvr/my-other-DVR-session/main.m3u8" } ], "dvrWindows":[ { "timeInterval": { "startTime": "INTERVAL_START_TIME", "endTime": "INTERVAL_END_TIME" } } ] }, ] }
DVR-Sitzung löschen
Wenn du eine DVR-Sitzung löschen möchtest, verwende die Methode projects.locations.channels.dvrSessions.delete
. Mit dieser Methode werden die DVR-Sitzungsaufgabe und das generierte Manifest gelöscht.
Die im Cloud Storage-Bucket erstellten Ressourcen werden gemäß der Konfiguration für die Aufbewahrung gelöscht.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_NUMBER
: Ihre Google Cloud-Projektnummer. Sie finden sie auf der Seite IAM-Einstellungen im Feld Projektnummer.LOCATION
: den Standort deines Kanals. Wähle eine der unterstützten Regionen aus.Standorte anzeigenus-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-south1
asia-northeast1
asia-southeast1
australia-southeast1
europe-north1
europe-west1
europe-west2
europe-west3
europe-west4
CHANNEL_ID
: eine benutzerdefinierte Kennung für den KanalDVR_SESSION_ID
: eine benutzerdefinierte Kennung für die DVR-Sitzung
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/dvrSessions/DVR_SESSION_ID", "verb": "delete", "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 .