YouTube Live Streaming API – historia zmian

Ta strona zawiera informacje o zmianach w interfejsie YouTube Live Streaming API i aktualizacjach dokumentacji. Zasubskrybuj ten dziennik zmian. Subskrybuj

9 października 2023 r.

Informacje o tym, które identyfikatory naklejek odpowiadają którym supernaklejkom, znajdziesz w tym pliku CSV (tylko do celów informacyjnych). Definicje właściwości snippet.superStickerDetails.superStickerMetadata.stickerId zasobu liveChatMessage i właściwości snippet.superStickerMetadata.stickerId zasobu superChatEvent zostały zaktualizowane, aby uwzględniały te informacje.

15 września 2023 r.

Interfejs API obsługuje teraz nowy sposób wstawiania reklam do transmisji na żywo. Oprócz funkcji liveCuepoints, która umożliwia ręczne wstawianie przerw na reklamę w transmisji, YouTube obsługuje teraz funkcję automatycznego wstawiania reklam w trakcie filmu w stałych odstępach.

Jeśli właściciel transmisji włączy automatyczne reklamy, będzie mógł wyświetlać te aspekty zachowania reklam:

  • długość przerwy między przerwami na reklamę w trakcie filmu.
  • strategię harmonogramowania punktów wywołania reklamy. Punkty odniesienia można wstawiać jednocześnie dla wszystkich widzów lub ich czas może się różnić w zależności od widza. Ta druga strategia umożliwia YouTube planowanie punktów cue w szybszym tempie, co pozwala widzom otrzymywać punkty cue, gdy są one dostępne.
  • okres, w którym reklamy w trakcie filmu nie są wyświetlane; w przypadku tej funkcji właściciel transmisji określa, że wstawianie reklam w trakcie filmu jest wstrzymane do określonego czasu.

Dokumentacja uwzględnia te zmiany w interfejsie API, które umożliwiają obsługę tej funkcji:

  • Zasób liveBroadcast zawiera teraz obiekt monetizationDetails. Pola obiektu wskazują, czy automatyczne wstawianie reklam jest włączone w przypadku transmisji, oraz podają dodatkowe informacje o punktach cuepoint do harmonogramu.
  • Parametr part metody liveBroadcast.list obsługuje wartość monetizationDetails.
  • Metody update można używać do wstrzymywania wstawiania reklam w trakcie transmisji na żywo przez określony czas. Dokumentacja zawiera też informacje o kilku błędach, które mogą wystąpić podczas aktualizowania szczegółów dotyczących zarabiania w przypadku transmisji na żywo.

1 sierpnia 2023 r.

Ta aktualizacja zawiera następujące zmiany:

  • Metoda liveBroadcasts.update nie wymaga już podawania wartości w tych polach:

    • snippet.title
    • status.privacyStatus

    Pominięcie tych pól w żądaniu spowoduje, że pozostaną one bez zmian.

1 listopada 2022 r.

  • Nowa metoda liveBroadcasts.cuepointumożliwia każdemu właścicielowi kanału, który prowadzi transmisję na żywo w YouTube, wstawianie punktów cue w tej transmisji, co może powodować przerwy na reklamy. Ta metoda zastępuje metodę liveCuepoints.insert, która umożliwiała tylko partnerom treści YouTube wstawianie punktów cue w transmisjach na żywo.

    Zaktualizowaliśmy kilka przewodników, aby uwzględnić tę nową metodę.

  • Uwaga: to jest ogłoszenie o wycofaniu.

    Metoda liveCuepoints.insert została wycofana. Obsługa metody liveCuepoints.insert zostanie wycofana 1 maja 2023 r. lub później. Użytkownicy interfejsu API powinni zaktualizować swoje aplikacje, aby zamiast tego wywoływać metodę liveBroadcasts.cuepoint.

  • Dokumentacja metody liveBroadcasts.control została usunięta. Powiadomienie o wycofaniu tej metody zostało opublikowane we wrześniu 2020 r.

1 października 2022 r.

Ta aktualizacja zawiera następujące zmiany:

  • Metoda liveBroadcasts.update nie wymaga już podawania wartości w tych polach:

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

    Pominięcie tych pól w żądaniu spowoduje, że pozostaną one bez zmian.

  • Usunęliśmy dokumentację dotyczącą nieaktualnych pól liveBroadcast:

    • contentDetails.enableContentEncryption
    • contentDetails.startWithSlate

1 kwietnia 2022 r.

Ta aktualizacja zawiera następujące zmiany:

  • Właściwość snippet.type obsługuje teraz 2 nowe wartości:

    • membershipGiftingEvent
    • giftMembershipReceivedEvent
  • Nowa właściwość snippet.membershipGiftingDetails zasobu liveChatMessage i jej elementy podrzędne zawierają informacje o zdarzeniu darowania członkostwa. Podobnie nowa właściwość snippet.giftMembershipReceivedDetails i jej elementy zawierają informacje o zdarzeniu Otrzymanie subskrypcji w ramach prezentu.

15 września 2021 r.

Ta aktualizacja zawiera następujące zmiany:

  • Właściwość snippet.type obsługuje teraz 2 nowe wartości:

    • newSponsorEvent
    • memberMilestoneChatEvent
  • Nowa właściwość snippet.memberMilestoneChatDetails zasobu liveChatMessage i jej elementy zawierają informacje o zdarzeniu wiadomości na czacie dla wspierających osiągających kolejny próg. Podobnie nowa właściwość snippet.newSponsorDetails i jej elementy podrzędne zawierają informacje o wydarzeniu Nowy sponsor.

1 grudnia 2020 r.

Metoda liveBroadcasts.transition interfejsu API obsługuje nowy błąd 403 (Forbidden), który wskazuje, że użytkownik wysłał zbyt wiele żądań w określonym przedziale czasowym. Przyczyna błędu to userRequestsExceedRateLimit.

21 września 2020 r.

  • Definicja właściwości status.madeForKids zasobu liveBroadcast została zaktualizowana, aby wyjaśnić, że jest ona tylko do odczytu. Nie oznacza to zmiany funkcji interfejsu API.

    Aby oznaczyć transmisję na żywo jako przeznaczoną dla dzieci, ustaw właściwość status.selfDeclaredMadeForKids na true podczas wywoływania metody liveBroadcasts.insert w celu utworzenia transmisji.

  • Uwaga: ta zmiana obejmuje powiadomienie o wycofaniu i aktualizację wcześniejszego powiadomienia o wycofaniu.

    Metoda liveBroadcasts.control zostanie wycofana 1 października 2020 r. lub później. Po tej dacie wszystkie wywołania tej metody będą zwracać błąd Forbidden (403), a metoda zostanie później całkowicie usunięta. Klienci mogą nadal stosować własne harmonogramy, dodając nakładkę do filmu wysyłanego do serwerów przetwarzania w YouTube.

    Termin wycofania, który został ogłoszony 16 kwietnia 2020 r. i pierwotnie zaplanowany na 1 września 2020 r., został przesunięty i teraz nastąpi 1 października 2020 r. lub później. W związku z tym funkcje objęte tym ogłoszeniem o wycofaniu oraz metoda liveBroadcasts.control zostaną wycofane w tym samym czasie.

