YouTube Live Streaming API – historia zmian

Na tej stronie znajdziesz listę zmian w interfejsie YouTube Live Streaming API oraz aktualizacje dokumentacji. Zasubskrybuj ten dziennik zmian. Zasubskrybuj

9 października 2023 r.

Informację o tym, które identyfikatory naklejek są powiązane z którymi supernaklejkami, znajdziesz w tym pliku CSV. 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 pozwala na ręczne wstawianie przerw na reklamy do transmisji, YouTube obsługuje teraz funkcję automatycznego wstawiania przerw na reklamy w trakcie filmu o ustalonych odstępach czasu.

Jeśli właściciel transmisji włączy reklamy automatyczne, może przeglądać te aspekty działania reklam:

  • długość odstępu między przerwami na reklamy w trakcie filmu.
  • strategię planowania punktów wstawienia reklam. Punkty wstawienia reklamy można wstawić jednocześnie dla wszystkich widzów lub czas ich wystąpienia może się różnić w zależności od widza. Dzięki tej drugiej strategii YouTube może planować punkty wstawienia reklamy z większym częstotliwością, co pozwala widzom otrzymywać punkty wstawienia reklamy wtedy, gdy mogą to zrobić.
  • okresu, w którym reklamy w trakcie filmu nie są wyświetlane. Na potrzeby tej funkcji właściciel transmisji określa, że wstawianie reklam w trakcie filmu jest wstrzymywane do określonego momentu.

W dokumentacji wprowadziliśmy następujące zmiany interfejsu API umożliwiające obsługę tej funkcji:

  • Zasób liveBroadcast zawiera teraz obiekt monetizationDetails. Pola obiektu wskazują, czy w transmisji włączono automatyczne wstawianie reklam, oraz określają dodatkowe informacje na potrzeby planowania punktów wstawienia reklam.
  • Parametr part metody liveBroadcast.list obsługuje wartość monetizationDetails.
  • Metoda update może służyć do wstrzymania wstawiania reklam w trakcie filmu na określony czas podczas transmisji na żywo. W dokumentacji wymieniamy też kilka błędów, które mogą wystąpić podczas aktualizowania informacji o zarabianiu na transmisjach na żywo.

1 sierpnia 2023 r.

Ta aktualizacja zawiera następujące zmiany:

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

    • snippet.title
    • status.privacyStatus

    Pominięcie tych pól w żądaniu pozostawi je bez zmian.

1 listopada 2022 r.

  • Nowa metoda liveBroadcasts.cuepoint umożliwia wszystkim właścicielom kanałów, którzy prowadzą transmisję na żywo w YouTube, wstawianie do niej punktów wstawienia, które mogą powodować przerwy na reklamy. Zastępuje ona metodę liveCuepoints.insert, która pozwalała wyłącznie dostawcom treści YouTube wstawiać punkty wstawienia reklamy do transmisji na żywo.

    W związku z dostępnością tej nowej metody zaktualizowaliśmy kilka przewodników.

  • Uwaga: to jest ogłoszenie o wycofaniu funkcji.

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

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

1 października 2022 r.

Ta aktualizacja zawiera następujące zmiany:

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

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

    Pominięcie tych pól w żądaniu pozostawi je 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 jego właściwości podrzędne zawierają informacje o zdarzeniu Podaruj subskrypcję wspieranego kanału. Podobnie nowa właściwość snippet.giftMembershipReceivedDetails i jej elementy podrzędne zawierają informacje o zdarzeniu „otrzymano wspieranie kanału w prezencie”.

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 jego elementy podrzędne zawierają informacje o 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 zdarzeniu nowego sponsora.

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 danym przedziale czasu. Przyczyna błędu: userRequestsExceedRateLimit.

21 września 2020 r.

  • Zaktualizowaliśmy definicję właściwości status.madeForKids zasobu liveBroadcast, aby sprecyzować, że jest ona tylko do odczytu. Nie odzwierciedla to zmian w funkcjach interfejsu API.

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

  • Uwaga: ta zmiana obejmuje ogłoszenie o wycofaniu usługi i aktualizację informacji o wcześniejszym wycofaniu.

    Metoda liveBroadcasts.control zostanie wycofana 1 października 2020 r. lub później. Po tym terminie wszystkie wywołania tej metody będą zwracać błąd zabroniony (403), a metoda zostanie później całkowicie usunięta. Klienci mogą też zaimplementować własną planszę, dodając nakładkę do filmu wysyłanego do serwerów przetwarzania YouTube.

    Data wycofania ogłoszenia o wycofaniu 16 kwietnia 2020 r., które pierwotnie było zaplanowane na 1 września 2020 roku, została przesunięta. Teraz nastąpi to 1 października 2020 r. lub później. W związku z tym funkcje wymienione w ogłoszeniu o wycofaniu i metoda liveBroadcasts.control zostaną wycofane jednocześnie.

17 lipca 2020 r.

Uwaga: jest to aktualizacja dotycząca wcześniejszego wycofania funkcji.

Pole cdn.format zasobu liveStream, które zostało wycofane w kwietniu 2016 r., od 17 sierpnia 2020 r. nie będzie już obsługiwane. Żądania, które nadal korzystają z tego pola, od tej daty będą odrzucane.

Jeśli Twój kod nadal używa pola cdn.format, musisz go zaktualizować, podając oddzielnie liczbę klatek i rozdzielczość za pomocą właściwości cdn.frameRate i cdn.resolution.

