LiveStreams

Eine liveStream-Ressource enthält Informationen zum Videostream, den du an YouTube sendest. Der Stream enthält die Inhalte, die an YouTube-Nutzer gesendet werden. Nachdem eine liveStream-Ressource erstellt wurde, kann sie an eine oder mehrere liveBroadcast-Ressourcen gebunden werden.

Methoden

Die API unterstützt die folgenden Methoden für liveStreams-Ressourcen:

list
Gibt eine Liste von Videostreams zurück, die den API-Anfrageparametern entsprechen. Hier kannst du die Funktion ausprobieren.
Einfügen
Erstellt einen Videostream. Mit dem Stream kannst du dein Video an YouTube senden und es dann an deine Zuschauer senden. Hier kannst du die Funktion ausprobieren.
Aktualisieren
Aktualisiert einen Videostream. Wenn die Eigenschaften, die Sie ändern möchten, nicht aktualisiert werden können, müssen Sie einen neuen Stream mit den richtigen Einstellungen erstellen. Hier kannst du die Funktion ausprobieren.
Delete
Videostream löschen. Hier kannst du die Funktion ausprobieren.

Ressourcendarstellung

Die folgende JSON-Struktur zeigt das Format einer liveStreams-Ressource:

{
  "kind": "youtube#liveStream",
  "etag": etag,
  "id": string,
  "snippet": {
    "publishedAt": datetime,
    "channelId": string,
    "title": string,
    "description": string,
    "isDefaultStream": boolean
  },
  "cdn": {
    "ingestionType": string,
    "ingestionInfo": {
      "streamName": string,
      "ingestionAddress": string,
      "backupIngestionAddress": string
    },
    "resolution": string,
    "frameRate": string
  },
  "status": {
    "streamStatus": string,
    "healthStatus": {
      "status": string,
      "lastUpdateTimeSeconds": unsigned long,
      "configurationIssues": [
        {
          "type": string,
          "severity": string,
          "reason": string,
          "description": string
        }
      ]
    }
  },
  "contentDetails": {
    "closedCaptionsIngestionUrl": string,
    "isReusable": boolean
  }
}

Attribute

In der folgenden Tabelle werden die Attribute definiert, die in dieser Ressource angezeigt werden:

Attribute
kind string
Identifiziert den Typ der API-Ressource. Der Wert ist youtube#liveStream.
etag etag
Das ETag dieser Ressource.
id string
Die ID, die YouTube zur eindeutigen Identifizierung des Streams zuweist.
snippet object
Das snippet-Objekt enthält grundlegende Details zum Stream, einschließlich Kanal, Titel und Beschreibung.
snippet.publishedAt datetime
Datum und Uhrzeit der Erstellung des Streams. Der Wert wird im ISO 8601-Format (YYYY-MM-DDThh:mm:ss.sZ) angegeben.
snippet.channelId string
Die ID, mit der YouTube den Kanal eindeutig identifiziert, über den der Stream übertragen wird.
snippet.title string
Der Titel des Streams. Der Wert muss zwischen 1 und 128 Zeichen lang sein.
snippet.description string
Die Beschreibung des Streams Der Wert darf nicht länger als 10.000 Zeichen sein.
snippet.isDefaultStream boolean
Diese Property wird am oder nach dem 1. September 2020 eingestellt. YouTube erstellt dann keinen Standardstream und keine Standardübertragung mehr, wenn Livestreaming auf einem Kanal aktiviert ist. Weitere Informationen finden Sie in der Ankündigung.
Diese Eigenschaft gibt an, ob dieser Stream der Standardstream für den Kanal ist.

So funktionieren Standardstreams

Wenn auf einem YouTube-Kanal Livestreaming aktiviert ist, erstellt YouTube einen Standardstream und eine Standardübertragung für den Kanal. Der Stream definiert, wie der Kanalinhaber Live-Videos an YouTube sendet. Über die Übertragung können Zuschauer den Standard-Stream sehen. Ein Kanalinhaber kann die Ressourcen liveStreams.list und liveBroadcasts.list verwenden, um diese Ressourcen zu identifizieren.

Der Standardstream eines Kanals ist zeitlich unbegrenzt, mit ihm kann weder eine Start- noch eine Endzeit verknüpft sein und er kann nicht gelöscht werden. Der Kanalinhaber muss nur Videobits senden. Der Stream wird dann automatisch fortgesetzt.

