LiveStreams

Eine liveStream-Ressource enthält Informationen zum Videostream, den du an YouTube übermittelst. Der Stream enthält die Inhalte, die an YouTube-Nutzer gesendet werden. Nach dem Erstellen kann eine liveStream-Ressource einer oder mehreren liveBroadcast-Ressourcen zugeordnet 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.
insert
Erstellt einen Videostream. Über den Stream kannst du dein Video an YouTube senden, wo es dann für deine Zuschauer übertragen wird. 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
Löst einen Videostream. 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 Eigenschaften 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 zuweist, um den Stream eindeutig zu identifizieren.
snippet object
Das snippet-Objekt enthält grundlegende Details zum Stream, einschließlich Kanal, Titel und Beschreibung.
snippet.publishedAt datetime
Das Datum und die Uhrzeit, an dem bzw. der der Stream erstellt wurde. 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 maximal 10.000 Zeichen lang sein.
snippet.isDefaultStream boolean
Dieses Attribut wird am oder nach dem 1. September 2020 eingestellt. Ab diesem Zeitpunkt werden auf YouTube keine Standardstreams und Standardübertragungen mehr erstellt, wenn für einen Kanal das Livestreaming aktiviert ist. Weitere Informationen finden Sie in der Mitteilung zur Einstellung.
Mit dieser Property wird angegeben, ob es sich bei diesem Stream um den Standardstream für den Kanal handelt.

Funktionsweise von Standardstreams

Wenn ein YouTube-Kanal für das Livestreaming aktiviert ist, erstellt YouTube einen Standardstream und eine Standardübertragung für den Kanal. Der Stream definiert, wie der Kanalinhaber Livevideos an YouTube sendet. Die Übertragung ist die Art und Weise, wie Zuschauer den Standardstream sehen können. Kanalinhaber können diese Ressourcen mit den Methoden liveStreams.list und liveBroadcasts.list ermitteln.

Der Standardstream eines Kanals existiert unbegrenzt, hat keine Start- oder Endzeit und kann nicht gelöscht werden. Der Kanalinhaber muss nur mit dem Senden von Videobits beginnen, damit der Stream automatisch fortgesetzt wird.

Wenn ein Stream endet, wandelt YouTube die abgeschlossene Übertragung in ein YouTube-Video um und weist dem Video eine YouTube-Video-ID zu. Nach Abschluss der Umwandlung wird das Video in die Liste der hochgeladenen Videos des Kanals aufgenommen. Das Video ist nicht sofort nach Ende der Übertragung verfügbar. Die Länge der Verzögerung hängt von der tatsächlichen Länge der Übertragung ab.
cdn object
Das cdn-Objekt definiert die CDN-Einstellungen (Content Delivery Network) des Livestreams. In diesen Einstellungen kannst du festlegen, wie du deine Inhalte auf YouTube streamst.
cdn.format string
Dieses Attribut wurde am 18. April 2016 eingestellt und wird ab dem 17. August 2020 nicht mehr unterstützt. Anfragen, in denen diese Property noch verwendet wird, schlagen ab diesem Datum fehl.

Verwenden Sie stattdessen die Properties cdn.frameRate und cdn.resolution, um die Framerate und Auflösung separat anzugeben.
cdn.ingestionType string
Die Methode oder das Protokoll, das für die Übertragung des Videostreams verwendet wird.

Gültige Werte für dieses Attribut sind:
  • dash
  • hls
  • rtmp (einschließlich RTMPS)
cdn.ingestionInfo object
Das ingestionInfo-Objekt enthält Informationen, die YouTube zur Verfügung stellt und die du benötigst, um deinen Stream an YouTube zu übertragen.
cdn.ingestionInfo.streamName string
Der Streamname, den YouTube dem Videostream zuweist.
cdn.ingestionInfo.ingestionAddress string
Die primäre Datenaufnahme-URL, die du verwenden solltest, um Videos mit RTMP, DASH oder HLS auf YouTube zu streamen. Du musst das Video an diese URL streamen.

Je nachdem, welche Anwendung oder welches Tool du zum Codieren deines Videostreams verwendest, musst du die Stream-URL und den Streamnamen möglicherweise separat eingeben oder sie im folgenden Format zusammenführen:
STREAM_URL/STREAM_NAME
cdn.ingestionInfo.backupIngestionAddress string
Die URL für die Back-up-Datenaufnahme, die du verwenden solltest, um Videos mit RTMP, DASH oder HLS auf YouTube zu streamen. Du kannst die Inhalte, die du an die ingestionAddress sendest, gleichzeitig an diese URL streamen.
cdn.ingestionInfo.rtmpsIngestionAddress string
Die primäre Aufnahme-URL, die du verwenden solltest, um Videos mit RTMPS auf YouTube zu streamen. Du musst das Video an diese URL streamen.