17 lipca 2020 r.

Uwaga: ta wiadomość jest aktualizacją wcześniejszego ogłoszenia o zaprzestaniu obsługi.

Od 17 sierpnia 2020 r. nie będzie już obsługiwane pole cdn.format zasobu liveStream, które zostało wycofane w kwietniu 2016 r. Od tego dnia żądania, które nadal używają tego pola, będą się kończyć niepowodzeniem.

Jeśli Twój kod nadal używa pola cdn.format, musisz go zaktualizować, aby określić częstotliwość i rozdzielczość klatek oddzielnie, używając właściwości cdn.frameRate i cdn.resolution.

6 lipca 2020 r.

Wprowadziliśmy kilka zmian w przewodniku Przesyłanie treści YouTube na żywo za pomocą HLS:

Dodatkowo nowe porównanie protokołów przetwarzania zawiera listę obsługiwanych przez YouTube protokołów przetwarzania, obsługiwane przez każdy z nich kodeki oraz dodatkowe informacje o odpowiednich przypadkach użycia.

16 kwietnia 2020 r.

Ta aktualizacja zawiera nową usługę i ogłoszenie o zaprzestaniu jej obsługi:

  • Zasób liveBroadcast obsługuje teraz usługę contentDetails.enableAutoStop. Właściwość ta wskazuje, czy transmisja powinna zostać automatycznie zatrzymana po około minucie od momentu, gdy właściciel kanału zatrzyma przesyłanie strumienia wideo na powiązanym kanale.

    Dokument Cykl życia transmisji został zaktualizowany, aby wyjaśnić, jak proces tworzenia i zarządzania wydarzeniem na żywo w YouTube zmienia się, gdy ustawisz właściwości contentDetails.enableAutoStart lub contentDetails.enableAutoStop na true.

  • Uwaga: to jest ogłoszenie o wycofaniu. Zmiany wejdą w życie 1 września 2020 r. lub później. Poniżej datę, od której zmiany zaczną obowiązywać, określamy jako datę wycofania.

    Ta aktualizacja wyjaśnia potencjalną zmianę powodującą niezgodność. Dotyczy to aplikacji klienckich interfejsu API, które do transmisji na żywo treści w YouTube korzystają z domyślnych zasobów liveStreamliveBroadcast kanałów. Dotyczy to w szczególności identyfikatora transmisji i identyfikatora strumienia powiązanych z trwałą transmisją. Nie będzie można już uruchamiać nowych transmisji.

    Twoja aplikacja zostanie dotknięta, jeśli spełniony jest któryś z tych warunków:

    • Sprawdza wartość właściwości isDefaultBroadcast zasobu liveBroadcast. Ta właściwość nie zostanie zwrócona po dacie wycofania.
    • Sprawdza wartość właściwości isDefaultStream zasobu liveStream. Ta właściwość nie zostanie zwrócona po dacie wycofania.
    • Wywołuje metodę liveBroadcasts.list i ustawia wartość parametru broadcastType na persistent lub all. W ramach tych zmian ten parametr zostanie wycofany. Od daty wycofania:
      • Jeśli wartość parametru broadcastType to persistent, metoda liveBroadcasts.list nie zwróci żadnych wyników.
      • Jeśli wartość parametru broadcastType to all, metoda liveBroadcasts.list nie zwróci trwałych transmisji, które istniały przed tym czasem.

    W ostatnich latach YouTube automatycznie tworzył domyślny strumień i domyślną transmisję dla kanału, gdy włączono na nim transmisję na żywo. Domyślny strumień istniał bezterminowo, nie był powiązany z czasem rozpoczęcia ani zakończenia i nie można go było usunąć. Podobnie transmisja domyślna została uznana za trwałą. Zawsze istniało i nie było powiązane z żadnym konkretnym zdarzeniem.

    W dniu wycofania:

    • YouTube nie będzie już tworzyć domyślnych transmisji i transmisji na żywo. Zamiast korzystać z zasobów domyślnych klienci interfejsu API muszą mieć możliwość tworzenia zasobów liveBroadcastliveStream oraz zarządzania nimi, a także ich łączenia.
    • Jeśli domyślna transmisja i domyślny strumień kanału są aktywne, co oznacza, że kanał używa ich do transmisji na żywo w momencie, gdy wycofanie wejdzie w życie, trwająca transmisja nie zostanie przerwana. Po zakończeniu transmisji kanał nie będzie jednak mógł ponownie korzystać z domyślnej transmisji i domyślnego strumienia.
    • Jeśli domyślna transmisja i domyślny stream kanału nie są aktywne, po wycofaniu tych funkcji YouTube będzie ignorować próby korzystania z tych zasobów do przesyłania filmów.

    Jeśli Twoja aplikacja jest objęta tymi zmianami, zapoznaj się z tymi dokumentami, które pomogą Ci zaktualizować aplikację, aby nadal działała zgodnie z oczekiwaniami:

    • Nowy przewodnik po migracji zawiera informacje o czynnościach, które deweloperzy mogą musieć wykonać w klientach API, które obecnie korzystają z domyślnych transmisji i strumyków.
    • Przewodnik Życie transmisji zawiera szczegółowe instrukcje tworzenia wydarzeń na żywo w YouTube i zarządzania nimi. Każdy krok zawiera informacje o wywołaniach interfejsu API lub inne czynności, które należy wykonać, aby wykonać określone działanie. Twoja aplikacja będzie musiała wykonać te czynności, gdy YouTube przestanie obsługiwać domyślne transmisje strumieniowe i transmisje na żywo.

31 marca 2020 r.

Uwaga: to jest ogłoszenie o wycofaniu.

Zasób sponsor i metoda sponsors.list zostały wycofane i zastąpione przez zasób member i metodę members.list.

Metoda sponsors.list przestanie być obsługiwana 30 września 2020 r. lub później. Klienci interfejsu API powinni zaktualizować wywołania metody sponsors.list, aby zamiast niej używać metody members.list. Więcej informacji o nowej dokumentacji znajdziesz w historii zmian interfejsu YouTube Data API.

11 marca 2020 r.

Sekcja Usługa przetwarzania danych w przewodniku Przesyłanie treści YouTube na żywo za pomocą HLS została zaktualizowana, aby wyjaśnić proces, którego powinien użyć koder, aby uzupełnić wartość parametru file= podczas tworzenia adresów URL przetwarzania danych pierwotnego i zapasowego.

4 lutego 2020 r.

Przewodnik Przenoszenie treści YouTube na żywo za pomocą HLS został zaktualizowany. Wskazuje on, że żądania DELETE są opcjonalne, a punkt końcowy HLS w YouTube je ignoruje. Ze względu na wydajność YouTube zaleca, aby klienci nie wysyłali żądań DELETE.