6 lipca 2020 r.

Zaktualizowaliśmy przewodnik Przesyłanie treści na żywo do YouTube za pomocą HLS:

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

16 kwietnia 2020 r.

Ta aktualizacja zawiera nową usługę i ogłoszenie o ich wycofaniu:

  • Zasób liveBroadcast obsługuje teraz właściwość contentDetails.enableAutoStop. Ta właściwość określa, czy transmisja powinna zostać automatycznie zatrzymana około minuty po tym, jak właściciel kanału zatrzyma strumieniowanie wideo w powiązanym strumieniu wideo.

    Zaktualizowaliśmy cykl transmisji, aby wyjaśnić, jak krok po kroku tworzenie wydarzenia na żywo w YouTube i zarządzanie nim zmienia się po ustawieniu właściwości contentDetails.enableAutoStart lub contentDetails.enableAutoStop na true.

  • Uwaga: to jest ogłoszenie o wycofaniu funkcji. Zmiany te wejdą w życie 1 września 2020 r. lub później. Rzeczywistą datę wejścia zmian w życie określa się poniżej jako datę wycofania.

    Ta aktualizacja wyjaśnia zmianę, która może naruszać zasady. Ma to wpływ na aplikacje klienckie interfejsu API, które używają domyślnych zasobów liveStream i liveBroadcast kanału do transmitowania treści na żywo w YouTube. Identyfikator transmisji i identyfikator strumienia powiązane z trwałą transmisją i strumieniem nie będą już działać, aby rozpocząć nowe transmisje.

    Będzie to miało wpływ na Twoje zgłoszenie, jeśli spełniony będzie dowolny z tych warunków:

    • Sprawdza wartość właściwości isDefaultBroadcast zasobu liveBroadcast. Ta właściwość nie będzie zwracana po dacie wycofania.
    • Sprawdza wartość właściwości isDefaultStream zasobu liveStream. Ta właściwość nie będzie zwracana po dacie wycofania.
    • Wywołuje on 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 zwraca żadnych wyników.
      • Jeśli wartością parametru broadcastType jest all, metoda liveBroadcasts.list nie zwraca trwałych komunikatów, które istniały przed tym czasem.

    Przez kilka ostatnich lat YouTube automatycznie utworzył strumień domyślny i domyślną transmisję na kanale, gdy na tym kanale była włączona możliwość transmitowania na żywo. Domyślny strumień istniał przez czas nieokreślony, nie był z nim powiązany czas rozpoczęcia ani zakończenia i nie można go usunąć. Analogicznie transmisja domyślna została uznana za trwałą. Zawsze istniała i nie była powiązana z konkretnym zdarzeniem.

    Od daty wycofania:

    • YouTube nie będzie już tworzyć domyślnych transmisji ani transmisji. Zamiast polegać na zasobach domyślnych, klienty interfejsu API muszą mieć możliwość tworzenia zasobów liveBroadcast i liveStream oraz zarządzania nimi, a także wiązać te zasoby ze sobą.
    • Jeśli domyślna transmisja na kanale i strumień domyślny są aktywnie transmitowane, czyli w momencie wprowadzenia wycofywania, kanał używa ich do prowadzenia transmisji na żywo, nie ma to wpływu na trwającą transmisję. Jednak po zakończeniu tej transmisji kanał nie będzie mógł ponownie używać domyślnej transmisji ani strumienia domyślnego.
    • Jeśli domyślna transmisja i domyślny strumień na kanale nie są aktywnie transmitowane, po wycofaniu funkcji YouTube zignoruje próby wykorzystania tych zasobów do transmisji wideo.

    Jeśli dotyczy to Twojej aplikacji, zapoznaj się z tymi dokumentami, które pomogą Ci zaktualizować aplikację, aby nadal działała zgodnie z oczekiwaniami po tej zmianie:

    • Nowy przewodnik po migracji zawiera opis czynności, które deweloperzy mogą wykonać w klientach API, które używają obecnie domyślnych transmisji i strumieni.
    • Przewodnik z życia transmisji zawiera szczegółowe instrukcje tworzenia wydarzeń na żywo w YouTube i zarządzania nimi. W każdym kroku opisujemy wywołania interfejsu API lub inne czynności, jakie musisz wykonać, by określone działanie zostało wykonane. Twoja aplikacja będzie musiała wykonać ten proces, gdy YouTube przestanie obsługiwać domyślne strumienie i transmisje.

31 marca 2020 r.

Uwaga: to jest ogłoszenie o wycofaniu funkcji.

Zasób sponsor i metoda sponsors.list zostały wycofane oraz zastąpione zasobem member i metodą members.list.

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

11 marca 2020 r.

Sekcja Punkt końcowy przetwarzania w przewodniku Przesyłanie treści na żywo w YouTube za pomocą HLS została zaktualizowana, aby wyjaśnić proces, którego koder powinien używać do uzupełniania wartości parametru file= podczas tworzenia głównych i zapasowych adresów URL przetwarzania.

4 lutego 2020 r.

Zaktualizowaliśmy przewodnik Przesyłanie treści na żywo do YouTube za pomocą HLS, aby pamiętać, że żądania DELETE są opcjonalne, a punkt końcowy HLS w YouTube je ignoruje. Ze względu na wydajność YouTube zaleca klientom, aby nie wysyłali żądań typu DELETE.