Am Ende eines Streams konvertiert YouTube die abgeschlossene Übertragung in ein YouTube-Video und weist dem Video eine YouTube-Video-ID zu. Nach Abschluss der Konvertierung wird das Video in die Liste der hochgeladenen Videos des Kanals aufgenommen. Das Video ist nicht unmittelbar nach Ende der Übertragung verfügbar und die Länge der Verzögerung hängt von der tatsächlichen Länge der Übertragung ab.
cdn object
Das cdn-Objekt definiert die Einstellungen für das Content Delivery Network (CDN) des Livestreams. Diese Einstellungen enthalten Details dazu, wie du deine Inhalte auf YouTube streamst.
cdn.format string
Diese Property wird seit dem 18. April 2016 nicht mehr unterstützt und ab dem 17. August 2020 nicht mehr unterstützt. Anfragen, die dieses Attribut ab diesem Datum noch verwenden, schlagen fehl.

Verwende stattdessen die Properties cdn.frameRate und cdn.resolution, um Framerate und Auflösung separat anzugeben.
cdn.ingestionType string
Die Methode oder das Protokoll, die zum Übertragen des Videostreams verwendet wird.

Gültige Werte für diese Property sind:
  • dash
  • hls
  • rtmp (einschließlich RTMPS)
cdn.ingestionInfo object
Das ingestionInfo-Objekt enthält Informationen, die YouTube zur Verfügung stellt, damit du deinen Stream an YouTube übertragen kannst.
cdn.ingestionInfo.streamName string
Der Streamname, den YouTube dem Videostream zuweist.
cdn.ingestionInfo.ingestionAddress string
Die primäre Aufnahme-URL, die du zum Streamen von Videos auf YouTube verwenden solltest, wenn du RTMP, DASH oder HLS verwendest. Sie müssen ein Video an diese URL streamen.

Je nachdem, welche Anwendung oder welches Tool Sie zum Codieren des Videostreams verwenden, müssen Sie möglicherweise die Stream-URL und den Streamnamen separat eingeben oder Sie müssen sie im folgenden Format verketten:
STREAM_URL/STREAM_NAME
cdn.ingestionInfo.backupIngestionAddress string
Die Back-up-URL für die Datenaufnahme, die Sie zum Streamen von Videos auf YouTube verwenden sollten, wenn Sie RTMP, DASH oder HLS verwenden Du kannst die Inhalte, die du an ingestionAddress sendest, gleichzeitig an diese URL streamen.
cdn.ingestionInfo.rtmpsIngestionAddress string
Die primäre Aufnahme-URL, die Sie zum Streamen von Videos auf YouTube verwenden sollten, wenn Sie RTMPS verwenden. Sie müssen ein Video an diese URL streamen.

Je nachdem, welche Anwendung oder welches Tool Sie zur Codierung Ihres Videostreams verwenden, müssen Sie möglicherweise die Stream-URL und den Streamnamen separat eingeben oder Sie müssen sie im folgenden Format verketten:
STREAM_URL/STREAM_NAME
cdn.ingestionInfo.rtmpsBackupIngestionAddress string
Die Back-up-Aufnahme-URL, die Sie zum Streamen von Videos auf YouTube verwenden sollten, wenn Sie RTMPS verwenden.
cdn.resolution string
Die Auflösung der eingehenden Videodaten.

Gültige Werte für diese Property sind:
  • 240p
  • 360p
  • 480p
  • 720p
  • 1080p
  • 1440p
  • 2160p
  • variable: Mit dieser Einstellung gibst du an, dass YouTube die Auflösung deines gestreamten Videos automatisch erkennen soll. Sie müssen cdn.frameRate auch auf variable setzen.
    In der YouTube-Hilfe findest du die empfohlenen Encoder-Einstellungen.
cdn.frameRate string
Die Framerate der eingehenden Videodaten.

Gültige Werte für diese Property sind:
  • 30fps
  • 60fps
  • variable: Mit dieser Einstellung gibst du an, dass YouTube die Framerate deines gestreamten Videos automatisch erkennen soll. Sie müssen cdn.resolution auch auf variable setzen.
    In der YouTube-Hilfe findest du die empfohlenen Encoder-Einstellungen.