Je nachdem, welche Anwendung oder welches Tool du zum Codieren deines Videostreams verwendest, musst du die Stream-URL und den Streamnamen möglicherweise separat eingeben oder sie im folgenden Format zusammenführen:
STREAM_URL/STREAM_NAME
cdn.ingestionInfo.rtmpsBackupIngestionAddress string
Die URL für die Back-up-Datenaufnahme, die du verwenden solltest, um Videos mit RTMPS auf YouTube zu streamen.
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 kannst du angeben, dass YouTube die Auflösung deines gestreamten Videos automatisch erkennen soll. Sie müssen außerdem cdn.frameRate auf variable setzen.
    In der YouTube-Hilfe findest du empfohlene Encoder-Einstellungen.
cdn.frameRate string
Die Framerate der eingehenden Videodaten.

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

Gültige Werte für dieses Attribut sind:
  • 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 liegt eine Fehlerbedingung vor.
  • 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 Gesundheitsstatus des Livestreams, mit denen Streamingprobleme erkannt, diagnostiziert und behoben werden können.
status.healthStatus.status string
Der Statuscode dieses Streams.

Gültige Werte für dieses Attribut sind:
  • good: Es gibt keine Konfigurationsprobleme, deren Schweregrad warning oder höher ist.
  • ok: Es gibt keine Konfigurationsprobleme mit dem Schweregrad error.
  • bad: Der Stream weist einige Probleme auf, deren Schweregrad error ist.
  • noData – Die Backend-Server für Livestreaming auf YouTube enthalten keine Informationen zum Status des Streams.
status.healthStatus.lastUpdateTimeSeconds unsigned long
Zeitpunkt der letzten Aktualisierung des Status des Streams. Der Wert entspricht einem UNIX-Zeitstempel in Sekunden.
status.healthStatus.configurationIssues[] list
Dieses Objekt enthält eine Liste der Konfigurationsprobleme, die sich auf den Stream auswirken.
status.healthStatus.configurationIssues[].type string
Identifiziert den Fehlertyp, der sich auf den Stream auswirkt.
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 Zuschauern ohne negative Auswirkungen auf die Leistung gesendet.
  • warning: Das Video wird an Zuschauer gesendet, die Leistung ist jedoch nicht optimal.
  • error – Das Video kann nicht an Zuschauer gesendet 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 angegeben.
status.healthStatus.configurationIssues[].description string
Eine ausführliche Beschreibung des Problems. Nach Möglichkeit enthält die Beschreibung Informationen zur Problembehebung. Im Dokument Konfigurationsprobleme für Livestream-Ressourcen sind alle Arten von Konfigurationsproblemen und ihre Beschreibungen aufgeführt.
contentDetails object
Das content_details-Objekt enthält Informationen zum Stream, einschließlich der URL für die Datenaufnahme der Untertitel.
contentDetails.closedCaptionsIngestionUrl string
Die Datenaufnahme-URL, an die die Untertitel dieses Streams gesendet werden.
contentDetails.isReusable boolean
Gibt an, ob der Stream wiederverwendbar ist, d. h., ob er mehreren Übertragungen zugeordnet werden kann. Es ist üblich, dass Sender denselben Stream für viele verschiedene Übertragungen wiederverwenden, wenn diese zu unterschiedlichen Zeiten stattfinden.

Wenn du diesen Wert auf false festlegst, kann der Stream nicht wiederverwendet werden. Das bedeutet, dass er nur einer Übertragung zugeordnet werden kann. Nicht wiederverwendbare Streams unterscheiden sich in folgenden Punkten von wiederverwendbaren Streams:
  • Ein nicht wiederverwendbarer Stream kann nur mit einer Übertragung verknüpft werden.
  • Ein nicht wiederverwendbarer Stream wird nach der Übertragung möglicherweise durch einen automatisierten Prozess gelöscht.
  • Die Methode liveStreams.list listet keine nicht wiederverwendbaren Streams auf, wenn Sie die Methode aufrufen und den Parameter mine auf true festlegen. Die einzige Möglichkeit, mit dieser Methode die Ressource für einen nicht wiederverwendbaren Stream abzurufen, besteht darin, den Stream mit dem Parameter id zu identifizieren.