YouTube Live Streaming API – Überarbeitungsverlauf

Auf dieser Seite findest du Änderungen an der YouTube Live Streaming API und Aktualisierungen der Dokumentation. Abonniere diese Änderungsliste. Abonnieren

9. Oktober 2023

Nur zu Referenzzwecken: In dieser CSV-Datei siehst du, welche Sticker-IDs zu welchen Super Stickern gehören. Die Definitionen der Property snippet.superStickerDetails.superStickerMetadata.stickerId der Ressource liveChatMessage und der Property snippet.superStickerMetadata.stickerId der Ressource superChatEvent wurden entsprechend aktualisiert.

15. September 2023

Die API unterstützt jetzt eine neue Möglichkeit, Anzeigen in Livestreams einzufügen. Zusätzlich zu liveCuepoints, mit dem du Werbeunterbrechungen manuell in einen Livestream einfügen kannst, unterstützt YouTube jetzt eine Funktion, mit der Mid-Roll-Werbeunterbrechungen in einem Livestream in festen Intervallen automatisch eingefügt werden.

Wenn der Inhaber der Übertragung automatisierte Anzeigen aktiviert, kann er sich die folgenden Aspekte des Anzeigenverhaltens ansehen:

  • die Länge des Intervalls zwischen Mid-Roll-Werbeunterbrechungen.
  • Planungsstrategie für Anzeigen-Cue-Punkte Cue-Punkte können gleichzeitig für alle Zuschauer eingefügt werden. Das Timing der Cue-Punkte kann aber von Zuschauer zu Zuschauer variieren. Die letztere Strategie ermöglicht es YouTube, Cue-Punkte mit einer höheren Rate zu planen, sodass Zuschauer Cue-Punkte erhalten, wenn sie dazu berechtigt sind.
  • Ein Zeitraum, in dem Mid-Roll-Anzeigen nicht gezeigt werden. Für diese Funktion gibt der Sender an, dass das Einfügen von Mid-Roll-Anzeigen bis zu einem bestimmten Zeitpunkt pausiert wird.

Die Dokumentation enthält die folgenden API-Änderungen zur Unterstützung dieser Funktion:

  • Die liveBroadcast-Ressource enthält jetzt ein monetizationDetails-Objekt. Die Felder des Objekts geben an, ob die automatische Anzeigenbereitstellung für die Übertragung aktiviert ist, und enthalten zusätzliche Informationen zum Planen von Cuepoints.
  • Der Parameter part der Methode liveBroadcast.list unterstützt den Wert monetizationDetails.
  • Mit der Methode update kannst du das Einfügen von Mid-Roll-Anzeigen für einen bestimmten Zeitraum für eine Liveübertragung pausieren. Außerdem werden in der Dokumentation jetzt mehrere Fehler beschrieben, die beim Aktualisieren der Monetarisierungsdetails für eine Liveübertragung auftreten können.

1. August 2023

Dieses Update enthält die folgenden Änderungen:

  • Bei der liveBroadcasts.update-Methode müssen für diese Felder keine Werte mehr angegeben werden:

    • snippet.title
    • status.privacyStatus

    Wenn Sie diese Felder aus der Anfrage ausschließen, bleiben sie unverändert.

1. November 2022

  • Mit der neuen liveBroadcasts.cuepoint-Methode können alle Kanalinhaber, die eine Liveübertragung auf YouTube starten, Cue-Punkte in die Übertragung einfügen, die Werbeunterbrechungen auslösen können. Diese Methode ersetzt die Methode liveCuepoints.insert, mit der nur YouTube-Contentpartner Cue-Punkte in Liveübertragungen einfügen konnten.

    Mehrere Leitfäden wurden aktualisiert, um die Verfügbarkeit dieser neuen Methode widerzuspiegeln.

  • Hinweis: Dies ist eine Ankündigung zur Einstellung.

    Die Methode liveCuepoints.insert ist jetzt eingestellt. Die Unterstützung für die Methode liveCuepoints.insert wird am oder nach dem 1. Mai 2023 entfernt. API-Nutzer sollten ihre Anwendungen so aktualisieren, dass stattdessen die Methode liveBroadcasts.cuepoint aufgerufen wird.

  • Die Dokumentation für die Methode liveBroadcasts.control wurde entfernt. Im September 2020 wurde ein Hinweis zur Einstellung dieser Methode veröffentlicht.

1. Oktober 2022

Dieses Update enthält die folgenden Änderungen:

  • Bei der Methode liveBroadcasts.update müssen für diese Felder keine Werte angegeben werden:

    • contentDetails.enableContentEncryption
    • contentDetails.enableDvr
    • contentDetails.enableEmbed
    • contentDetails.recordFromStart
    • contentDetails.startWithSlate

    Wenn Sie diese Felder aus der Anfrage ausschließen, bleiben sie unverändert.

  • Dokumentation für veraltete liveBroadcast-Felder entfernt:

    • contentDetails.enableContentEncryption
    • contentDetails.startWithSlate

1. April 2022

Dieses Update enthält die folgenden Änderungen:

  • Das Attribut snippet.type unterstützt jetzt zwei neue Werte:

    • membershipGiftingEvent
    • giftMembershipReceivedEvent
  • Die neue Eigenschaft snippet.membershipGiftingDetails der Ressource liveChatMessage und ihre untergeordneten Elemente enthalten Informationen zum Ereignis „Verschenke eine Mitgliedschaft“. Ebenso enthalten die neue Property snippet.giftMembershipReceivedDetails und ihre untergeordneten Elemente Informationen zum Ereignis „Geschenkmitgliedschaft erhalten“.

15. September 2021

Dieses Update enthält die folgenden Änderungen:

  • Die Property snippet.type unterstützt jetzt zwei neue Werte:

    • newSponsorEvent
    • memberMilestoneChatEvent
  • Das neue Attribut snippet.memberMilestoneChatDetails der liveChatMessage-Ressource und seine untergeordneten Elemente enthalten Informationen zum Ereignis „Chatnachricht für treue Mitglieder“. Ebenso enthalten die neue snippet.newSponsorDetails-Property und ihre untergeordneten Elemente Informationen zum Ereignis „Neuer Sponsor“.

1. Dezember 2020

Die liveBroadcasts.transition-Methode der API unterstützt einen neuen 403-Fehler (Forbidden), der darauf hinweist, dass der Nutzer innerhalb eines bestimmten Zeitraums zu viele Anfragen gesendet hat. Der Fehlergrund lautet userRequestsExceedRateLimit.

21. September 2020

  • Die Definition des Attributs status.madeForKids der Ressource liveBroadcast wurde aktualisiert, um klarzustellen, dass das Attribut schreibgeschützt ist. Dies spiegelt keine Änderung der API-Funktionen wider.

    Wenn du einen Livestream als speziell für Kinder konzipiert kennzeichnen möchtest, setze das Attribut status.selfDeclaredMadeForKids beim Aufrufen der Methode liveBroadcasts.insert zum Erstellen des Livestreams auf true.

  • Hinweis:Diese Änderung umfasst eine Einstellungsankündigung und eine Aktualisierung einer früheren Einstellungsankündigung.

    Die Methode liveBroadcasts.control wird am oder nach dem 1. Oktober 2020 eingestellt. Nach diesem Datum wird bei allen Aufrufen dieser Methode der Fehler „Forbidden“ (403) zurückgegeben. Die Methode wird später vollständig entfernt. Kunden können weiterhin ihre eigenen Zeitpläne implementieren, indem sie dem Video, das an die Aufnahmeserver von YouTube gesendet wird, ein Overlay hinzufügen.

    Die Einstellung der am 16. April 2020 angekündigten Produkte, die ursprünglich für den 1. September 2020 geplant war, wurde verschoben. Die Produkte werden nun am oder nach dem 1. Oktober 2020 eingestellt. Daher werden die in dieser Ankündigung enthaltenen Funktionen und die liveBroadcasts.control-Methode gleichzeitig eingestellt.

