Kanalclips erstellen und verwalten

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:

  1. Eingabeendpunkt erstellen

  2. 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 anzeigen
    • us-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
  • CLIP_ID: eine benutzerdefinierte ID für den VOD-Clip
  • MARK_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 anzeigen
    • us-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
  • CLIP_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 anzeigen
    • us-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"
          }
        ]
      }
  ]
}