10 stycznia 2020 r.

Interfejs API obsługuje teraz możliwość identyfikacji treści skierowanych do dzieci, które YouTube nazywa „przeznaczonymi dla dzieci”. Więcej informacji na temat treści „przeznaczonych dla dzieci” znajdziesz w Centrum pomocy YouTube.

  • Zasoby liveBroadcast obsługują 2 nowe właściwości, które umożliwiają twórcom i widzom identyfikowanie treści przeznaczonych dla dzieci:
    • Właściwość selfDeclaredMadeForKidsumożliwia twórcom treści określenie, czy transmisja na żywo jest treścią skierowaną do dzieci. Tę właściwość można ustawić podczas tworzenia transmisji za pomocą metody liveBroadcasts.insert. Pamiętaj, że ta właściwość jest uwzględniana tylko w odpowiedziach interfejsu API, które zawierają zasoby liveBroadcast, jeśli właściciel kanału autoryzował żądanie interfejsu API.
    • Właściwość madeForKids umożliwia każdemu użytkownikowi interfejsu API pobranie informacji o tym, czy transmisja jest przeznaczona dla dzieci. Na przykład stan może być określany na podstawie wartości właściwości selfDeclaredMadeForKids. Więcej informacji o określaniu odbiorców kanału, filmów lub transmisji znajdziesz w Centrum pomocy YouTube.
  • W interfejsie YouTube Data API zasób channel obsługuje też nowe właściwości selfDeclaredMadeForKids i madeForKids.

Zaktualizowaliśmy też Warunki korzystania z usług interfejsu API YouTube oraz zasady dla deweloperów. Więcej informacji znajdziesz w historii zmian Warunków korzystania z usług YouTube API. Zmiany w Warunkach korzystania z usługi YouTube API i Zasadach dla deweloperów wejdą w życie 10 stycznia 2020 r. czasu pacyficznego.

20 sierpnia 2019 r.

Sekcja Wymagania w przewodniku Dostarczanie treści YouTube na żywo za pomocą HLS została zaktualizowana i zawiera 2 zmiany:

  • Wyjaśnia on, że sprawdzoną metodą jest uwzględnianie w każdej playliście multimediów zarówno segmentów uznanych, jak i nierozpatrzonych. Dzięki temu zmniejsza się prawdopodobieństwo pominięcia segmentu, jeśli na stronie serwera utracisz playlistę multimediów. Możesz na przykład uwzględnić w każdej playlistie z multimediami maksymalnie 2 zatwierdzone segmenty i maksymalnie 5 niezatwierdzonych segmentów.
  • Teraz wymagane jest wysłanie playlisty multimediów dla każdego segmentu multimediów. Dzięki temu serwer może szybko odzyskać playlistę multimediów, jeśli zostanie ona utracona. Ta praktyka była wcześniej wymieniona jako rekomendacja.

28 czerwca 2019 r.

YouTube obsługuje teraz przetwarzanie HLS. W związku z tym właściwość liveStream zasobu ingestionType obsługuje nową wartość hls, aby identyfikować strumienie przetworzone w YouTube za pomocą HLS.

Nowy przewodnik Przesyłanie treści YouTube na żywo za pomocą HLS zawiera wskazówki dotyczące używania HLS do strumieniowego przesyłania treści na żywo do YouTube z poziomu kodera. Przewodnik ma pomóc dostawcom koderów w dodaniu obsługi przesyłania HLS do swoich produktów.

4 kwietnia 2019 r.

Ta aktualizacja zawiera następujące zmiany:

  • Dokumentacja referencyjna interfejsu API została zaktualizowana, aby lepiej wyjaśnić typowe przypadki użycia każdej metody i zapewnić dynamiczne, wysokiej jakości przykłady kodu w widżecie Eksplorator interfejsów API. Przykład znajdziesz w dokumentacji metody liveBroadcasts.list. Na stronach z opisami metod interfejsu API znajdziesz teraz 2 nowe elementy:

    • Widget Eksplorator interfejsów API umożliwia wybranie zakresów autoryzacji, wpisanie przykładowych wartości parametrów i właściwości, a następnie wysłanie rzeczywistych żądań interfejsu API i obserwowanie rzeczywistych odpowiedzi interfejsu API. Widget oferuje też widok pełnoekranowy, który zawiera kompletne przykłady kodu, które dynamicznie aktualizują się, aby uwzględniać wprowadzone przez Ciebie zakresy i wartości.

    • W sekcji Typowe przypadki użycia opisano co najmniej 1 typowy przypadek użycia metody wyjaśnionej na stronie. Możesz na przykład wywołać metodę liveBroadcasts.list, aby pobrać dane o konkretnym przekazie lub o przekazach bieżącego użytkownika.

      Za pomocą linków w tej sekcji możesz wypełnić Eksplorator interfejsów API przykładowymi wartościami odpowiadającymi Twojemu przypadkowi użycia lub otworzyć Eksplorator interfejsów API na pełnym ekranie z już wypełnionymi wartościami. Te zmiany mają na celu ułatwienie Ci wyświetlania przykładów kodu, które można bezpośrednio zastosować w przypadku użycia, który chcesz wdrożyć w swojej aplikacji.

    Przykładowe fragmenty kodu są obecnie obsługiwane w przypadku języków Java, JavaScript, PHP, Python i curl.

  • Strona przykłady kodu ma też nowy interfejs, który zawiera wszystkie funkcje opisane powyżej. Za pomocą tego narzędzia możesz zapoznać się z przypadkami użycia różnych metod, wczytywać wartości do Eksploratora interfejsów API i otwierać Eksplorator interfejsów API na pełnym ekranie, aby uzyskać przykłady kodu w językach Java, JavaScript, PHP i Python.

    W związku z tą zmianą usunęliśmy strony, na których wcześniej znajdowały się przykładowe kody w Javie, PHP i Pythonie.

25 lutego 2019 r.

Dokumentacja zasobów liveChatMessage i superChatEvent została zaktualizowana, aby odzwierciedlić fakt, że oba zasoby mogą teraz zawierać informacje o supernaklejkach. Supernaklejki to rodzaj wiadomości superczatu, która wyświetla obraz. Podobnie jak w przypadku innych superczatów, supernaklejki są kupowane przez fanów podczas transmisji na żywo w YouTube.

  • W zasobie liveChatMessage właściwość snippet.type jest teraz ustawiona na superStickerEvent, aby wskazać, że zasób zawiera informacje o supernaklejce. W takim przypadku zasób zawiera też obiekt snippet.superStickerDetails, który zawiera dodatkowe informacje o supernaklejce.
  • W zasobach superChatEvent wartość logiczna snippet.isSuperStickerEvent wskazuje, czy wiadomość superczatu jest też supernaklejką. Jeśli tak, obiekt snippet.superStickerMetadata zawiera dodatkowe informacje o supernaklejce.

5 kwietnia 2018 r.

Opis metody superChatEvents.list został zaktualizowany, aby odzwierciedlał fakt, że odpowiedź interfejsu API nie zawiera już wartości fanFundingEvents, które zostały wycofane na początku 2017 r.