10 stycznia 2020 r.

Interfejs API umożliwia teraz identyfikację treści skierowanych do dzieci, które YouTube określa jako „przeznaczone dla dzieci”. Więcej informacji o treściach przeznaczonych dla dzieci znajdziesz w Centrum pomocy YouTube.

  • Zasób liveBroadcast obsługuje 2 nowe usługi, które umożliwiają twórcom i widzom identyfikowanie treści przeznaczonych dla dzieci:
    • Właściwość selfDeclaredMadeForKids umożliwia twórcom treści określenie, czy transmisja na żywo jest skierowana 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 w odpowiedziach interfejsu API, które zawierają zasoby liveBroadcast, tylko wtedy, gdy właściciel kanału autoryzował żądanie do interfejsu API.
    • Właściwość madeForKids umożliwia wszystkim użytkownikom interfejsu API pobieranie informacji o tym, czy transmisja jest „przeznaczona dla dzieci”. Stan może być np. określany na podstawie wartości właściwości selfDeclaredMadeForKids. Więcej informacji o określaniu odbiorców kanału, filmów i 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 i zasady dla deweloperów. Więcej informacji znajdziesz w Warunkach korzystania z usług YouTube API – historia zmian. Zmiany w Warunkach korzystania z usług YouTube API oraz zasadach dla deweloperów zaczną obowiązywać 10 stycznia 2020 roku czasu pacyficznego.

20 sierpnia 2019 r.

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

  • Wyjaśnia on, że na każdej playliście multimediów najlepiej jest dodać zarówno uznane segmenty, jak i wyróżniające się segmenty. Dzięki temu zmniejsza się prawdopodobieństwo pominięcia segmentu w przypadku utraty playlisty po stronie serwera. Na przykład do każdej playlisty multimediów możesz dodać maksymalnie 2 segmenty uznanych za wartościowe i do 5 wyróżnionych segmentów.
  • Obecnie konieczne jest wysłanie playlisty multimediów dla każdego segmentu multimediów. Dzięki temu serwer może szybko przywrócić działanie w przypadku utraty playlisty multimediów. Ta metoda 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ść ingestionType zasobu liveStream obsługuje nową wartość hls, aby identyfikować strumienie przetworzone do YouTube za pomocą HLS.

Nowy przewodnik Przesyłanie treści na żywo do YouTube za pomocą HLS zawiera wskazówki dotyczące używania HLS do transmitowania treści na żywo do YouTube za pomocą kodera. Ten przewodnik ma pomóc dostawcom koderów dodać obsługę wyświetlania HLS do ich produktów.

4 kwietnia 2019 r.

Ta aktualizacja zawiera następujące zmiany:

  • Zaktualizowaliśmy dokumentację API, aby lepiej wyjaśnić typowe przypadki użycia każdej metody i udostępnić dynamiczne przykłady kodu o wysokiej jakości za pomocą widżetu Eksploratora interfejsów API. Przykład znajdziesz w dokumentacji metody liveBroadcasts.list. Na stronach pojawiły się teraz 2 nowe elementy, które opisują metody interfejsu API:

    • Widżet Eksplorator interfejsów API umożliwia wybieranie zakresów autoryzacji, wprowadzanie przykładowych wartości parametrów i właściwości, a następnie wysyłanie rzeczywistych żądań do interfejsu API i wyświetlanie rzeczywistych odpowiedzi interfejsu API. Widżet udostępnia też widok pełnoekranowy, w którym widać pełne przykłady kodu, który dynamicznie się aktualizuje, aby korzystać z wpisanych przez Ciebie zakresów i wartości.

    • W sekcji Typowe przypadki użycia opisaliśmy co najmniej 1 typowy przypadek użycia metody opisanej na stronie. Możesz na przykład wywołać metodę liveBroadcasts.list, aby pobrać dane o konkretnej transmisji lub transmisjach bieżącego użytkownika.

      Korzystając z linków w tej sekcji, możesz wypełnić narzędzie APIs Explorer przykładowymi wartościami na potrzeby Twojego przypadku użycia lub otworzyć pełnoekranowe eksplorator interfejsów API z tymi wartościami. Wprowadzone zmiany ułatwią Ci wyświetlanie przykładów kodu, które mają bezpośrednie zastosowanie do Twojego przypadku użycia, który próbujesz zaimplementować we własnej aplikacji.

    Obecnie obsługiwane są przykładowe fragmenty kodu w językach Java, JavaScript, PHP, Python i curl.

  • Strona przykładowego kodu ma również nowy interfejs użytkownika, który oferuje te same funkcje opisane powyżej. Dzięki temu narzędziu możesz poznać przypadki użycia różnych metod, wczytać wartości w narzędziu APIs Explorer i otwierać pełnoekranowe interfejsy API w celu pobrania przykładów kodu w językach Java, JavaScript, PHP i Python.

    W związku z tą zmianą usunęliśmy strony, które wcześniej zawierały przykłady kodu dostępnych w językach Java, PHP i Python.

25 lutego 2019 r.

Dokumentacja zasobów liveChatMessage i superChatEvent została zaktualizowana, aby uwzględnić fakt, że oba zasoby mogą teraz zawierać informacje o supernaklejkach. Supernaklejki to rodzaj superczatu, który zawiera obraz. Podobnie jak w przypadku innych superczatów, fani kupują supernaklejki podczas transmisji na żywo w YouTube.

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