17. Juli 2020

Hinweis: Dies ist eine Aktualisierung einer früheren Ankündigung zur Einstellung.

Das Feld „cdn.format“ der Ressource „liveStream“ wurde im April 2016 eingestellt und wird ab dem 17. August 2020 nicht mehr unterstützt. Anfragen, in denen dieses Feld noch verwendet wird, schlagen ab diesem Datum fehl.

Wenn in deinem Code noch das Feld cdn.format verwendet wird, muss es aktualisiert werden, damit die Framerate und Auflösung mit den Eigenschaften cdn.frameRate und cdn.resolution separat angegeben werden.

6. Juli 2020

Der Leitfaden YouTube-Liveinhalte über HLS bereitstellen wurde mit einigen Änderungen aktualisiert:

  • Die empfohlene Dauer für ein Mediensegment wurde auf ein bis vier Sekunden aktualisiert.
  • In einem neuen Abschnitt wird erläutert, wie du eine HLS-Aufnahme-URL in YouTube Studio abrufen kannst.
  • Anweisungen zum Formatieren des Parameterwerts file wurden in den neuen Abschnitt HLS-Aufnahme-URL vervollständigen verschoben. Diese Anleitung gilt unabhängig davon, ob die HLS-Aufnahme-URL über die YouTube API oder YouTube Creator Studio abgerufen wird.

Außerdem sind im neuen Vergleich der Datenaufnahmeprotokolle die von YouTube unterstützten Datenaufnahmeprotokolle, die für jedes Protokoll unterstützten Codecs und zusätzliche Informationen zu geeigneten Anwendungsfällen für jedes Protokoll aufgeführt.

16. April 2020

Dieses Update enthält eine neue Property und eine Ankündigung zur Einstellung:

  • Die liveBroadcast-Ressource unterstützt jetzt die Property contentDetails.enableAutoStop. Die Property gibt an, ob eine Übertragung etwa eine Minute nach dem Ende des Videostreams durch den Kanalinhaber automatisch beendet werden soll.

    Das Dokument Lebensdauer einer Übertragung wurde aktualisiert. Darin wird nun erläutert, wie sich die Schritte zum Erstellen und Verwalten eines YouTube-Live-Ereignisses ändern, wenn du die Eigenschaften contentDetails.enableAutoStart oder contentDetails.enableAutoStop auf true festlegst.

  • Hinweis: Dies ist eine Ankündigung zu eingestellten Funktionen. Diese Änderungen treten am oder nach dem 1. September 2020 in Kraft. Das tatsächliche Datum, an dem die Änderungen in Kraft treten, wird unten als Einstellungsdatum bezeichnet.

    Dieses Update erklärt eine möglicherweise funktionsgefährdende Änderung. Sie betrifft API-Clientanwendungen, die die Standardressourcen liveStream und liveBroadcast von Kanälen zum Streamen von Livestreams auf YouTube verwenden. Insbesondere die Broadcast-ID und die Stream-ID, die mit der dauerhaften Übertragung und dem Stream verknüpft sind, können nicht mehr zum Starten neuer Übertragungen verwendet werden.

    Ihre Anwendung ist betroffen, wenn eine der folgenden Bedingungen zutrifft:

    • Es wird der Wert des Attributs isDefaultBroadcast der Ressource liveBroadcast geprüft. Diese Property wird nach dem Einstellungsdatum nicht mehr zurückgegeben.
    • Der Wert des Attributs isDefaultStream der Ressource liveStream wird geprüft. Diese Property wird nach dem Einstellungsdatum nicht mehr zurückgegeben.
    • Dabei wird die Methode liveBroadcasts.list aufgerufen und der Parameterwert broadcastType auf persistent oder all festgelegt. Dieser Parameter wird im Rahmen dieser Änderungen eingestellt. Zum Zeitpunkt der Einstellung:
      • Wenn der Parameterwert broadcastType persistent ist, gibt die Methode liveBroadcasts.list keine Ergebnisse zurück.
      • Wenn der Parameterwert broadcastType all ist, gibt die Methode liveBroadcasts.list keine persistenten Übertragungen zurück, die vor diesem Zeitpunkt vorhanden waren.

    In den letzten Jahren hat YouTube automatisch einen Standardstream und eine Standardübertragung für einen Kanal erstellt, wenn dieser für das Livestreaming aktiviert war. Der Standardstream existierte auf unbestimmte Zeit, hatte keine Start- oder Endzeit und konnte nicht gelöscht werden. Ebenso wurde die Standardübertragung als persistent betrachtet. Sie war immer vorhanden und nicht an ein bestimmtes Ereignis gebunden.

    Ab dem Einstellungsdatum:

    • YouTube erstellt keine Standardstreams und ‑übertragungen mehr. Anstatt sich auf die Standardressourcen zu verlassen, müssen API-Clients liveBroadcast- und liveStream-Ressourcen erstellen und verwalten und diese Ressourcen miteinander verknüpfen können.
    • Wenn die Standardübertragung und der Standardstream eines Kanals aktiv sind, d. h. der Kanal sie zum Zeitpunkt der Einstellung für eine Liveübertragung verwendet, hat dies keine Auswirkungen auf die laufende Übertragung. Nach Ende dieser Übertragung kann der Kanal die Standardübertragung und den Standardstream jedoch nicht mehr verwenden.
    • Wenn die Standardübertragung und der Standardstream eines Kanals nicht aktiv sind, werden Versuche, diese Ressourcen zur Übertragung von Videos zu verwenden, nach der Einstellung ignoriert.

    Falls Ihre Anwendung davon betroffen ist, finden Sie in den folgenden Dokumenten Informationen zur Aktualisierung Ihrer Anwendung, damit sie nach dieser Änderung weiterhin wie erwartet funktioniert:

    • In einer neuen Migrationsanleitung werden die Schritte erläutert, die Entwickler bei API-Clients, die derzeit Standard-Broadcasts und -Streams verwenden, möglicherweise ausführen müssen.
    • In der Anleitung Der Lebenszyklus einer Übertragung wird Schritt für Schritt erklärt, wie du eine Live-Veranstaltung auf YouTube erstellst und verwaltest. In jedem Schritt werden die API-Aufrufe oder andere Schritte erläutert, die Sie zum Ausführen einer bestimmten Aktion ausführen müssen. Ihre Anwendung muss diesen Prozess befolgen, wenn YouTube die Unterstützung von Standardstreams und -übertragungen eingestellt hat.

31. März 2020

Hinweis: Dies ist eine Ankündigung zur Einstellung.

Die Ressource sponsor und die Methode sponsors.list wurden eingestellt und durch die Ressource member und die Methode members.list ersetzt.

Die sponsors.list-Methode wird ab dem 30. September 2020 nicht mehr unterstützt. API-Clients sollten Aufrufe der Methode sponsors.list aktualisieren, um stattdessen die Methode members.list zu verwenden. Weitere Informationen zu der neuen Ressource findest du im Versionsverlauf der YouTube Data API.