3 kwietnia 2017 r.

Dodaliśmy nowe przykłady kodu w Javie, które pokazują, jak wyświetlać, wstawiać i usuwać wiadomości czatu na żywo. Przykłady wywołują te metody:

13 lutego 2017 r.

Ta aktualizacja zawiera następujące zmiany:

  • Aktualizacje dotychczasowych zasobów i metod

    • Metoda liveCuepoints.insert została zaktualizowana, aby odzwierciedlić fakt, że parametr onBehalfOfContentOwner jest obecnie wymagany. Dodatkowo w opisie metody dodano informację, że wywołania tej metody muszą być autoryzowane przez konto powiązane z właścicielem treści w YouTube.

9 lutego 2017 r.

Ta aktualizacja zawiera następujące zmiany:

  • Aktualizacje dotychczasowych zasobów i metod

    • Nowy parametr hl metody superChatEvents.list umożliwia określenie, że wartość właściwości snippet.displayString powinna być sformatowana zgodnie z konwencjami danego języka. Definicja tej właściwości została również odpowiednio zaktualizowana.

      Wartość parametru musi być kodem języka uwzględnionym na liście zwróconej przez metodę i18nLanguages.list. Wartość domyślna to en, co oznacza, że domyślne działanie polega na formatowaniu ciągów tekstowych tak, jak byłyby używane w języku angielskim. Na przykład domyślnie ciąg znaków jest sformatowany jako $1.00, a nie $1,00.

1 lutego 2017 r.

Ta aktualizacja zawiera następujące zmiany:

  • Nowe materiały i metody

    • Nowy zasób superChatEvent reprezentuje wiadomość superczatu kupioną przez fana podczas transmisji na żywo w YouTube. W czacie na żywo w YouTube superczaty wyróżniają się na tle innych wiadomości w 2 sposoby:

      • Superczaty są wyróżnione kolorem.
      • Superczaty pozostają przypięte na pasku aktywności przez określony czas.

      Kolor superczatu, czas, przez jaki jest widoczny na pasku aktywności, oraz maksymalna długość wiadomości zależą od kwoty zakupu. Więcej informacji o Superczatach znajdziesz w Centrum pomocy YouTube.

      Interfejs API obsługuje metodę wyświetlania zdarzeń superczatu w przypadku transmisji na żywo na kanale z ostatnich 30 dni. Ta metoda zwraca też dane o zdarzeniach finansowania przez fanów (fanFundingEvents) z ostatniej transmisji na żywo na kanale.

  • Aktualizacje dotychczasowych zasobów i metod

    • Właściwość snippet.type obsługuje teraz wartość superChatEvent, która wskazuje, że zasób opisuje superczat.

      Dodatkowo nowa właściwość snippet.superChatDetails zasobu liveChatMessage i jego elementy podrzędne zawierają informacje o wydarzeniu superczatu.

    • Właściwość cdn.resolution zasobu liveStream obsługuje teraz wartość 2160p.

  • Nowe i zmienione błędy

    • Interfejs API obsługuje te nowe błędy:

      Szczegóły błędu
      liveBroadcasts.insert, liveBroadcasts.update Metody liveBroadcasts.insertliveBroadcasts.update zwracają błędy 400 (Bad Request), aby wskazać, że zasob liveBroadcast, który jest wstawiany lub aktualizowany, zawiera nieprawidłową wartość właściwości contentDetails.enableEmbed lub contentDetails.projection. Przyczyny tych błędów to odpowiednio invalidEmbedSettinginvalidProjection.

12 stycznia 2017 r.

Uwaga: to jest ogłoszenie o wycofaniu.

W związku z wprowadzeniem nowej funkcji Superczat wycofujemy funkcję finansowania przez fanów, a interfejs Fan Funding API zostanie wyłączony 28 lutego 2017 roku. W tym dniu:

11 sierpnia 2016 r.

Ta aktualizacja zawiera następujące zmiany:

  • Nowo opublikowane Warunki korzystania z usług interfejsu API YouTube („Zaktualizowane warunki”) omówione szczegółowo na blogu zespołu inżynierów i programistów YouTube zawierają wiele zmian w stosunku do dotychczasowych Warunków korzystania z usługi. Oprócz zaktualizowanych Warunków, które wejdą w życie 10 lutego 2017 r., aktualizacja zawiera kilka dokumentów pomocniczych wyjaśniających zasady, których muszą przestrzegać deweloperzy.

    Pełny zestaw nowych dokumentów jest opisany w historii zmian zaktualizowanych Warunków. Ponadto w tej historii zmian będą też opisane przyszłe zmiany Zaktualizowanych Warunków lub dokumentów pomocniczych. Możesz zasubskrybować kanał RSS, który zawiera listę zmian w tej historii zmian, z poziomu linku w tym dokumencie.

20 maja 2016 r.

YouTube obsługuje teraz przetwarzanie DASH. W związku z tym właściwość ingestionType zasobu liveStream obsługuje nową wartość dash, aby identyfikować strumienie przetworzone w YouTube za pomocą DASH.

Nowy przewodnik Przesyłanie treści YouTube na żywo za pomocą DASH zawiera wskazówki dotyczące używania formatu dostawy DASH do strumieniowego przesyłania danych na żywo w YouTube z poziomu kodera. Ma ona ułatwić dostawcom kodeków dodawanie obsługi DASH do ich produktów.

18 kwietnia 2016 r.