5 kwietnia 2018 r.

Opis metody superChatEvents.list został zaktualizowany, aby odzwierciedlić fakt, że odpowiedź interfejsu API nie zawiera już klasy fanFundingEvents, która została wycofana na początku 2017 roku.

3 kwietnia 2017 r.

Dodaliśmy nowe przykłady kodu w języku Java, które pokazują, jak umieszczać, wstawiać i usuwać wiadomości na czacie na żywo. Przykłady wywołują te metody:

13 lutego 2017 r.

Ta aktualizacja zawiera następujące zmiany:

  • Aktualizacje istniejących zasobów i metod

    • Metoda liveCuepoints.insert została zaktualizowana, aby odzwierciedlała fakt, że obecnie wymagany jest parametr onBehalfOfContentOwner. Dodatkowo został zaktualizowany opis metody, aby uwzględnić, ż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 istniejących zasobów i metod

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

      Wartością parametru musi być kod języka widoczny na liście zwracanej przez metodę i18nLanguages.list. Wartością domyślną jest en, co oznacza, że domyślnym działaniem jest formatowanie wyświetlanych ciągów tak, jak byłyby używane w języku angielskim. Na przykład domyślnie ciąg znaków ma format $1.00, a nie $1,00.

1 lutego 2017 r.

Ta aktualizacja zawiera następujące zmiany:

  • Nowe zasoby i metody

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

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

      Kolor superczatu, okres przypięcia go na pasku aktywności oraz maksymalna długość wiadomości zależą od kwoty zakupu. Więcej informacji o superczacie znajdziesz w Centrum pomocy YouTube.

      Interfejs API obsługuje metodę dodawania do listy superczatów w transmisjach na żywo prowadzonych na kanale w ciągu ostatnich 30 dni. Ta metoda zwraca też dane o wydarzeniach finansowania przez fanów (fanFundingEvents) z ostatniej transmisji na żywo na kanale.

  • Aktualizacje istniejących zasobów i metod

    • Właściwość snippet.type obsługuje teraz wartość superChatEvent, która oznacza, ż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 zaktualizowane błędy

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

      Szczegóły błędu
      liveBroadcasts.insert, liveBroadcasts.update Metody liveBroadcasts.insert i liveBroadcasts.update zwracają błędy 400 (Bad Request), aby wskazać, że wstawiony lub aktualizowany zasób liveBroadcast zawiera nieprawidłową wartość dla właściwości contentDetails.enableEmbed lub contentDetails.projection. Przyczyny tych 2 nowych błędów to odpowiednio invalidEmbedSetting i invalidProjection.

12 stycznia 2017 r.

Uwaga: to jest ogłoszenie o wycofaniu funkcji.

Wraz z wprowadzeniem nowej funkcji superczatu wycofaliśmy ją z YouTube. Interfejs API finansowania przez fanów zostanie wyłączony 28 lutego 2017 r. Od tego dnia:

11 sierpnia 2016 r.

Ta aktualizacja zawiera następujące zmiany:

  • Niedawno opublikowane Warunki korzystania z usług interfejsu YouTube API („Zaktualizowane warunki”), które zostały szczegółowo omówione na blogu YouTube Engineering and Developers, zawierają wiele aktualizacji aktualnych Warunków korzystania z usługi. Oprócz zaktualizowanych warunków, które zaczną obowiązywać 10 lutego 2017 roku, ta aktualizacja obejmuje kilka dodatkowych dokumentów z objaśnieniem zasad, których muszą przestrzegać deweloperzy.

    Pełny zestaw nowych dokumentów opisano w historii zmian zaktualizowanych Warunków. Ponadto przyszłe zmiany zaktualizowanych Warunków lub dokumentów pomocniczych również będą wyjaśnione w historii zmian. Możesz zasubskrybować kanał RSS z listą zmian w historii zmian, korzystając z linku w tym dokumencie.

20 maja 2016 r.

YouTube obsługuje teraz przetwarzanie DASH. Dlatego właściwość ingestionType zasobu liveStream obsługuje nową wartość dash, aby identyfikować strumienie przetworzone do YouTube za pomocą DASH.

Nowy przewodnik Przesyłanie treści na żywo do YouTube za pomocą DASH zawiera wytyczne dotyczące korzystania z formatu DASH do strumieniowego przesyłania danych na żywo w YouTube za pomocą kodera. Ma to na celu ułatwienie dostawcom koderów dodawania obsługi wyświetlania DASH do ich produktów.

18 kwietnia 2016 r.