11. März 2020

Der Abschnitt Aufnahmeendpunkt im Leitfaden Live-YouTube-Inhalte über HLS bereitstellen wurde aktualisiert. Darin wird jetzt erläutert, wie ein Encoder den Parameterwert file= beim Erstellen der primären und sekundären Aufnahme-URLs angeben sollte.

4. Februar 2020

Der Leitfaden Live-YouTube-Inhalte über HLS bereitstellen wurde aktualisiert. Dort wird jetzt darauf hingewiesen, dass DELETE-Anfragen optional sind und vom HLS-Endpunkt von YouTube ignoriert werden. Aus Leistungsgründen empfiehlt YouTube, dass Clients keine DELETE-Anfragen senden.

10. Januar 2020

Die API unterstützt jetzt die Möglichkeit, Inhalte zu erkennen, die auf Kinder ausgerichtet sind. Diese Inhalte werden von YouTube als „speziell für Kinder“ bezeichnet. Weitere Informationen zu Inhalten speziell für Kinder findest du in der YouTube-Hilfe.

  • Die liveBroadcast-Ressource unterstützt zwei neue Properties, mit denen Creator und Zuschauer Inhalte speziell für Kinder erkennen können:
    • Mit dem Attribut selfDeclaredMadeForKids können Creator angeben, ob ein Livestream auf Kinder ausgerichtet ist. Diese Eigenschaft kann beim Erstellen einer Übertragung über die Methode liveBroadcasts.insert festgelegt werden. Hinweis: Dieses Attribut ist nur in API-Antworten enthalten, die liveBroadcast-Ressourcen enthalten, wenn der Kanalinhaber die API-Anfrage autorisiert hat.
    • Mit der Eigenschaft madeForKids kann jeder API-Nutzer den Status „Für Kinder“ einer Übertragung abrufen. Der Status kann beispielsweise anhand des Werts des Attributs selfDeclaredMadeForKids ermittelt werden. Weitere Informationen zum Festlegen der Zielgruppe für deinen Kanal, deine Videos oder deine Übertragungen findest du in der YouTube-Hilfe.
  • In der YouTube Data API werden für die Ressource channel auch die neuen Properties selfDeclaredMadeForKids und madeForKids unterstützt.

Außerdem haben wir die Nutzungsbedingungen der YouTube API-Dienste und die Richtlinien für Entwickler aktualisiert. Weitere Informationen findest du in den Nutzungsbedingungen der YouTube API-Dienste zum Überarbeitungsverlauf. Die Änderungen an den Nutzungsbedingungen der YouTube API-Dienste und den Richtlinien für Entwickler treten am 10. Januar 2020 (Pacific Time) in Kraft.

20. August 2019

Im Abschnitt Anforderungen des Leitfadens Live-YouTube-Inhalte über HLS bereitstellen wurden zwei Änderungen vorgenommen:

  • Darin wird erläutert, dass es eine Best Practice ist, sowohl bestätigte als auch ausstehende Segmente in jede Medienplaylist aufzunehmen. So ist es weniger wahrscheinlich, dass ein Segment übersprungen wird, wenn eine Medienplaylist auf Serverseite verloren geht. So können Sie beispielsweise bis zu zwei bestätigte Segmente und bis zu fünf ausstehende Segmente in jede Media-Playlist aufnehmen.
  • Für jedes Mediensegment muss jetzt eine Medienplaylist gesendet werden. So kann der Server schnell wiederhergestellt werden, wenn eine Medienplaylist verloren geht. Diese Vorgehensweise wurde zuvor als Empfehlung aufgeführt.

28. Juni 2019

YouTube unterstützt jetzt die HLS-Aufnahme. Die Property ingestionType der liveStream-Ressource unterstützt daher den neuen Wert hls, um Streams zu identifizieren, die mit HLS auf YouTube hochgeladen wurden.

Im neuen Leitfaden YouTube-Liveinhalte über HLS bereitstellen findest du Richtlinien für die Verwendung von HLS, um Liveinhalte über einen Encoder auf YouTube zu streamen. Der Leitfaden soll Encoder-Anbietern dabei helfen, ihren Produkten die Unterstützung der HLS-Auslieferung hinzuzufügen.

4. April 2019

Dieses Update enthält die folgenden Änderungen:

  • Die API-Referenzdokumentation wurde aktualisiert, um häufige Anwendungsfälle für jede Methode besser zu erläutern und dynamische, hochwertige Codebeispiele über das APIs Explorer-Widget bereitzustellen. Ein Beispiel hierfür finden Sie in der Dokumentation der Methode liveBroadcasts.list. Auf Seiten mit API-Methoden gibt es jetzt zwei neue Elemente:

    • Mit dem APIs Explorer-Widget können Sie Autorisierungsbereiche auswählen, Beispielparameter und -eigenschaftswerte eingeben und dann tatsächliche API-Anfragen senden und tatsächliche API-Antworten sehen. Das Widget bietet auch eine Vollbildansicht mit vollständigen Codebeispielen, die dynamisch aktualisiert werden, um die von Ihnen eingegebenen Bereiche und Werte zu verwenden.

    • Im Abschnitt Gängige Anwendungsfälle werden ein oder mehrere gängige Anwendungsfälle für die auf der Seite beschriebene Methode beschrieben. Du kannst die Methode liveBroadcasts.list beispielsweise aufrufen, um Daten zu einer bestimmten Übertragung oder zu den Übertragungen des aktuellen Nutzers abzurufen.

      Über die Links in diesem Abschnitt können Sie den APIs Explorer mit Beispielwerten für Ihren Anwendungsfall füllen oder den APIs Explorer im Vollbildmodus mit diesen Werten öffnen. Mit diesen Änderungen soll es einfacher sein, Codebeispiele zu finden, die direkt auf den Anwendungsfall anwendbar sind, den Sie in Ihrer eigenen Anwendung implementieren möchten.

    Codebeispiele werden derzeit für Java, JavaScript, PHP, Python und curl unterstützt.

  • Die Seite Codebeispiele hat ebenfalls eine neue Benutzeroberfläche mit den oben beschriebenen Funktionen. Mit diesem Tool können Sie Anwendungsfälle für verschiedene Methoden untersuchen, Werte in den APIs Explorer laden und den APIs Explorer im Vollbildmodus öffnen, um Codebeispiele in Java, JavaScript, PHP und Python zu erhalten.

    Im Rahmen dieser Änderung wurden die Seiten entfernt, auf denen zuvor verfügbare Codebeispiele für Java, PHP und Python aufgeführt waren.

25. Februar 2019

Die Dokumentation der Ressourcen liveChatMessage und superChatEvent wurde aktualisiert, um der Tatsache Rechnung zu tragen, dass beide Ressourcen jetzt Informationen zu Super Stickern enthalten können. Super Sticker sind eine Art von Super Chat-Nachricht, bei der ein Bild angezeigt wird. Wie bei Super Chats wird auch eine Super Sticker-Nachricht von einem Fan während eines YouTube-Livestreams gekauft.

  • In einer liveChatMessage-Ressource ist das Attribut snippet.type jetzt auf superStickerEvent festgelegt, um anzugeben, dass die Ressource Informationen zu einem Super Sticker enthält. In diesem Fall enthält die Ressource auch das snippet.superStickerDetails-Objekt mit zusätzlichen Informationen zum Super Sticker.
  • In einer superChatEvent-Ressource gibt das boolesche Attribut snippet.isSuperStickerEvent an, ob die Super Chat-Nachricht auch ein Super Sticker ist. In diesem Fall enthält das snippet.superStickerMetadata-Objekt zusätzliche Details zum Super Sticker.