Ta aktualizacja zawiera następujące zmiany:

  • Aktualizacje dotychczasowych zasobów i metod

    • liveStream aktualizacje zasobów
      • YouTube obsługuje teraz transmisje w rozdzielczości 1440p z szybkością 30 lub 60 FPS.

        Zasób liveStream zawiera też nowe właściwości do określania liczby klatek na sekundę i rozdzielczości przychodzących danych wideo:

        Właściwości
        cdn.frameRate Liczba klatek na sekundę danych wideo przychodzących. Prawidłowe wartości to 30fps60fps.
        cdn.resolution rozdzielczość przychodzących danych wideo, Prawidłowe wartości właściwości to: 1440p, 1080p, 720p, 480p, 360p240p.
      • W związku z wprowadzeniem właściwości cdn.frameRate i cdn.resolution zasobu liveStream, właściwość cdn.format tego zasobu została wycofana. Właściwość cdn.format określa rozdzielczość i liczbę klatek w jednej wartości.

        Zachęcamy do przejścia na nowe obsługiwane pola. W tym czasie cdn.format będzie nadal działać. Dodatkowo żądania wstawiania transmisji na żywo są obecnie realizowane, o ile określisz wartości właściwości cdn.format lub właściwości cdn.frameRate i cdn.resolution. Jeśli podasz wartości dla wszystkich 3 właściwości, interfejs API może zwrócić błąd, jeśli wartości nie będą zgodne.

        Pamiętaj, że chociaż właściwość cdn.format została wycofana, obsługuje teraz 2 nowe wartości: 1440p i 1440p_hfr, aby odzwierciedlić obsługę strumieni 1440p z 30 lub 60 klatkami na sekundę.

    • liveBroadcast aktualizacje zasobów
      • Zasób liveBroadcast zawiera te nowe właściwości:

        Właściwości
        contentDetails.boundStreamLastUpdateTimeMs Data i godzina ostatniej aktualizacji strumienia na żywo, do którego odwołuje się właściwość contentDetails.boundStreamId transmisji.
        contentDetails.projection Format projekcji transmisji. Wartością domyślną właściwości jest rectangular. Prawidłowe wartości właściwości to 360 i rectangular.
      • Definicja właściwości statistics.totalChatCount zasobu liveBroadcast została zaktualizowana, aby wskazać, że jej wartość pojawia się tylko wtedy, gdy transmisja zawiera co najmniej 1 wiadomość na czacie.

    • liveChatMessage aktualizacje zasobów
      • Właściwość snippet.type obsługuje 2 nowe wartości: messageDeletedEvent i userBannedEvent, które odpowiadają nowym właściwościom opisanym w następnym punkcie. Zaktualizowaliśmy też definicję właściwości snippet.authorChannelId, aby wyjaśnić, co oznacza jej wartość w przypadku tych nowych typów wiadomości.

      • Zasób liveChatMessage zawiera te nowe właściwości:

        Właściwości
        snippet.messageDeletedDetails Ten obiekt zawiera informacje o wiadomości, która została usunięta przez moderatora czatu. Obiekt jest obecny tylko wtedy, gdy wartość właściwości snippet.type to messageDeletedEvent.
        snippet.userBannedDetails Ten obiekt zawiera informacje o użytkowniku, który został wykluczony z czatu. Obiekt zawiera też informacje o samej blokadzie, m.in. czy jest ona trwała czy tymczasowa. Jeśli zakaz jest tymczasowy, jedna z właściwości obiektu określa czas trwania zakazu.

        Ten obiekt jest obecny tylko wtedy, gdy wartość właściwości snippet.type to userBannedEvent.
  • Nowe i zaktualizowane błędy

    • Interfejs API obsługuje te nowe błędy:

      Szczegóły błędu
      liveBroadcasts.bind Metoda liveBroadcasts.bind zwraca błąd 403 (Forbidden), aby wskazać, że użytkownik wysłał zbyt wiele żądań w określonym czasie. Przyczyna błędu to userRequestsExceedRateLimit.

      Metody liveBroadcasts.insertliveBroadcasts.update obsługują już ten sam błąd.
      liveStreams.insert Metoda liveStreams.insert obsługuje 4 nowe błędy 400 (Bad Request), które wskazują nieprawidłową wartość właściwości w zasobie liveStream, który próbowała wstawić prośba. Poniżej znajdziesz listę przyczyn błędów i właściwości, z którymi są one powiązane:
      liveStreams.insert Metoda liveStreams.insert obsługuje 2 nowe błędy 400 (Bad Request). Każdy z nich wskazuje, że wymagana wartość nie występuje w zasobie liveStream, który próbuje wstawić żądanie. Poniżej znajdziesz listę przyczyn błędów i właściwości, z którymi są one powiązane:
      Dokładniej rzecz biorąc, podczas wstawiania zasobu liveStream musisz podać wartość właściwości cdn.format lub właściwości cdn.frameRate cdn.resolution.
      • Jeśli nie określisz wartości żadnej z tych 3 właściwości, interfejs API zwróci błąd formatRequired.
      • Jeśli określisz wartość parametru cdn.resolution, ale nie cdn.frameRate, interfejs API zwróci błąd frameRateRequired.
      • Jeśli określisz wartość parametru cdn.frameRate, ale nie cdn.resolution, interfejs API zwróci błąd resolutionRequired.
      liveStreams.update Metoda liveStreams.update zwraca błąd 403 (Forbidden), jeśli żądanie próbuje zmodyfikować wartość którejś z tych niezmiennych właściwości: Wartość reason w komunikacie o błędzie to liveStreamModificationNotAllowed.

18 grudnia 2015 r.

Przepisy Unii Europejskiej (UE) wymagają, aby użytkownicy w UE byli informowani o określonych kwestiach i aby uzyskać od nich zgodę. Dlatego w przypadku użytkowników z Unii Europejskiej musisz przestrzegać polityki w zakresie zgody użytkownika z UE. Dodaliśmy powiadomienie o tym wymaganiu w Warunkach korzystania z interfejsu API YouTube.

17 grudnia 2015 r.