Ta aktualizacja zawiera następujące zmiany:

  • Aktualizacje istniejących zasobów i metod

    • liveStream aktualizacji zasobów
      • YouTube obsługuje teraz transmisje w rozdzielczości 1440p z prędkością 30 lub 60 klatek na sekundę.

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

        Właściwości
        cdn.frameRate Liczba klatek przychodzących danych wideo. Prawidłowe wartości to 30fps i 60fps.
        cdn.resolution Rozdzielczość przychodzących danych wideo. Prawidłowe wartości właściwości to: 1440p, 1080p, 720p, 480p, 360p i 240p.
      • Zgodnie z wprowadzeniem właściwości cdn.frameRate i cdn.resolution zasobu liveStream usługa cdn.format zasobu została wycofana. Właściwość cdn.format określa rozdzielczość i liczbę klatek jako 1 wartość.

        Zachęcamy do przejścia na nowe obsługiwane pola. Tymczasem cdn.format nadal działa. Dodatkowo żądania wstawienia transmisji na żywo są obecnie skuteczne, o ile określisz wartości właściwości cdn.format lub cdn.frameRate i cdn.resolution. Jeśli podasz wartości wszystkich 3 właściwości, interfejs API może zwrócić błąd, jeśli wartości te nie są 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 szybkością 30 lub 60 klatek na sekundę.

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

        Właściwości
        contentDetails.boundStreamLastUpdateTimeMs Data i godzina ostatniej aktualizacji transmisji na żywo, do której odwołuje się właściwość contentDetails.boundStreamId transmisji.
        contentDetails.projection Format projekcji transmisji. Domyślna wartość właściwości to rectangular. Prawidłowe wartości właściwości to 360 i rectangular.
      • Zaktualizowaliśmy definicję właściwości statistics.totalChatCount zasobu liveBroadcast, aby uwzględniała tę wartość tylko wtedy, gdy transmisja zawiera co najmniej 1 wiadomość na czacie.

    • liveChatMessage aktualizacji zasobów
      • Właściwość snippet.type obsługuje 2 nowe wartości – messageDeletedEvent i userBannedEvent – odpowiadające nowym właściwościom opisanym w tym punkcie. Zaktualizowaliśmy też definicję właściwości snippet.authorChannelId, aby wyjaśnić, co określa wartość właściwości 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 usuniętej przez moderatora czatu. Obiekt istnieje tylko wtedy, gdy wartość właściwości snippet.type to messageDeletedEvent.
        snippet.userBannedDetails Ten obiekt zawiera informacje o użytkowniku, któremu zablokowano możliwość udziału w czacie. Obiekt zawiera też informacje o zablokowaniu, czyli o tym, czy jest ona stała, czy tymczasowa. Jeśli blokada jest tymczasowa, czas trwania blokady określa jedna z właściwości obiektu.

        Ten obiekt występuje 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 danym przedziale czasu. Przyczyna błędu: userRequestsExceedRateLimit.

      Metody liveBroadcasts.insert i liveBroadcasts.update obsługują już ten sam błąd.
      liveStreams.insert Metoda liveStreams.insert obsługuje 4 nowe błędy 400 (Bad Request) identyfikujące nieprawidłową wartość właściwości w zasobie liveStream, który próbował wstawić żądanie. Na liście poniżej znajdziesz przyczyny błędów i właściwości, z którymi są powiązane:
      liveStreams.insert Metoda liveStreams.insert obsługuje 2 nowe błędy 400 (Bad Request). Każdy z nich oznacza, że w zasobie liveStream, który próbował wstawić żądanie, nie ma wymaganej wartości. Na liście poniżej znajdziesz przyczyny błędów i właściwości, z którymi są powiązane:
      Mówiąc dokładniej, gdy wstawiasz zasób liveStream, musisz podać wartość właściwości cdn.format lub właściwości cdn.frameRate i cdn.resolution.
      • Jeśli nie podasz wartości żadnej z 3 właściwości, interfejs API zwróci błąd formatRequired.
      • Jeśli podasz wartość cdn.resolution, ale nie cdn.frameRate, interfejs API zwróci błąd frameRateRequired.
      • Jeśli podasz wartość 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 zmienić wartość którejś z tych właściwości niezmiennych:reason w odpowiedzi o błędzie to liveStreamModificationNotAllowed.

18 grudnia 2015 r.

Przepisy Unii Europejskiej (UE) wymagają udostępnienia użytkownikom z Unii Europejskiej określonych informacji oraz uzyskania od nich zgody. W przypadku użytkowników z Unii Europejskiej musisz więc przestrzegać polityki w zakresie zgody użytkownika z UE. Dodaliśmy informację o tym wymogu do Warunków korzystania z interfejsu YouTube API.

17 grudnia 2015 r.