5. April 2018

Die Beschreibung der superChatEvents.list-Methode wurde aktualisiert, da die API-Antwort keine fanFundingEvents mehr enthält. Diese wurden Anfang 2017 eingestellt.

3. April 2017

Es wurden neue Java-Codebeispiele hinzugefügt, die zeigen, wie Sie Livechat-Nachrichten auflisten, einfügen und löschen. In den Beispielen werden die folgenden Methoden aufgerufen:

13. Februar 2017

Dieses Update enthält die folgenden Änderungen:

  • Aktualisierungen vorhandener Ressourcen und Methoden

    • Die Methode liveCuepoints.insert wurde aktualisiert, um darauf hinzuweisen, dass der Parameter onBehalfOfContentOwner derzeit erforderlich ist. Außerdem wurde die Beschreibung der Methode aktualisiert. Darin wird nun darauf hingewiesen, dass Aufrufe dieser Methode von einem Konto autorisiert werden müssen, das mit einem YouTube-Rechteinhaber verknüpft ist.

9. Februar 2017

Dieses Update enthält die folgenden Änderungen:

  • Updates für vorhandene Ressourcen und Methoden

    • Mit dem neuen Parameter hl der Methode superChatEvents.list können Sie angeben, dass der Wert der Property snippet.displayString gemäß den Konventionen einer bestimmten Sprache formatiert werden soll. Die Definition dieser Property wurde ebenfalls entsprechend aktualisiert.

      Der Parameterwert muss ein Sprachcode sein, der in der Liste enthalten ist, die von der Methode i18nLanguages.list zurückgegeben wird. Der Standardwert ist en. Das bedeutet, dass Anzeigestrings standardmäßig so formatiert werden, wie sie im Englischen verwendet werden. Beispielsweise wird ein String standardmäßig als $1.00 statt als $1,00 formatiert.

1. Februar 2017

Dieses Update enthält die folgenden Änderungen:

  • Neue Ressourcen und Methoden

    • Die neue superChatEvent-Ressource steht für eine Super Chat-Nachricht, die von einem Fan während eines YouTube-Livestreams gekauft wurde. Im YouTube-Livechat-Stream heben sich Super Chats in zweierlei Hinsicht von anderen Nachrichten ab:

      • Super Chats werden farblich hervorgehoben.
      • Super Chats bleiben für einen bestimmten Zeitraum im Ticker angepinnt.

      Die Farbe des Super Chats, die Dauer, für die er im Ticker angepinnt bleibt, und die maximale Nachrichtenlänge werden vom Kaufbetrag bestimmt. Weitere Informationen zu Super Chats findest du in der YouTube-Hilfe.

      Die API unterstützt eine Methode, mit der Super Chat-Ereignisse für die Livestreams eines Kanals in den letzten 30 Tagen aufgelistet werden können. Mit dieser Methode werden auch Daten zu Fan-Funding-Ereignissen (fanFundingEvents) aus dem letzten Livestream des Kanals zurückgegeben.

  • Updates für vorhandene Ressourcen und Methoden

    • Das Attribut snippet.type unterstützt jetzt den Wert superChatEvent, der angibt, dass die Ressource einen Super Chat beschreibt.

      Außerdem enthalten die neue Property snippet.superChatDetails der liveChatMessage-Ressource und ihre untergeordneten Elemente Informationen zum Super Chat-Ereignis.

    • Die Property cdn.resolution der Ressource liveStream unterstützt jetzt den Wert 2160p.

  • Neue und aktualisierte Fehler

    • Die API unterstützt die folgenden neuen Fehler:

      Fehlerdetails
      liveBroadcasts.insert, liveBroadcasts.update Die Methoden liveBroadcasts.insert und liveBroadcasts.update geben 400-Fehler (Bad Request) zurück, um anzugeben, dass die eingefügte oder aktualisierte liveBroadcast-Ressource einen ungültigen Wert für das Attribut contentDetails.enableEmbed oder das Attribut contentDetails.projection enthält. Die Fehlerursachen für die beiden neuen Fehler sind invalidEmbedSetting bzw. invalidProjection.

12. Januar 2017

Hinweis: Dies ist eine Ankündigung zur Einstellung.

Im Zusammenhang mit der Einführung der neuen Funktion Super Chat hat YouTube die Fan-Funding-Funktion eingestellt. Die Fan-Funding API wird am 28. Februar 2017 deaktiviert. Ab diesem Datum gilt Folgendes:

11. August 2016

Dieses Update enthält die folgenden Änderungen:

  • Die neu veröffentlichten Nutzungsbedingungen für die YouTube API-Dienste („die aktualisierten Nutzungsbedingungen“) wurden im YouTube Engineering and Developers Blog ausführlich erläutert. Sie enthalten eine Reihe von Änderungen an den aktuellen Nutzungsbedingungen. Neben den aktualisierten Nutzungsbedingungen, die am 10. Februar 2017 in Kraft treten, enthält dieses Update mehrere ergänzende Dokumente, in denen die Richtlinien erläutert werden, die Entwickler einhalten müssen.

    Die vollständigen neuen Dokumente sind im Versionsverlauf der aktualisierten Nutzungsbedingungen beschrieben. Außerdem werden in diesem Änderungsverlauf zukünftige Änderungen an den aktualisierten Nutzungsbedingungen oder an den zugehörigen Dokumenten erläutert. Sie können über einen Link in dem Dokument einen RSS-Feed abonnieren, der Änderungen in diesem Überarbeitungsverlauf auflistet.

20. Mai 2016

YouTube unterstützt jetzt die DASH-Aufnahme. Die Property ingestionType der liveStream-Ressource unterstützt daher den neuen Wert dash, um Streams zu identifizieren, die mit DASH auf YouTube aufgenommen wurden.

Der neue Leitfaden Live-YouTube-Inhalte über DASH bereitstellen enthält Richtlinien für die Verwendung des DASH-Übermittlungsformats, um Livedaten von einem Encoder auf YouTube zu streamen. Er soll Encoder-Anbietern helfen, ihren Produkten DASH-Unterstützung für die Bereitstellung hinzuzufügen.

18. April 2016