status object
Das Objekt status enthält Informationen zum Status des Livestreams.
status.streamStatus string
Der Status des Streams.

Für diese Property sind folgende Werte gültig:
  • active: Der Stream ist aktiv, d. h. der Nutzer empfängt Daten über den Stream.
  • created: Der Stream wurde erstellt, hat aber keine gültigen CDN-Einstellungen.
  • error: Im Stream ist eine Fehlerbedingung vorhanden.
  • inactive: Der Stream ist inaktiv, d. h. der Nutzer empfängt keine Daten über den Stream.
  • ready: Der Stream hat gültige CDN-Einstellungen.
status.healthStatus object
Dieses Objekt enthält Informationen zum Status des Livestreams, mit denen Streamingprobleme identifiziert, diagnostiziert und behoben werden können.
status.healthStatus.status string
Der Statuscode dieses Streams.

Gültige Werte für diese Property sind:
  • good: Es gibt keine Konfigurationsprobleme mit dem Schweregrad warning oder darunter.
  • ok: Es gibt keine Konfigurationsprobleme mit dem Schweregrad error.
  • bad: Der Stream hat einige Probleme mit dem Schweregrad error.
  • noData: Die Livestreaming-Back-End-Server von YouTube haben keine Informationen zum Zustand des Streams.
status.healthStatus.lastUpdateTimeSeconds unsigned long
Das Datum der letzten Aktualisierung des Streamstatus. Der Wert spiegelt einen UNIX-Zeitstempel in Sekunden wider.
status.healthStatus.configurationIssues[] list
Dieses Objekt enthält eine Liste von Konfigurationsproblemen, die sich auf den Stream auswirken.
status.healthStatus.configurationIssues[].type string
Ermittelt die Art des Fehlers, der den Stream betrifft.
status.healthStatus.configurationIssues[].severity string
Gibt an, wie schwerwiegend das Problem für den Stream ist.

Gültige Werte für diese Property sind:
  • info: Das Video wird ohne negative Auswirkungen auf die Leistung an Zuschauer gesendet.
  • warning: Das Video wird an Zuschauer übertragen, die Leistung ist jedoch nicht optimal.
  • error: Das Video kann nicht an Zuschauer übertragen werden.
status.healthStatus.configurationIssues[].reason string
Eine kurze Beschreibung des Problems. Im Dokument Konfigurationsprobleme für Livestream-Ressourcen wird der Grund für jeden Konfigurationsproblemtyp erläutert.
status.healthStatus.configurationIssues[].description string
Eine detaillierte Beschreibung des Problems. Wenn möglich, enthält die Beschreibung Informationen zur Behebung des Problems. Im Dokument Konfigurationsprobleme für Livestream-Ressourcen werden alle Arten von Konfigurationsproblemen und die zugehörigen Beschreibungen aufgeführt.
contentDetails object
Das content_details-Objekt enthält Informationen zum Stream, einschließlich der URL für die Untertitelaufnahme.
contentDetails.closedCaptionsIngestionUrl string
Die Aufnahme-URL, an die die Untertitel dieses Streams gesendet werden.
contentDetails.isReusable boolean
Gibt an, ob der Stream wiederverwendbar ist. Das bedeutet, dass er an mehrere Übertragungen gebunden werden kann. Es ist nicht unüblich, dass Sender denselben Stream für viele unterschiedliche Sendungen wiederverwenden, wenn diese Übertragungen zu unterschiedlichen Zeiten stattfinden.

Wenn du diesen Wert auf false setzt, kann der Stream nicht wiederverwendet werden und kann daher nur an eine Übertragung gebunden werden. Nicht wiederverwendbare Streams unterscheiden sich in folgenden Punkten von wiederverwendbaren Streams:
  • Ein nicht wiederverwendbarer Stream kann nur an eine Übertragung gebunden werden.
  • Ein nicht wiederverwendbarer Stream wird nach Ende der Übertragung möglicherweise automatisch gelöscht.
  • Die Methode liveStreams.list listet keine nicht wiederverwendbaren Streams auf, wenn Sie die Methode aufrufen und den Parameter mine auf true setzen. Die Methode zum Abrufen der Ressource für einen nicht wiederverwendbaren Stream kann nur mit dem Parameter id verwendet werden, um den Stream zu identifizieren.