Ta aktualizacja zawiera następujące zmiany:

  • Nowe zasoby i metody

    • Interfejs API obsługuje kilka nowych zasobów do obsługi funkcji czatu w transmisjach na żywo. YouTube obsługuje czat na żywo podczas aktywnych transmisji na żywo. Te zasoby oraz stosowane przez nich metody umożliwiają pobieranie wiadomości czatu oraz funkcje administracyjne dotyczące czatu.

      Zasoby
      liveChatMessage Ten zasób reprezentuje wiadomość na czacie na żywo w YouTube. YouTube obsługuje kilka rodzajów wiadomości, w tym SMS-y i wydarzenia związane z finansowaniem przez fanów. Niektóre typy wiadomości określają konkretną fazę czatu, na przykład początek okresu tylko dla sponsorów lub koniec czatu. Interfejs API obsługuje metody wyświetlania listy, wstawiania i usuwania wiadomości na czacie na żywo.
      liveChatModerators Ten zasób identyfikuje moderatora czatu. Moderatorzy mogą wykonywać niektóre funkcje administracyjne, np. blokować użytkowników w czacie lub usuwać wiadomości. Interfejs API obsługuje metody wyświetlania listy, wstawiania i usuwania moderatorów czatu na żywo.
      liveChatBans Ten zasób identyfikuje użytkownika, któremu zablokowano możliwość publikowania wiadomości na konkretnym czacie na żywo. Blokada może być tymczasowa lub stała. Interfejs API obsługuje metody nakładania i usuwania blokad czatu na żywo.
      fanFundingEvents Ten zasób dotyczy wydarzenia finansowania przez fanów na kanale YouTube. Finansowanie przez fanów daje widzom możliwość dobrowolnego wspierania twórców YouTube za pomocą jednorazowej pomocy finansowej.

      Metoda fanFundingEvents.list interfejsu API wyświetla zdarzenia związane z finansowaniem przez fanów na kanale. Wydarzenia finansowania przez fanów, które są inicjowane na czacie na żywo podczas transmisji prowadzonej przez właściciela kanału, powodują też wyświetlenie wiadomości fanFundingEvent w czacie na żywo.

      Więcej informacji o finansowaniu przez fanów znajdziesz w Centrum pomocy YouTube.
      sponsors Zasób sponsor identyfikuje sponsora kanału YouTube. Sponsor płaci co miesiąc na rzecz kanału. Plakietka wyświetla się obok wiadomości od sponsora na czacie na żywo na kanale. Dodatkowo, jeśli taka sytuacja ma miejsce, tylko sponsorzy mogą uczestniczyć w czatach na żywo na kanale.

      Metoda sponsors.list interfejsu API wyświetla sponsorów kanału. Gdy użytkownicy rejestrują się w celu sponsorowania kanału podczas transmisji na żywo należącej do tego kanału, interfejs API doda też komunikat newSponsorEvent do czatu na żywo.

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

  • Aktualizacje istniejących 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 dotyczącego transmisji. Dzięki temu 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żytkownikom możliwość udziału w czatach na żywo lub 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 transmisji są włączone napisy, a jeśli tak, to jaki rodzaj napisów:
      • closedCaptionsDisabled: napisy są wyłączone w transmisji na żywo.
      • closedCaptionsHttpPost: napisy wyślesz za pomocą metody HTTP POST na adres URL przetwarzania powiązany z Twoją transmisją na żywo.
      • closedCaptionsEmbedded: napisy będą kodowane w strumieniu wideo w formacie EIA-608 lub CEA-708.
      contentDetails.enableClosedCaptions Ta usługa jest wycofana 17 grudnia 2015 roku. Zamiast tego użyj właściwości contentDetails.closedCaptionsType. W przypadku klientów interfejsu API, którzy korzystają już z tej właściwości:
      • Ustawienie wartości właściwości true jest równoważne ustawieniu właściwości contentDetails.closedCaptionsType na closedCaptionsHttpPost.
      • Ustawienie wartości właściwości false jest równoważne ustawieniu właściwości contentDetails.closedCaptionsType na closedCaptionsDisabled.
    • Nowy parametr broadcastType metody liveBroadcasts.list umożliwia filtrowanie odpowiedzi interfejsu API w taki sposób, aby obejmowały transmisje zdarzeń, transmisje trwałe lub wszystkie komunikaty.

      Trwała transmisja to taka, która zawsze istnieje i nie jest powiązana z konkretnym wydarzeniem. Domyślna transmisja kanału to trwała transmisja, która jest dostępna w panelu transmisji na żywo w Studiu twórców YouTube. Inne transmisje na kanale to transmisje z wydarzeń.

  • Pole status.healthStatus.configurationIssues[].type zasobu liveStream zawiera te nowe błędy stanu:

    Błędy
    audioTooManyChannels Dźwięk ma więcej niż 2 kanały, ale obsługiwany jest tylko jeden (mono) lub dwa (stereo). Skoryguj liczbę kanałów audio.
    frameRateHigh Bieżąca liczba klatek jest za duża. Ustaw liczbę klatek na mniej niż %(framerate)s kl./s.
  • Poprawiono datę publikacji poprzedniej aktualizacji dokumentacji.

  • Nowe i zaktualizowane 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 zmieniać tylko wtedy, gdy transmisja ma stan created lub ready.
      liveBroadcasts.update
      Kod odpowiedzi HTTPinvalidValue (400)
      PrzyczynainvalidEnableClosedCaptions
      OpisW zasobie LiveBroadcast wartość właściwości contentDetails.enableClosedCaptions jest niezgodna z wartością ustawienia contentDetails.closedCaptionType. Zmodyfikuj zasób, tak aby zawierał tylko jedną z tych 2 właściwości, a następnie ponownie prześlij żądanie.

19 sierpnia 2015 r.