Dieses Update enthält die folgenden Änderungen:

  • Aktualisierungen vorhandener Ressourcen und Methoden

    • liveStream-Ressourcenaktualisierungen
      • YouTube unterstützt jetzt Streams mit einer Auflösung von 1440p mit 30 oder 60 Frames pro Sekunde.

        Außerdem enthält die liveStream-Ressource neue Eigenschaften zum Angeben der Framerate und Auflösung der eingehenden Videodaten:

        Attribute
        cdn.frameRate Die Framerate der eingehenden Videodaten. Gültige Werte sind 30fps und 60fps.
        cdn.resolution Die Auflösung der eingehenden Videodaten. Gültige Attributwerte sind 1440p, 1080p, 720p, 480p, 360p und 240p.
      • Mit der Einführung der Eigenschaften cdn.frameRate und cdn.resolution der Ressource liveStream wird die Eigenschaft cdn.format der Ressource jetzt eingestellt. Die Eigenschaft cdn.format gibt die Auflösung und Framerate in einem einzigen Wert an.

        Wir empfehlen Ihnen, auf die neu unterstützten Felder umzustellen. In der Zwischenzeit funktioniert cdn.format weiter. Außerdem sind Anfragen zum Einfügen von Livestreams derzeit erfolgreich, sofern Sie Werte für die Property cdn.format oder die Properties cdn.frameRate und cdn.resolution angeben. Wenn Sie Werte für alle drei Properties angeben, gibt die API möglicherweise einen Fehler zurück, wenn die Werte nicht übereinstimmen.

        Hinweis: Auch wenn das Attribut cdn.format eingestellt wird, werden jetzt zwei neue Werte unterstützt: 1440p und 1440p_hfr. Sie spiegeln die Unterstützung von 1440p-Streams mit 30 oder 60 Frames pro Sekunde durch die API wider.

    • liveBroadcast-Ressourcenaktualisierungen
      • Die liveBroadcast-Ressource enthält die folgenden neuen Properties:

        Attribute
        contentDetails.boundStreamLastUpdateTimeMs Das Datum und die Uhrzeit, zu dem der Livestream, auf den in der contentDetails.boundStreamId-Eigenschaft der Übertragung verwiesen wird, zuletzt aktualisiert wurde.
        contentDetails.projection Das Projektionsformat der Übertragung. Der Standardwert der Property ist rectangular. Gültige Werte für das Attribut sind 360 und rectangular.
      • Die Definition des Attributs statistics.totalChatCount der liveBroadcast-Ressource wurde aktualisiert. Der Attributwert wird nur angezeigt, wenn die Übertragung mindestens eine Chatnachricht enthält.

    • liveChatMessage Ressourcenaktualisierungen
      • Die Property „snippet.type“ unterstützt zwei neue Werte: messageDeletedEvent und userBannedEvent. Sie entsprechen den neuen Properties, die in der folgenden Aufzählung beschrieben werden. Die Definition des Attributs snippet.authorChannelId wurde ebenfalls aktualisiert, um zu erklären, was der Attributwert für diese neuen Nachrichtentypen identifiziert.

      • Die Ressource liveChatMessage enthält die folgenden neuen Attribute:

        Attribute
        snippet.messageDeletedDetails Dieses Objekt enthält Informationen zu einer Nachricht, die von einem Chatmoderator gelöscht wurde. Das Objekt ist nur vorhanden, wenn der Wert der Property snippet.type messageDeletedEvent ist.
        snippet.userBannedDetails Dieses Objekt enthält Informationen zu einem Nutzer, dem die Teilnahme am Chat verweigert wurde. Das Objekt enthält auch Informationen zum Bann selbst, nämlich ob er dauerhaft oder vorübergehend ist. Wenn das Verbot vorübergehend ist, wird die Dauer des Verbots in einer der Objekt-Properties angegeben.

        Dieses Objekt ist nur vorhanden, wenn der Wert des Attributs snippet.type userBannedEvent ist.
  • Neue und aktualisierte Fehler

    • Die API unterstützt die folgenden neuen Fehler:

      Fehlerdetails
      liveBroadcasts.bind Die Methode liveBroadcasts.bind gibt einen 403-Fehler (Forbidden) zurück, um anzugeben, dass der Nutzer zu viele Anfragen innerhalb eines bestimmten Zeitraums gesendet hat. Die Fehlerursache ist userRequestsExceedRateLimit.

      Die Methoden liveBroadcasts.insert und liveBroadcasts.update unterstützen bereits denselben Fehler.
      liveStreams.insert Die Methode liveStreams.insert unterstützt vier neue 400-Fehler (Bad Request), die einen ungültigen Attributwert in der Ressource liveStream identifizieren, den die Anfrage einzufügen. In der folgenden Liste sind die Fehlergründe und die zugehörigen Attribute aufgeführt:
      liveStreams.insert Die liveStreams.insert-Methode unterstützt zwei neue 400-Fehler (Bad Request), die jeweils darauf hinweisen, dass ein erforderlicher Wert nicht in der liveStream-Ressource vorhanden ist, die in der Anfrage eingefügt werden sollte. In der folgenden Liste sind die Fehlergründe und die zugehörigen Attribute aufgeführt:
      Wenn Sie eine liveStream-Ressource einfügen, müssen Sie entweder einen Wert für das Attribut cdn.format oder für die Attribute cdn.frameRate und cdn.resolution angeben.
      • Die API gibt einen formatRequired-Fehler zurück, wenn Sie für keine der drei Properties einen Wert angeben.
      • Die API gibt einen frameRateRequired-Fehler zurück, wenn Sie einen Wert für cdn.resolution, aber keinen für cdn.frameRate angeben.
      • Die API gibt einen resolutionRequired-Fehler zurück, wenn Sie einen Wert für cdn.frameRate, aber nicht cdn.resolution angeben.
      liveStreams.update Die Methode liveStreams.update gibt einen 403-Fehler (Forbidden) zurück, wenn mit der Anfrage versucht wird, den Wert eines der folgenden nicht änderbaren Attribute zu ändern: Der Wert für reason in der Fehlerantwort ist liveStreamModificationNotAllowed.

18. Dezember 2015

Gemäß den Gesetzen der Europäischen Union (EU) müssen Endnutzer in der EU bestimmte Informationen erhalten und ihre Einwilligung erteilt haben. Daher müssen Sie für Endnutzer in der Europäischen Union die Richtlinie zur Einwilligung der Nutzer in der EU einhalten. Diese Anforderung wurde den Nutzungsbedingungen für die YouTube API hinzugefügt.

17. Dezember 2015