Ta aktualizacja zawiera następujące zmiany:

  • Nowe materiały i metody

    • Interfejs API obsługuje kilka nowych zasobów, aby umożliwić korzystanie z czatu podczas transmisji na żywo. YouTube obsługuje czat na żywo podczas aktywnych transmisji na żywo, a te zasoby i ich metody umożliwiają odzyskiwanie wiadomości z czatu oraz wykonywanie funkcji administracyjnych dotyczących czatu.

      Zasoby
      liveChatMessage Ten zasób reprezentuje wiadomość na czacie na żywo w YouTube. YouTube obsługuje kilka typów wiadomości, w tym SMS-y i wydarzenia dotyczące finansowania przez fanów. Niektóre typy wiadomości wskazują na dany etap czatu, np. początek okresu tylko dla sponsorów lub koniec czatu. Interfejs API obsługuje metody wyświetlania, wstawiania i usuwania wiadomości na czacie na żywo.
      liveChatModerators Ten zasób identyfikuje moderatora czatu. Moderatorzy mogą wykonywać niektóre funkcje administracyjne, takie jak banowanie użytkowników z czatu lub usuwanie wiadomości. Interfejs API obsługuje metody wyświetlania, wstawiania i usuwania moderatorów czatu na żywo.
      liveChatBans Ten zasób identyfikuje użytkownika, który został zablokowany w dodaniu wiadomości na konkretnym czacie na żywo. Zakaz może być tymczasowy lub stały. Interfejs API obsługuje metody dodawania i usuwania zakazów korzystania z czatu na żywo.
      fanFundingEvents Ten zasób reprezentuje zdarzenie finansowania przez fanów na kanale w YouTube. Finansowanie przez fanów to sposób, dzięki któremu widzowie mogą dobrowolnie wspierać twórców YouTube, dokonując jednorazowej wpłaty.

      Metoda fanFundingEvents.list interfejsu API zawiera listę zdarzeń finansowania przez fanów na kanale. Zbiórki fanów, które są inicjowane na czacie na żywo podczas transmisji na żywo należącej do kanału, również powodują wysłanie fanFundingEvent wiadomości na czat na żywo transmisji.

      Więcej informacji o finansowaniu przez fanów znajdziesz w Centrum pomocy YouTube.
      sponsors Zasób sponsor identyfikuje sponsora kanału w YouTube. Sponsor płaci co miesiąc opłatę na rzecz kanału. Podczas czatów na żywo na kanale obok wiadomości sponsora będzie wyświetlać się plakietka, a sponsorzy mogą też uczestniczyć w czatach na żywo tylko dla sponsorów, jeśli takie są dostępne.

      Metoda sponsors.list interfejsu API zawiera listę sponsorów kanału. Gdy użytkownicy decydują się na sponsorowanie kanału podczas transmisji na żywo prowadzonej przez ten kanał, interfejs API dodaje do czatu na żywo transmisji wiadomość newSponsorEvent.

      Więcej informacji o sponsorowaniu znajdziesz w Centrum pomocy YouTube.

  • Aktualizacje dotychczasowych zasobów i metod

    • Zasób liveBroadcast zawiera te nowe właściwości:

      Właściwości
      snippet.liveChatId Identyfikator czatu na żywo w YouTube dla transmisji. Dzięki temu identyfikatorowi możesz używać metod zasobu liveChatMessage do pobierania, wstawiania i usuwania wiadomości czatu. Możesz też dodawać i usuwać moderatorów czatu, blokować użytkowników przed uczestnictwem w czatach na żywo oraz usuwać istniejące blokady.
      contentDetails.closedCaptionsType Uwaga: ta właściwość zastępuje właściwość contentDetails.enableClosedCaptions.

      Ta właściwość wskazuje, czy w Twoim programie są włączone napisy, a jeśli tak, to jakiego typu:
      • closedCaptionsDisabled: napisy są wyłączone w przypadku transmisji na żywo.
      • closedCaptionsHttpPost: napisy wysyłasz za pomocą HTTP POST do adresu URL przetwarzania powiązanego z transmisją na żywo.
      • closedCaptionsEmbedded: napisy zostaną zakodowane w strumieniu wideo za pomocą formatów EIA-608 lub CEA-708.
      contentDetails.enableClosedCaptions Ta usługa została wycofana 17 grudnia 2015 r. Zamiast tego użyj właściwości contentDetails.closedCaptionsType. W przypadku klientów interfejsu API, którzy już korzystają z tej usługi:
      • Ustawienie wartości właściwości na true jest równoznaczne z ustawieniem właściwości contentDetails.closedCaptionsType na closedCaptionsHttpPost.
      • Ustawienie wartości właściwości na false jest równoznaczne z ustawieniem właściwości contentDetails.closedCaptionsType na closedCaptionsDisabled.
    • Nowy parametr broadcastType metody liveBroadcasts.list umożliwia filtrowanie odpowiedzi API, aby obejmowała ona transmisje zdarzeń, stałe transmisje lub wszystkie transmisje.

      Stała transmisja to taka, która zawsze istnieje i nie jest powiązana z konkretnym wydarzeniem. Domyślna transmisja kanału jest nieustanną transmisją, do której można uzyskać dostęp w panelu transmisji na żywo w YouTube Studio. Pozostałe transmisje na kanale to transmisje wydarzeń.

  • W polu status.healthStatus.configurationIssues[].type zasobu liveStream występują te nowe błędy stanu:

    Błędy
    audioTooManyChannels Dźwięk ma więcej niż 2 kanały. Obsługiwane są tylko dźwięki 1-kanałowe (mono) lub 2-kanałowe (stereo). Popraw liczbę kanałów dźwięku.
    frameRateHigh Aktualna liczba klatek jest za duża. Ustaw liczbę klatek na sekundę na %(framerate)s lub mniej.
  • Data publikacji poprzedniej aktualizacji dokumentacji została poprawiona.

  • Nowe i zmienione błędy

    • Oprócz błędów zdefiniowanych dla nowych zasobów wymienionych powyżej interfejs API obsługuje te nowe błędy:

      Szczegóły błędu
      liveBroadcasts.update
      Kod odpowiedzi HTTPforbidden (403)
      PrzyczynaclosedCaptionsTypeModificationNotAllowed
      OpisWartość contentDetails.closedCaptionsType można zmienić tylko wtedy, gdy transmisja ma stan created lub ready.
      liveBroadcasts.update
      Kod odpowiedzi HTTPinvalidValue (400)
      PrzyczynainvalidEnableClosedCaptions
      OpisW zasobie transmisji na żywo wartość właściwości contentDetails.enableClosedCaptions jest niezgodna z wartością ustawienia contentDetails.closedCaptionType. Zmień zasób, aby zawierał tylko jedną z tych 2 właściwości, a potem ponownie prześlij żądanie.

19 sierpnia 2015 r.

Ta aktualizacja zawiera następujące zmiany:

  • Nowe materiały i metody

    • Uwaga: dokumentacja zasobu liveChat i jego metod jest poufna i widoczna tylko dla wybranych partnerów YouTube.

      Nowy zasób liveChat zawiera komentarz opublikowany podczas transmisji na żywo w YouTube. Interfejs API obsługuje 2 metody dotyczące tego zasobu:

      Metody
      liveChats.list wyświetlać wiadomości z czatu na żywo w przypadku transmisji.
      liveChats.insert Utwórz nową wiadomość na czacie.

      Wiadomości na czacie na żywo można pobrać i opublikować tylko podczas transmisji.

  • Aktualizacje dotychczasowych zasobów i metod

    • Zasób liveStream zawiera te nowe właściwości:

      Właściwości
      snippet.isDefaultStream Wskazuje, czy ten strumień jest domyślnym strumieniem na kanale. Domyślny strumień kanału istnieje bezterminowo, nie ma określonej godziny rozpoczęcia ani zakończenia i nie można go usunąć. Więcej informacji o tym, jak działają domyślne strumienie, znajdziesz w definicji usługi.
      status.healthStatus Ten obiekt zawiera informacje, które mogą posłużyć do zidentyfikowania, zdiagnozowania i rozwiązania problemów ze strumieniowaniem. Obiekt zawiera kilka właściwości podrzędnych, które ułatwiają ocenę stanu strumienia wideo na żywo.

      W szczególności obiekt status.healthStatus.configurationIssues[] zawiera listę problemów wpływających na strumień wideo. Nowy dokument Problemy z konfiguracją zasobów strumieni na żywo zawiera listę wszystkich problemów zgłaszanych przez interfejs API.
      contentDetails.isReusable Wskazuje, czy strumień można ponownie wykorzystać, co oznacza, że może on być powiązany z wieloma transmisjami. Nadawcy często używają tego samego strumienia do wielu różnych transmisji, jeśli odbywają się one w różnych godzinach.
    • Zasób liveBroadcast zawiera te nowe właściwości:

      Właściwości
      snippet.isDefaultBroadcast Wskazuje, czy ta transmisja jest domyślną transmisją na kanale. Gdy kanał YouTube jest włączony do transmitowania na żywo, YouTube tworzy domyślny strumień i domyślną transmisję. Transmisja określa sposób, w jaki właściciel kanału wysyła transmisję na żywo do YouTube, a transmisja to sposób, w jaki widzowie mogą zobaczyć transmisję domyślną. Więcej informacji o działaniu domyślnych transmisji znajdziesz w definicji usługi.
      contentDetails.enableLowLatency Wskazuje, czy ta transmisja powinna być zakodowana pod kątem strumieniowania z małą latencją. Strumień o niskim opóźnieniu może skrócić czas, po którym użytkownicy mogą zobaczyć film, ale może też wpłynąć na rozdzielczość, w jakiej widzowie będą mogli oglądać transmisję.
      statistics.totalChatCount Łączna liczba wiadomości na czacie na żywo związanych z transmisją. Właściwość i jej wartość są obecne, jeśli transmisja jest widoczna dla użytkownika i ma włączoną funkcję czatu na żywo. Pamiętaj, że ta właściwość nie będzie określać wartości po zakończeniu transmisji. W związku z tym ta usługa nie będzie identyfikować liczby wiadomości na czacie w archiwalnym filmie z ukończonej transmisji na żywo.
  • Nowe i zmienione błędy

    • Oprócz błędów zdefiniowanych dla nowego zasobu liveChat interfejs API obsługuje też ten nowy błąd:

      Szczegóły błędu
      liveStreams.update
      Kod odpowiedzi HTTPforbidden (403)
      PrzyczynaliveStreamModificationNotAllowed
      OpisInterfejs API nie pozwala zmienić strumienia wielokrotnego użytku na nieużyteczny i odwrotnie. Więcej informacji znajdziesz w artykule Omówienie transmisji i strumieniowania.