Ta aktualizacja zawiera następujące zmiany:

  • Nowe zasoby i metody

    • Uwaga: dokumentacja dotycząca 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. W przypadku tego zasobu interfejs API obsługuje 2 metody:

      Metody
      liveChats.list Wyświetl listę wiadomości z czatu na żywo dla transmisji.
      liveChats.insert Utwórz nową wiadomość na czacie.

      Wiadomości z czatu na żywo można pobierać i publikować tylko podczas transmisji na żywo.

  • Aktualizacje istniejących zasobów i metod

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

      Właściwości
      snippet.isDefaultStream Wskazuje, czy ta transmisja jest domyślną transmisją kanału. Domyślna transmisja na kanale istnieje bezterminowo, nie ma ustawionej godziny rozpoczęcia ani zakończenia, więc nie można jej usunąć. Więcej informacji o sposobie działania strumieni domyślnych znajdziesz w definicji usługi.
      status.healthStatus Ten obiekt zawiera informacje, które mogą posłużyć do identyfikowania, diagnozowania i rozwiązywania problemów z przesyłaniem strumieniowym. Obiekt zawiera kilka właściwości podrzędnych, które pozwalają ocenić stan strumienia wideo na żywo.

      W szczególności obiekt status.healthStatus.configurationIssues[] zawiera listę problemów dotyczących strumienia wideo. Nowy dokument Configuration Reporting for LiveStream Resources zawiera listę wszystkich problemów zgłaszanych przez interfejs API.
      contentDetails.isReusable Wskazuje, czy strumienia można używać wielokrotnie, co oznacza, że można go powiązać z wieloma transmisjami. Nadawcy często używają tego samego strumienia w wielu różnych transmisjach, jeśli pojawiają się one w różnych momentach.
    • Zasób liveBroadcast zawiera te nowe właściwości:

      Właściwości
      snippet.isDefaultBroadcast Wskazuje, czy jest to domyślna transmisja na kanale. Gdy na kanale YouTube jest włączona transmisja na żywo, YouTube tworzy strumień domyślny i transmisję domyślną. Transmisja określa, w jaki sposób właściciel kanału wysyła obraz na żywo do YouTube, a transmisja określa, jak widzowie mogą zobaczyć strumień domyślny. Aby dowiedzieć się więcej o działaniu transmisji domyślnych, zapoznaj się z definicją usługi.
      contentDetails.enableLowLatency Wskazuje, czy transmisja powinna być kodowana na potrzeby przesyłania strumieniowego z krótkim czasem oczekiwania. Strumień o małych opóźnieniach może skrócić czas potrzebny na pokazanie filmu widzom oglądającym transmisję, ale może też wpływać na rozdzielczość strumienia u widzów.
      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 określa wartości po zakończeniu transmisji. Ta właściwość nie będzie więc określać liczby wiadomości na czacie w przypadku zarchiwizowanego nagrania wideo zakończonej transmisji na żywo.
  • Nowe i zaktualizowane 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 na zmianę strumienia wielokrotnego użytku na taki, który nie nadaje się do wielokrotnego użytku (i odwrotnie). Więcej informacji znajdziesz w artykule o transmisjach i strumieniach.

21 maja 2015 r.

Ta aktualizacja zawiera następujące zmiany:

  • YouTube obsługuje teraz transmisję na żywo z szybkością 60 klatek na sekundę, co oznacza płynniejsze odtwarzanie w grach i innych szybkich filmach. Gdy rozpoczniesz transmisję na żywo w YouTube z szybkością 60 kl./s, YouTube udostępni tę transmisję w tej rozdzielczości na urządzeniach, na których ta funkcja nie jest jeszcze dostępna.

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

    Więcej informacji o tej funkcji znajdziesz na blogu YouTube Creators.

21 sierpnia 2014 r.

Ta aktualizacja zawiera następujące zmiany:

  • Zaktualizowaliśmy definicję parametru walltime metody liveBroadcasts.control, aby uwzględnić, że wartość właściwości jest podana w formacie ISO 8601 (YYYY-MM-DDThh:mm:ss.sssZ).

  • Interfejs API obsługuje teraz następujące 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 do interfejsu API, nie ma możliwości strumieniowego przesyłania obrazu na żywo w YouTube. Szczegóły wyjaśniające, dlaczego użytkownik nie może transmitować na żywo obrazu na żywo, mogą być dostępne w ustawieniach kanału użytkownika na https://www.youtube.com/features.
    rateLimitExceeded userRequestsExceedRateLimit Metody liveBroadcasts.insert i liveStreams.insert zwracają ten błąd, aby wskazać, że użytkownik wysłał zbyt wiele żądań w danym przedziale czasowym.

2 maja 2014 r.