Dieses Update enthält die folgenden Änderungen:

  • Neue Ressourcen und Methoden

    • Die API unterstützt mehrere neue Ressourcen zur Unterstützung der Chatfunktion für Livestreams. YouTube unterstützt die Livechat-Funktion während aktiver Livestreams. Mit diesen Ressourcen und Methoden können Chatnachrichten abgerufen und Verwaltungsfunktionen für den Chat genutzt werden.

      Ressourcen
      liveChatMessage Diese Ressource stellt eine Nachricht in einem YouTube-Livechat dar. YouTube unterstützt verschiedene Arten von Nachrichten, darunter SMS und Fan-Funding-Ereignisse. Einige Nachrichtentypen geben eine bestimmte Phase des Chats an, z. B. den Beginn eines Zeitraums, in dem nur Sponsoren teilnehmen dürfen, oder das Ende des Chats. Die API unterstützt Methoden zum Auflisten, Einfügen und Löschen von Livechat-Nachrichten.
      liveChatModerators Diese Ressource identifiziert einen Chatmoderator. Moderatoren können einige administrative Funktionen ausführen, z. B. Nutzer vom Chat ausschließen oder Nachrichten entfernen. Die API unterstützt Methoden zum Auflisten, Einfügen und Löschen von Livechat-Moderatoren.
      liveChatBans Diese Ressource identifiziert einen Nutzer, der nicht mehr im Livechat Nachrichten posten darf. Sperrungen können vorübergehend oder dauerhaft sein. Die API unterstützt Methoden zum Einfügen und Löschen von Livechat-Sperrungen.
      fanFundingEvents Diese Ressource stellt ein Fan-Funding-Ereignis auf einem YouTube-Kanal dar. Mit der Finanzierung durch Fans können Zuschauer YouTube-Creator mit einer einmaligen Geldspende unterstützen.

      Die Methode fanFundingEvents.list der API listet die Fan-Funding-Ereignisse eines Kanals auf. Events zur Finanzierung durch Fans, die während einer Liveübertragung des Kanals über einen Livechat gestartet werden, lösen außerdem eine fanFundingEvent-Nachricht im Livechat der Übertragung aus.

      Weitere Informationen zu Fan-Funding findest du in der YouTube-Hilfe.
      sponsors Die Ressource sponsor identifiziert einen Sponsor eines YouTube-Kanals. Ein Sponsor zahlt einem Kanal eine monatliche Gebühr. In den Livechats des Kanals wird neben den Nachrichten der Unterstützer ein Badge angezeigt. Außerdem können sie an Livechats teilnehmen, die ausschließlich für die Unterstützer des Kanals gedacht sind, sofern solche stattfinden.

      Die Methode sponsors.list der API listet die Sponsoren eines Kanals auf. Wenn sich Nutzer während einer Livestreams auf einem Kanal als Unterstützer registrieren, fügt die API dem Livechat der Übertragung eine newSponsorEvent-Nachricht hinzu.

      Weitere Informationen zum Unterstützer-Status findest du in der YouTube-Hilfe.

  • Aktualisierungen vorhandener Ressourcen und Methoden

    • Die liveBroadcast-Ressource enthält die folgenden neuen Properties:

      Attribute
      snippet.liveChatId Die ID für den YouTube-Livechat der Übertragung. Mit dieser ID können Sie die Methoden der liveChatMessage-Ressource verwenden, um Chatnachrichten abzurufen, einzufügen oder zu löschen. Außerdem kannst du Chatmoderatoren hinzufügen oder entfernen, Nutzer von der Teilnahme an Livechats ausschließen oder bestehende Sperrungen aufheben.
      contentDetails.closedCaptionsType Hinweis: Dieses Attribut ersetzt das Attribut contentDetails.enableClosedCaptions.

      Dieses Attribut gibt an, ob Untertitel für deine Übertragung aktiviert sind und falls ja, welche Art von Untertiteln du zur Verfügung stellst:
      • closedCaptionsDisabled: Untertitel sind für die Liveübertragung deaktiviert.
      • closedCaptionsHttpPost: Du sendest Untertitel per HTTP-POST an eine Aufnahme-URL, die mit deinem Livestream verknüpft ist.
      • closedCaptionsEmbedded: Untertitel werden im Videostream mit den Formaten EIA-608 und/oder CEA-708 codiert.
      contentDetails.enableClosedCaptions Dieses Attribut wird seit dem 17. Dezember 2015 nicht mehr unterstützt. Verwende stattdessen die Property contentDetails.closedCaptionsType. Für API-Clients, die diese Eigenschaft bereits verwenden:
      • Wenn Sie den Attributwert auf true festlegen, entspricht das dem Festlegen des Attributs contentDetails.closedCaptionsType auf closedCaptionsHttpPost.
      • Wenn Sie den Attributwert auf false festlegen, entspricht das dem Festlegen des Attributs contentDetails.closedCaptionsType auf closedCaptionsDisabled.
    • Mit dem neuen Parameter broadcastType der Methode liveBroadcasts.list kannst du eine API-Antwort so filtern, dass sie Ereignis-, persistente oder alle Übertragungen enthält.

      Ein dauerhafter Broadcast ist immer vorhanden und nicht an ein bestimmtes Ereignis gebunden. Insbesondere ist die Standardübertragung eines Kanals eine dauerhafte Übertragung. Sie ist über das Live-Dashboard in YouTube Studio zugänglich. Die anderen Übertragungen des Kanals sind Ereignisübertragungen.

  • Im Feld status.healthStatus.configurationIssues[].type der liveStream-Ressource werden die folgenden neuen Fehler für den Gesundheitsstatus gemeldet:

    Fehler
    audioTooManyChannels Die Audiodaten umfassen mehr als zwei Kanäle. Es werden aber nur ein Kanal (Mono) oder zwei Kanäle (Stereo) unterstützt. Korrigiere die Anzahl der Audiokanäle.
    frameRateHigh Die aktuelle Framerate ist zu hoch. Stelle die Framerate auf %(framerate)s fps oder niedriger ein.
  • Das Veröffentlichungsdatum des vorherigen Dokumentationsupdates wurde korrigiert.

  • Neue und aktualisierte Fehler

    • Zusätzlich zu den für die oben aufgeführten neuen Ressourcen definierten Fehlern unterstützt die API die folgenden neuen Fehler:

      Fehlerdetails
      liveBroadcasts.update
      HTTP-Antwortcodeforbidden (403)
      GrundclosedCaptionsTypeModificationNotAllowed
      BeschreibungDer Wert contentDetails.closedCaptionsType kann nur geändert werden, wenn die Übertragung den Status created oder ready hat.
      liveBroadcasts.update
      HTTP-AntwortcodeinvalidValue (400)
      GrundinvalidEnableClosedCaptions
      BeschreibungIn der liveBroadcast-Ressource ist der Wert der Eigenschaft contentDetails.enableClosedCaptions nicht mit dem Wert der Einstellung contentDetails.closedCaptionType kompatibel. Ändern Sie die Ressource so, dass sie nur eine der beiden Attribute enthält, und reichen Sie die Anfrage dann noch einmal ein.

19. August 2015

Dieses Update enthält die folgenden Änderungen:

  • Neue Ressourcen und Methoden

    • Hinweis:Die Dokumentation für die liveChat-Ressource und ihre Methoden ist vertraulich und nur für ausgewählte YouTube-Partner sichtbar.

      Die neue liveChat-Ressource enthält einen Kommentar, der während einer Liveübertragung auf YouTube gepostet wurde. Die API unterstützt zwei Methoden für diese Ressource:

      Methoden
      liveChats.list Livechatnachrichten für eine Übertragung auflisten
      liveChats.insert Erstellen Sie eine neue Chatnachricht.

      Livechatnachrichten können nur abgerufen und gepostet werden, während eine Übertragung live ist.

  • Aktualisierungen vorhandener Ressourcen und Methoden

    • Die Ressource liveStream enthält die folgenden neuen Attribute:

      Attribute
      snippet.isDefaultStream Gibt an, ob es sich bei diesem Stream um den Standardstream für den Kanal handelt. Der Standardstream eines Kanals existiert unbegrenzt, hat keine Start- oder Endzeit und kann nicht gelöscht werden. Weitere Informationen zur Funktionsweise von Standardstreams finden Sie in der Definition der Property.
      status.healthStatus Dieses Objekt enthält Informationen, mit denen Streamingprobleme identifiziert, diagnostiziert und behoben werden können. Das Objekt enthält eine Reihe von untergeordneten Properties, mit denen du den Zustand eines Live-Videostreams bewerten kannst.

      Im status.healthStatus.configurationIssues[]-Objekt werden insbesondere Probleme aufgelistet, die sich auf einen Videostream auswirken. Im neuen Dokument Konfigurationsprobleme für Livestream-Ressourcen sind alle Probleme aufgeführt, die von der API gemeldet werden.
      contentDetails.isReusable 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.
    • Die liveBroadcast-Ressource enthält die folgenden neuen Properties:

      Attribute
      snippet.isDefaultBroadcast Gibt an, ob diese Übertragung die Standardübertragung für den Kanal ist. Wenn für einen YouTube-Kanal 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. Weitere Informationen zur Funktionsweise von Standardübertragungen finden Sie in der Definition der Property.
      contentDetails.enableLowLatency Gibt an, ob dieser Broadcast für Streaming mit niedriger Latenz codiert werden soll. Ein Stream mit niedriger Latenz kann die Zeit verkürzen, die es dauert, bis das Video für Nutzer sichtbar ist, die sich eine Übertragung ansehen. Er kann sich aber auch auf die Auflösung für Zuschauer des Streams auswirken.
      statistics.totalChatCount Die Gesamtzahl der mit der Übertragung verbundenen Livechat-Nachrichten. Die Property und ihr Wert sind vorhanden, wenn die Übertragung für den Nutzer sichtbar ist und die Livechat-Funktion aktiviert ist. Diese Eigenschaft gibt nach dem Ende der Übertragung keinen Wert an. Mit dieser Property wird also nicht die Anzahl der Chatnachrichten für ein archiviertes Video einer abgeschlossenen Liveübertragung ermittelt.
  • Neue und aktualisierte Fehler

    • Zusätzlich zu den für die neue liveChat-Ressource definierten Fehlern unterstützt die API den folgenden neuen Fehler:

      Fehlerdetails
      liveStreams.update
      HTTP-Antwortcodeforbidden (403)
      GrundliveStreamModificationNotAllowed
      BeschreibungMit der API kannst du einen wiederverwendbaren Stream nicht in einen nicht wiederverwendbaren Stream ändern und umgekehrt. Weitere Informationen finden Sie unter Streams und Übertragungen.