21 maja 2015 r.

Ta aktualizacja zawiera następujące zmiany:

  • YouTube obsługuje teraz transmisje na żywo z prędkością 60 klatek na sekundę, co oznacza płynniejsze odtwarzanie filmów z grami i innymi treściami o szybkiej akcji. Gdy rozpoczniesz transmisję na żywo w YouTube z szybkością 60 FPS, YouTube udostępni również tę transmisję z szybkością 30 FPS na urządzeniach, na których oglądanie z wysoką szybkością klatek nie jest jeszcze dostępne.

    Właściwość cdn.format zasobu liveStream obsługuje 2 nowe wartości tej funkcji: 720p_hfr i 1080p_hfr.

    Więcej informacji o tej funkcji znajdziesz na blogu YouTube dla twórców.

21 sierpnia 2014 r.

Ta aktualizacja zawiera następujące zmiany:

  • Definicja parametru liveBroadcasts.control metody walltime została zaktualizowana, aby wskazać, że wartość właściwości jest określona w formacie ISO 8601 (YYYY-MM-DDThh:mm:ss.sssZ).

  • Interfejs API obsługuje teraz te błędy:

    Typ błędu Szczegóły błędu Opis
    insufficientPermissions liveStreamingNotEnabled Wszystkie metody dotyczące zasobów liveBroadcast i liveStream zwracają ten błąd, jeśli użytkownik, który autoryzował żądanie interfejsu API, nie ma włączonego strumieniowego przesyłania filmów w YouTube. Szczegóły wyjaśniające, dlaczego użytkownik nie może prowadzić transmisji na żywo, mogą być dostępne w ustawieniach jego kanału na stronie https://www.youtube.com/features.
    rateLimitExceeded userRequestsExceedRateLimit Metody liveBroadcasts.insertliveStreams.insert zwracają ten błąd, aby wskazać, że użytkownik wysłał zbyt wiele żądań w określonym czasie.

2 maja 2014 r.