Ta aktualizacja zawiera następujące zmiany:

  • Zaktualizowaliśmy opisy zasobów liveStream i metody liveBroadcasts.bind, aby uwzględnić, że transmisję można powiązać tylko z 1 strumieniem wideo, ale strumień wideo można powiązać z więcej niż jedną transmisją. Ta zmiana jest wyłącznie poprawką w dokumentacji. Podstawowe funkcje interfejsu API się nie zmieniły.

  • Właściwość contentDetails.monitorStream.enableMonitorStream zasobu liveBroadcast została zaktualizowana, aby wyjaśnić, że jeśli jej wartość wynosi true, to przed przejściem na stan live musisz przejść do stanu testing. Jeśli wartość właściwości to false, transmisja nie może mieć etapu testing, więc możesz ją bezpośrednio zmienić w stan live.

  • Zaktualizowaliśmy właściwość settings.offsetTimeMs zasobu liveCuepoint, aby pamiętać, że nie należy określać wartości tej właściwości, jeśli transmisja nie ma strumienia monitorowania.

  • Wszystkie metody zasobów liveBroadcast i liveStream obsługują teraz parametry onBehalfOfContentOwner i onBehalfOfContentOwnerChannel. Parametry te umożliwiają używanie tych samych danych uwierzytelniających do realizowania żądań API dla różnych kanałów powiązanych z tym samym właścicielem treści.

  • Zaktualizowaliśmy dokumentację metody liveCuepoints.insert, aby uwzględnić, że podczas jej wywoływania możesz ustawić wartość właściwości settings.walltime.

  • W dokumentacji błędów określono 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 obrazu na żywo w YouTube. Szczegóły wyjaśniające, dlaczego użytkownik nie może transmitować na żywo obrazu na żywo, mogą być dostępne w ustawieniach kanału użytkownika na https://www.youtube.com/features.
  • Błąd invalidScheduledStartTime metody liveBroadcasts.insert został zaktualizowany, aby doprecyzować, że zaplanowany czas rozpoczęcia musi być wystarczająco blisko bieżącej daty, aby można było skutecznie 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 w ramach transmisji można przetworzyć napisy. Wartość właściwości możesz ustawić podczas wstawiania lub aktualizowania transmisji, ale nie można jej aktualizować, gdy transmisja ma stan testing lub live. Jeśli ustawisz tę właściwość na true, zasób liveStream powiązany z transmisją będzie określać adres URL przetwarzania używany na potrzeby napisów do transmisji.

  • Właściwość snippet.scheduledEndTime zasobu liveBroadcast obsługuje teraz transmisje, które mają trwać bezterminowo. Po tej zmianie właściwość nie jest już wymagana w żądaniach liveBroadcasts.insert i liveBroadcasts.update.

    Jeśli pobierzesz zasób liveBroadcast, który nie ma wartości tej właściwości, transmisja będzie zaplanowana na czas nieokreślony. Podobnie jeśli wywołujesz metodę liveBroadcasts.insert lub liveBroadcasts.update i nie określasz wartości dla tej właściwości, transmisja jest zaplanowana na czas nieokreślony.

  • Właściwość contentDetails.recordFromStart zasobu liveBroadcast, która miała już wartość domyślną true, może być teraz ustawiona na false tylko wtedy, gdy kanał telewizyjny 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. Dodatkowo, jeśli Twój kanał nie ma tego uprawnienia i spróbujesz zaktualizować transmisję, aby ustawić właściwość 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 wspomniana w opisach właściwości contentDetails.enableDvr i contentDetails.enableEmbed.

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

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

  • Nowy obiekt contentDetails w zasobie liveStream zawiera informacje o strumieniu. Obecnie jedyną właściwością obiektu jest contentDetails.closedCaptionsIngestionUrl. Określa ona adres URL przetwarzania napisów powiązanych ze strumieniem wideo.

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

  • Nowy parametr walltime metody liveBroadcasts.control pozwala określić datę i godzinę wystąpienia zmiany planszy. Interfejs API zwraca błąd, jeśli w żądaniu określono wartość tego i parametru offsetTimeMs.

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

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

  • Właściwość eventId została wycofana z kolumn liveBroadcastListResponse i liveStreamListResponse.

  • 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 żądanie określa wartości parametrów offsetTimeMs i walltime. W żądaniu można pominąć 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 Metoda liveBroadcasts.update zwraca ten błąd, jeśli próbujesz zaktualizować wartość contentDetails.enableClosedCaptions, a stan transmisji różni się od created lub ready.
    invalidValue conflictingTimeFields Metoda liveCuepoints.insert zwraca ten błąd, jeśli w żądaniu określone są wartości właściwości settings.offsetTimeMs i settings.walltime. W żądaniu można pominąć obie właściwości lub określić wartość dla jednej z nich.

    Oprócz tego metoda liveStreams.update nie obsługuje już błędu cdnRequired podobnego do tego 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 usługi startWithSlateCuepoint została zmieniona na startWithSlate.
    • Nazwa usługi enableArchive została zmieniona na recordFromStart.
    • Obiekt slateSettings został wycofany i usunięty z dokumentacji. Komunikaty o błędach związane z obiektem slateSettings lub jego właściwościami również zostały usunięte. Usunęliśmy sekcję „Wyświetlanie plansz” w przewodniku Pierwsze kroki.

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

    • Informacje o tej funkcji nie są już wymienione na stronie indeksu, w przewodniku Pierwsze kroki i w samouczku życie transmisji.

    • 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 dokładniej wyjaśniały możliwe błędy i ewentualnie zawierały wskazówki, jak je naprawić.

  • Interfejs API może teraz zwrócić kilka nowych błędów. Poniższa lista zawiera opis błędu i metody interfejsu API, która może zwrócić ten błąd:

    • liveBroadcasts.insert – zaplanowany czas zakończenia transmisji musi przypadać po planowanej godzinie rozpoczęcia.
    • liveBroadcasts.insert – transmisja określa nieprawidłowy stan prywatności.
    • liveBroadcasts.update – zasób nie zawiera lub nie ustawia wartości właściwości contentDetails.enableArchive.
    • liveBroadcasts.update – zasób nie zawiera lub nie ustawia wartości właściwości contentDetails.enableContentEncryption.
    • liveBroadcasts.update – zasób nie zawiera lub nie ustawia wartości właściwości contentDetails.enableDvr.
    • liveStreams.insert – tytuł krótkiego opisu musi mieć od 1 do 128 znaków.
    • liveStreams.update – zasób nie zawiera lub nie ustawia wartości właściwości snippet.title.

  • Dokumentacja zasobów liveStream została zaktualizowana, aby odzwierciedlić, że multiemisja i WebM nie są obsługiwanymi metodami przetwarzania, jak zaznaczyliśmy wcześniej. 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. Usunięto też http z listy obsługiwanych wartości cdn.ingestionType.