21. Mai 2015

Dieses Update enthält die folgenden Änderungen:

  • YouTube unterstützt jetzt das Livestreaming von Videos mit 60 Frames pro Sekunde (fps). Das sorgt für eine flüssigere Wiedergabe von Gaming- und anderen Videos mit schneller Action. Wenn du einen Livestream auf YouTube mit 60 fps startest, stellt YouTube den Stream auch mit 30 fps auf Geräten zur Verfügung, auf denen die Wiedergabe mit hoher Framerate noch nicht möglich ist.

    Das Attribut cdn.format der liveStream-Ressource unterstützt zwei neue Werte für diese Funktion: 720p_hfr und 1080p_hfr.

    Weitere Informationen zu dieser Funktion findest du im YouTube Creators-Blog.

21. August 2014

Dieses Update enthält die folgenden Änderungen:

  • Die Definition des Parameters walltime der Methode liveBroadcasts.control wurde aktualisiert. Der Property-Wert muss jetzt im ISO 8601-Format (YYYY-MM-DDThh:mm:ss.sssZ) angegeben werden.

  • Die API unterstützt jetzt die folgenden Fehler:

    Fehlertyp Fehlerdetails Beschreibung
    insufficientPermissions liveStreamingNotEnabled Alle Methoden für die Ressourcen liveBroadcast und liveStream geben diesen Fehler zurück, wenn der Nutzer, der die API-Anfrage autorisiert hat, nicht zum Streamen von Livevideos auf YouTube berechtigt ist. Weitere Informationen dazu, warum der Nutzer keine Livestreams starten kann, finden Sie möglicherweise in den Kanaleinstellungen unter https://www.youtube.com/features.
    rateLimitExceeded userRequestsExceedRateLimit Die Methoden liveBroadcasts.insert und liveStreams.insert geben diesen Fehler zurück, um anzugeben, dass der Nutzer innerhalb eines bestimmten Zeitraums zu viele Anfragen gesendet hat.

2. Mai 2014

Dieses Update enthält die folgenden Änderungen:

  • Die Beschreibungen der liveStream-Ressource und der liveBroadcasts.bind-Methode wurden aktualisiert. Es wird nun darauf hingewiesen, dass eine Übertragung nur an einen Videostream gebunden werden kann, ein Videostream aber an mehrere Übertragungen. Diese Änderung ist lediglich eine Korrektur der Dokumentation. Die zugrunde liegende API-Funktionalität hat sich nicht geändert.

  • Das Attribut contentDetails.monitorStream.enableMonitorStream der Ressource liveBroadcast wurde aktualisiert, um zu erklären, dass, wenn der Wert des Attributs true ist, die Übertragung zuerst in den Status testing versetzt werden muss, bevor in den Status live gewechselt werden kann. Wenn der Wert der Property false ist, kann die Übertragung keine Phase testing haben. Du kannst sie also direkt in den Status live überführen.

  • Die Property settings.offsetTimeMs der liveCuepoint-Ressource wurde aktualisiert. Du solltest keinen Wert für die Property angeben, wenn deine Übertragung keinen Monitorstream hat.

  • Alle Methoden für die Ressourcen liveBroadcast und liveStream unterstützen jetzt die Parameter onBehalfOfContentOwner und onBehalfOfContentOwnerChannel. Mit diesen Parametern kannst du dieselben Autorisierungsdaten verwenden, um API-Anfragen für verschiedene Kanäle auszuführen, die mit demselben Rechteinhaber verknüpft sind.

  • In der Dokumentation der liveCuepoints.insert-Methode wurde aktualisiert, dass Sie beim Aufrufen dieser Methode einen Wert für die settings.walltime-Property festlegen können.

  • In der Fehlerdokumentation wird jetzt der HTTP-Antwortcode für jeden Fehlertyp angegeben.

  • Die API unterstützt jetzt den folgenden Fehler:

    Fehlertyp Fehlerdetails Beschreibung
    insufficientPermissions livePermissionBlocked Die Methoden liveBroadcasts.insert, liveBroadcasts.transition und liveStreams.insert geben diesen Fehler zurück, wenn der Nutzer, der die Anfrage autorisiert hat, kein Livevideo auf YouTube streamen kann. Details dazu, warum der Nutzer keine Livevideos streamen kann, finden Sie möglicherweise in den Kanaleinstellungen des Nutzers unter https://www.youtube.com/features.
  • Der Fehler invalidScheduledStartTime der Methode liveBroadcasts.insert wurde aktualisiert, um zu verdeutlichen, dass der geplante Startzeitpunkt nah genug am aktuellen Datum liegen muss, damit eine Übertragung zu diesem Zeitpunkt zuverlässig geplant werden kann.

13. Dezember 2013