Ta aktualizacja zawiera następujące zmiany:

  • Opis zasobu liveStream i metody liveBroadcasts.bind został zaktualizowany, aby wskazać, że transmisja może być powiązana tylko z jednym strumieniem wideo, ale strumień wideo może być powiązany z większą liczbą transmisji. Ta zmiana jest tylko poprawką w dokumentacji. Podstawowa funkcja interfejsu API nie uległa zmianie.

  • Właściwość contentDetails.monitorStream.enableMonitorStream zasobu liveBroadcast została zaktualizowana, aby wyjaśnić, że jeśli jej wartość to true, musisz przełączyć transmisję do stanu testing, zanim będzie można ją przełączyć do stanu live. (jeśli wartość właściwości to false, transmisja nie może mieć etapu testing, więc możesz przejść bezpośrednio do stanu live.

  • Właściwość settings.offsetTimeMs zasobu liveCuepoint została zaktualizowana, aby wskazać, że nie należy podawać wartości tej właściwości, jeśli transmisja nie ma strumienia monitorowania.

  • Wszystkie metody dotyczące zasobów liveBroadcastliveStream obsługują teraz parametry onBehalfOfContentOwneronBehalfOfContentOwnerChannel. Te parametry umożliwiają używanie tych samych danych logowania do autoryzacji w przypadku żądań interfejsu API dotyczących różnych kanałów powiązanych z tym samym właścicielem treści.

  • Dokumentacja metody liveCuepoints.insert została zaktualizowana, aby wskazać, że podczas wywoływania tej metody możesz ustawić wartość właściwości settings.walltime.

  • Dokumentacja błędów zawiera teraz kod odpowiedzi HTTP dla każdego typu błędu.

  • Interfejs API obsługuje teraz ten błąd:

    Typ błędu Szczegóły błędu Opis
    insufficientPermissions livePermissionBlocked Metody liveBroadcasts.insert, liveBroadcasts.transition i liveStreams.insert zwracają ten błąd, jeśli użytkownik, który autoryzował żądanie, nie może przesyłać strumieniowo transmisji na żywo w YouTube. Szczegóły wyjaśniające, dlaczego użytkownik nie może prowadzić transmisji na żywo, mogą być dostępne w ustawieniach jego kanału na stronie https://www.youtube.com/features.
  • Zaktualizowano błąd invalidScheduledStartTime metody liveBroadcasts.insert, aby wyjaśnić, że zaplanowany czas rozpoczęcia musi być wystarczająco bliski bieżącej daty, aby można było zaplanować transmisję na ten czas.

13 grudnia 2013 r.

Ta aktualizacja zawiera następujące zmiany:

  • Nowa właściwość status.recordingStatus zasobu liveBroadcast określa bieżący stan transmisji.

  • Nowa właściwość contentDetails.enableClosedCaptions zasobu liveBroadcast wskazuje, czy napisy do filmu można przetworzyć na potrzeby transmisji. Wartość właściwości można ustawić podczas wstawiania lub aktualizowania transmisji, ale nie można jej zmienić, gdy transmisja jest w stanie testing lub live. Jeśli ustawisz tę właściwość na wartość true, zasób liveStream powiązany z transmisją określi adres URL przetwarzania, który będzie używany do napisów do transmisji.

  • Właściwość snippet.scheduledEndTime zasobu liveBroadcast obsługuje teraz transmisje zaplanowane na czas nieokreślony. Dzięki tej zmianie ta właściwość nie jest już wymagana w żądaniach liveBroadcasts.insertliveBroadcasts.update.

    Jeśli pobierzesz zasób liveBroadcast, który nie określa wartości tej właściwości, transmisja będzie trwać w nieskończoność. Podobnie, jeśli wywołasz metodę liveBroadcasts.insert lub liveBroadcasts.update i nie podasz wartości dla tej właściwości, transmisja zostanie zaplanowana na czas nieokreślony.

  • Właściwość contentDetails.recordFromStart zasobu liveBroadcast, która miała już wartość domyślną true, może teraz zostać ustawiona tylko na false, jeśli kanał nadawania może wyłączyć nagrywanie transmisji na żywo.

    Jeśli Twój kanał nie ma uprawnień do wyłączania nagrań, a Ty spróbujesz wstawić transmisję z właściwością recordFromStart ustawioną na false, interfejs API zwróci błąd Forbidden. Jeśli Twój kanał nie ma tego uprawnienia i spróbujesz zaktualizować transmisję, aby ustawić wartość właściwości recordFromStart na false, interfejs API zwróci błąd modificationNotAllowed.

  • Zasób liveBroadcast nie zawiera już właściwości enableArchive, która była wymieniona w opisach właściwości contentDetails.enableDvrcontentDetails.enableEmbed.

  • Lista prawidłowych wartości właściwości status.lifeCycleStatus zasobu liveBroadcast została zaktualizowana, aby zawierać opis każdego stanu.

  • Nowa właściwość settings.walltime zasobu liveCuepoint określa datę i godzinę, o której należy wstawić punkt cuepoint. Interfejs API zwraca błąd, jeśli żądanie próbuje wstawić punkt cuepoint, który określa wartość tej właściwości i właściwości settings.offsetTimeMs.

  • Nowy obiekt contentDetails w zasobie liveStream zawiera informacje o strumieniach. Obecnie jedyną właściwością obiektu jest contentDetails.closedCaptionsIngestionUrl, która określa adres URL przetwarzania napisów powiązanych z strumieniem wideo.

  • Lista prawidłowych wartości właściwości status.streamStatus zasobu liveStream została zaktualizowana, aby zawierać opis każdego stanu.

  • Nowy parametr walltime metody liveBroadcasts.control umożliwia określenie daty i godziny zmiany listy. Interfejs API zwraca błąd, jeśli żądanie określa wartość tego parametru i parametr offsetTimeMs.

  • W odpowiedzi interfejsu API na żądanie liveBroadcasts.list wartość właściwości kind zmieniła się z youtube#liveBroadcastList na youtube#liveBroadcastListResponse.

  • W odpowiedzi interfejsu API na żądanie liveStreams.list wartość właściwości kind zmieniła się z youtube#liveStreamList na youtube#liveStreamListResponse.

  • Właściwość eventId została wycofana z funkcji liveBroadcastListResponseliveStreamListResponse.

  • Interfejs API obsługuje te nowe błędy:

    Typ błędu Szczegóły błędu Opis
    invalidValue conflictingTimeFields Metoda liveBroadcasts.control zwraca ten błąd, jeśli Twoje żądanie określa wartości parametrów offsetTimeMs i walltime. Żądanie może pomijać oba parametry lub określić wartość jednego z nich.
    invalidValue invalidWalltime Metoda liveBroadcasts.control zwraca ten błąd, jeśli wartość parametru walltime jest nieprawidłowa.
    forbidden enableClosedCaptionsModificationNotAllowed Jeśli spróbujesz zaktualizować wartość contentDetails.enableClosedCaptions, a stan transmisji nie jest created ani ready, metoda liveBroadcasts.update zwraca ten błąd.
    invalidValue conflictingTimeFields Metoda liveCuepoints.insert zwraca ten błąd, jeśli żądanie określa wartości właściwości settings.offsetTimeMs i settings.walltime. W żądaniu można pominąć obie właściwości lub podać wartość jednej z nich.

    Dodatkowo metoda liveStreams.update nie obsługuje już błędu cdnRequired, który jest podobny do błędu obsługiwanego przez metodę liveStreams.insert.

10 maja 2013 r.

Ta aktualizacja zawiera następujące zmiany:

2 maja 2013 r.

Ta aktualizacja zawiera następujące zmiany:

27 marca 2013 r.

Ta aktualizacja zawiera następujące zmiany:

  • W zasobie liveBroadcast zmieniły się te właściwości:

    • Nazwa startWithSlateCuepoint została zmieniona na startWithSlate.
    • Nazwa właściwości enableArchive została zmieniona na recordFromStart.
    • Obiekt slateSettings został wycofany i usunięty z dokumentacji. Usunięto też komunikaty o błędach związane z obiektem slateSettings lub jego właściwościami. Na koniec usunęliśmy sekcję „Wyświetlanie plansz” z poradnika Wprowadzenie.

  • Interfejs API nie obsługuje już możliwości wstawiania napisów w strumieniu za pomocą metody liveCuepoints.insert. Poniższe dokumenty zostały zaktualizowane w celu odzwierciedlenia omawianej zmiany:

    • Strona główna, przewodnik Pierwsze kroki i samouczek Życie transmisji nie wspominają już o tej funkcji.

    • Właściwość settings.cueType zasobu liveCuepoint nie obsługuje już wartości slate. (jedyną obsługiwaną wartością jest ad).

    • Właściwość settings.eventState zasobu liveCuepoint została wycofana i usunięta z dokumentacji.

18 marca 2013 r.

Ta aktualizacja zawiera następujące zmiany:

  • Wszystkie komunikaty o błędach interfejsu API zostały zaktualizowane, aby wyraźniej wyjaśniać możliwe błędy i (w miarę możliwości) podawać wskazówki dotyczące ich rozwiązywania.

  • Interfejs API może teraz zwracać kilka nowych błędów. Poniżej znajdziesz listę błędów i metod interfejsu API, które mogą je zwracać:

    • liveBroadcasts.insert – planowany czas zakończenia transmisji musi być późniejszy niż planowany czas rozpoczęcia.
    • liveBroadcasts.insert – transmisja zawiera nieprawidłowy stan prywatności.
    • liveBroadcasts.update – zasób nie zawiera lub nie ma ustawionej wartości właściwości contentDetails.enableArchive.
    • liveBroadcasts.update – zasób nie zawiera lub nie ma ustawionej wartości właściwości contentDetails.enableContentEncryption.
    • liveBroadcasts.update – zasób nie zawiera lub nie ma ustawionej wartości właściwości contentDetails.enableDvr.
    • liveStreams.insert – tytuł fragmentu musi mieć od 1 do 128 znaków.
    • liveStreams.update – zasób nie zawiera lub nie ma ustawionej wartości właściwości snippet.title.

  • Dokumentacja zasobu liveStream została zaktualizowana, aby odzwierciedlić fakt, że multicast i WebM nie są obsługiwanymi metodami przetwarzania. Lista formatów właściwości cdn.format została odpowiednio zaktualizowana, a obiekt cdn.multicastIngestionInfo i jego właściwości podrzędne zostały usunięte z dokumentacji zasobu. Dodatkowo wartość http została usunięta z listy obsługiwanych wartości cdn.ingestionType.