Dieses Update enthält die folgenden Änderungen:

  • Das neue Attribut status.recordingStatus der Ressource liveBroadcast gibt den aktuellen Status des Broadcasts an.

  • Die neue Property contentDetails.enableClosedCaptions der liveBroadcast-Ressource gibt an, ob Untertitel für die Übertragung aufgenommen werden können. Der Eigenschaftswert kann beim Einfügen oder Aktualisieren einer Übertragung festgelegt werden. Er kann jedoch nicht mehr aktualisiert werden, sobald sich die Übertragung im Status testing oder live befindet. Wenn Sie dieses Attribut auf true festlegen, gibt die an die Übertragung gebundene Ressource liveStream die Aufnahme-URL an, die für die Untertitel der Übertragung verwendet werden soll.

  • Die Property snippet.scheduledEndTime der liveBroadcast-Ressource unterstützt jetzt Übertragungen, die auf unbestimmte Zeit geplant sind. Durch diese Änderung ist das Attribut in liveBroadcasts.insert- und liveBroadcasts.update-Anfragen nicht mehr erforderlich.

    Wenn Sie eine liveBroadcast-Ressource abrufen, die keinen Wert für dieses Attribut angibt, wird die Übertragung auf unbestimmte Zeit geplant. Wenn Sie die Methode liveBroadcasts.insert oder liveBroadcasts.update aufrufen und keinen Wert für diese Property angeben, wird die Übertragung ebenfalls unbegrenzt fortgesetzt.

  • Die Eigenschaft contentDetails.recordFromStart der Ressource liveBroadcast, die bereits den Standardwert true hatte, kann jetzt nur noch auf false festgelegt werden, wenn der Übertragungskanal berechtigt ist, Aufzeichnungen für Livestreams zu deaktivieren.

    Wenn dein Kanal nicht berechtigt ist, Aufnahmen zu deaktivieren, und du versuchst, eine Übertragung mit der recordFromStart-Eigenschaft „false“ einzufügen, gibt die API einen Forbidden-Fehler zurück. Wenn dein Kanal nicht über diese Berechtigung verfügt und du versuchst, einen Broadcast zu aktualisieren, um die recordFromStart-Eigenschaft auf false zu setzen, gibt die API einen modificationNotAllowed-Fehler zurück.

  • Die liveBroadcast-Ressource enthält keine enableArchive-Property mehr, die in den Beschreibungen der contentDetails.enableDvr- und contentDetails.enableEmbed-Properties erwähnt wurde.

  • Die Liste der gültigen Werte für die Property status.lifeCycleStatus der Ressource liveBroadcast wurde um eine Beschreibung der einzelnen Status ergänzt.

  • Mit der neuen settings.walltime-Eigenschaft der liveCuepoint-Ressource werden das Datum und die Uhrzeit angegeben, zu denen der Cue-Punkt eingefügt werden soll. Die API gibt einen Fehler zurück, wenn eine Anfrage versucht, einen Cue-Punkt einzufügen, der einen Wert für diese Eigenschaft und für das Attribut settings.offsetTimeMs angibt.

  • Das neue contentDetails-Objekt in einer liveStream-Ressource enthält Informationen zum Stream. Derzeit ist contentDetails.closedCaptionsIngestionUrl die einzige Property des Objekts. Sie gibt die Datenaufnahme-URL für Untertitel an, die mit dem Videostream verknüpft sind.

  • Die Liste der gültigen Werte für die Property status.streamStatus der Ressource liveStream wurde um eine Beschreibung der einzelnen Status ergänzt.

  • Mit dem neuen Parameter walltime der Methode liveBroadcasts.control kannst du das Datum und die Uhrzeit angeben, zu der eine Änderung des Slates erfolgt. Die API gibt einen Fehler zurück, wenn in einer Anfrage ein Wert für diesen Parameter und für den Parameter offsetTimeMs angegeben ist.

  • In der API-Antwort auf eine liveBroadcasts.list-Anfrage hat sich der Wert des Attributs kind von youtube#liveBroadcastList zu youtube#liveBroadcastListResponse geändert.

  • In der API-Antwort auf eine liveStreams.list-Anfrage hat sich der Wert des Attributs kind von youtube#liveStreamList zu youtube#liveStreamListResponse geändert.

  • Das Attribut eventId wird sowohl in liveBroadcastListResponse als auch in liveStreamListResponse nicht mehr unterstützt.

  • Die API unterstützt die folgenden neuen Fehler:

    Fehlertyp Fehlerdetails Beschreibung
    invalidValue conflictingTimeFields Die Methode liveBroadcasts.control gibt diesen Fehler zurück, wenn in Ihrer Anfrage Werte für die Parameter offsetTimeMs und walltime angegeben sind. In einer Anfrage können beide Parameter entweder weggelassen oder für einen der beiden Parameter ein Wert angegeben werden.
    invalidValue invalidWalltime Die Methode liveBroadcasts.control gibt diesen Fehler zurück, wenn der Wert des Parameters walltime ungültig ist.
    forbidden enableClosedCaptionsModificationNotAllowed Die Methode liveBroadcasts.update gibt diesen Fehler zurück, wenn Sie versuchen, den contentDetails.enableClosedCaptions-Wert zu aktualisieren, und der Broadcast-Status nicht created oder ready lautet.
    invalidValue conflictingTimeFields Die Methode liveCuepoints.insert gibt diesen Fehler zurück, wenn in Ihrer Anfrage Werte für die Properties settings.offsetTimeMs und settings.walltime angegeben sind. In einer Anfrage können beide Eigenschaften weggelassen oder ein Wert für eine der beiden Eigenschaften angegeben werden.

    Außerdem wird bei der liveStreams.update-Methode kein cdnRequired-Fehler mehr unterstützt, der der liveStreams.insert-Methode ähnelt.

10. Mai 2013

Dieses Update enthält die folgenden Änderungen:

2. Mai 2013

Dieses Update enthält die folgenden Änderungen:

27. März 2013

Dieses Update enthält die folgenden Änderungen:

  • Die folgenden Properties in der liveBroadcast-Ressource haben sich geändert:

    • Das Attribut startWithSlateCuepoint wurde in startWithSlate umbenannt.
    • Das Attribut enableArchive wurde in recordFromStart umbenannt.
    • Das slateSettings-Objekt wurde eingestellt und aus der Dokumentation entfernt. Fehlermeldungen im Zusammenhang mit dem slateSettings-Objekt oder seinen Properties wurden ebenfalls entfernt. Außerdem wurde der Abschnitt „Slates anzeigen“ aus dem Leitfaden für die ersten Schritte entfernt.

  • Die API unterstützt das Einfügen von In-Stream-Slates mit der Methode liveCuepoints.insert nicht mehr. Die folgenden Dokumente wurden zur Berücksichtigung dieser Änderung aktualisiert:

18. März 2013

Dieses Update enthält die folgenden Änderungen:

  • Alle Fehlermeldungen der API wurden aktualisiert, um mögliche Fehler klarer zu erklären und nach Möglichkeit eine Anleitung zur Fehlerbehebung anzugeben.

  • Die API gibt jetzt möglicherweise mehrere neue Fehler zurück. In der folgenden Liste werden der Fehler und die API-Methode angegeben, die diesen Fehler möglicherweise zurückgeben:

    • liveBroadcasts.insert – Das geplante Ende einer Übertragung muss nach dem geplanten Beginn liegen.
    • liveBroadcasts.insert: Für die Übertragung ist ein ungültiger Datenschutzstatus angegeben.
    • liveBroadcasts.update: Die Ressource enthält keinen Wert für das Attribut contentDetails.enableArchive oder legt dafür keinen Wert fest.
    • liveBroadcasts.update: Die Ressource enthält keinen Wert für das Attribut contentDetails.enableContentEncryption oder legt dafür keinen Wert fest.
    • liveBroadcasts.update: Die Ressource enthält keinen Wert für das Attribut contentDetails.enableDvr oder legt dafür keinen Wert fest.
    • liveStreams.insert – Der Titel des Snippets muss zwischen 1 und 128 Zeichen lang sein.
    • liveStreams.update: Die Ressource enthält keinen Wert für das Attribut snippet.title oder legt dafür keinen Wert fest.

  • Die liveStream-Ressourcendokumentation wurde aktualisiert, um zu verdeutlichen, dass Multicast und WebM wie zuvor angegeben nicht unterstützt werden. Die Liste der Formate für die Property cdn.format wurde entsprechend aktualisiert und das cdn.multicastIngestionInfo-Objekt und seine untergeordneten Properties wurden aus der Dokumentation der Ressource entfernt. Außerdem wurde http aus der Liste der unterstützten cdn.ingestionType-Werte entfernt.