Przewodnik po migracji w związku z wycofaniem domyślnych transmisji i strumieni

Przegląd

Ten przewodnik jest przeznaczony dla deweloperów aplikacji klienckich interfejsu API, które używają domyślnych zasobów liveStream i liveBroadcast kanałów YouTube do przesyłania strumieniowego treści na żywo. Ma ona pomóc Ci w zapewnieniu, że Twoja aplikacja będzie prawidłowo obsługiwać wycofanie domyślnych transmisji i domyślnych strumieni. Jest ona przydatna, jeśli którekolwiek z tych stwierdzeń dotyczy Twojej aplikacji:

  • Sprawdza wartość właściwości liveBroadcastzasobuisDefaultBroadcast.
  • Sprawdza wartość właściwości liveStreamzasobuisDefaultStream.
  • Wywołuje metodę liveBroadcasts.list i ustawia wartość parametru broadcastType na persistent. 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 wcześniej.

Jeśli Twoja aplikacja jest objęta tą zmianą, zapoznaj się z sekcją Aktualizowanie aplikacji, w której wyjaśniamy zmiany proceduralne, jakie mogą być konieczne w Twojej aplikacji w wyniku wycofania tej funkcji. W tej sekcji znajdziesz konkretne kroki z przewodnika Życie transmisji, których klient interfejsu API może zwykle nie wykonywać, jeśli obecnie korzysta z domyślnej transmisji i strumienia.

Co się dzieje?

Od 2015 roku YouTube automatycznie tworzy domyślną transmisję i domyślną audycję na kanale, gdy włączona jest na nim transmisja na żywo. Strumień domyślny istniał bezterminowo i nie można go było usunąć. Podobnie domyślna transmisja była uznawana za trwałą. Zawsze istniało, nie miało powiązanej godziny rozpoczęcia ani zakończenia i nie było powiązane z konkretnym wydarzeniem.

Od podanej powyżej daty wycofania YouTube nie będzie już tworzyć domyślnych transmisji strumieniowych i transmisji. Ta zmiana ma wpływ na aplikacje klienckie, które korzystają z tych zasobów do transmitowania treści na żywo. Wpłynie to również na aplikacje, w których interfejs użytkownika jest dostosowany do odróżniania tych domyślnych zasobów od innych transmisji i strumieni utworzonych przez właścicieli kanałów.

Zamiast korzystać z zasobów domyślnych, klienci API muszą tworzyć zasoby liveBroadcastliveStream oraz nimi zarządzać, a także łączyć je ze sobą.

Aktualizowanie aplikacji

Aby szybko przypomnieć sobie terminologię, transmisja to wydarzenie, które można oglądać w YouTube na żywo, a strumień to mechanizm wysyłania rzeczywistej treści wideo do YouTube. Transmisja może być i musi być powiązana z dokładnie jednym strumieniem.

Migracja z domyślnych transmisji

Przed wycofaniem tej funkcji klienci interfejsu API mogli wybrać domyślną transmisję kanału lub utworzyć transmisję związaną z konkretnym wydarzeniem. Domyślna transmisja była trwałym zasobem, którego można było używać w przypadku wielu wydarzeń, a zasób transmisji związany z wydarzeniem jest zasobem jednorazowym, który odpowiada dokładnie jednemu filmowi w YouTube.

Aplikacja kliencka używa domyślnego rozgłaszania, jeśli wywołuje metodę liveBroadcasts.list i wykonuje jedną z tych czynności:

  • Ustawia wartość parametru broadcastType na persistent. To żądanie pobiera tylko domyślną transmisję.
  • Ustawia wartość parametru broadcastType na all, a następnie w odpowiedzi interfejsu API identyfikuje zasób liveBroadcast, dla którego wartość właściwości isDefaultBroadcast to true.

Po wycofaniu tej funkcji YouTube będzie obsługiwać tylko transmisje związane z wydarzeniami. Oznacza to, że zamiast korzystać z domyślnego przekazu aplikacje klienckie muszą tworzyć liveBroadcast zasoby dla każdego indywidualnego zdarzenia transmisji.

Aby utworzyć zasób liveBroadcast, wywołaj metodę liveBroadcasts.insert. Ten proces jest opisany w kroku 1.1 przewodnika „Życie transmisji”.

Jeśli interfejs użytkownika jeszcze tego nie robi, musi też udostępniać użytkownikom mechanizmy rozróżniania i wybierania nadchodzących transmisji związanych z wydarzeniem.

Migracja ze strumieni domyślnych

Strumień umożliwia przesyłanie treści audio-wideo do YouTube i określa ustawienia przesyłania strumieniowego treści do YouTube. Nadawcy często używają tego samego strumienia do wielu różnych transmisji, jeśli odbywają się one w różnych terminach.

Mimo że aplikacja nie może używać domyślnego strumienia, może utworzyć strumień wielokrotnego użytku, który można wykorzystać w przypadku każdej transmisji. Aby utworzyć liveStreamzasób, wywołaj metodę liveStreams.insert, postępując zgodnie z instrukcjami w kroku 1.2 przewodnika „Życie transmisji”. Domyślnie nowo utworzone strumienie można ponownie wykorzystywać. Jeśli jednak wolisz, możesz ustawić właściwość contentDetails.isReusable na false, aby tworzyć strumienie jednorazowe i mieć relację 1:1 między transmisjami a strumieniami.

Poniżej znajdziesz listę 4 właściwości, które możesz ustawić podczas tworzenia nowego strumienia. Oprócz nich możesz też ustawić tytuł strumienia i opis strumienia. Lista zawiera wartości, których domyślne strumienie używają w przypadku poszczególnych usług. Są to prawdopodobnie ustawienia, których chcesz używać w aplikacji klienckiej, jeśli rezygnujesz z domyślnych strumieni.

Powiązywanie transmisji ze strumieniami

Każdy zasób liveBroadcast musi być powiązany z dokładnie 1 strumieniem, zanim będzie można rozpocząć transmisję na żywo w YouTube. (W momencie tworzenia transmisja nie jest powiązana z żadnymi strumieniami).

Proces wiązania został przeprowadzony automatycznie w przypadku domyślnej transmisji, która była nierozerwalnie związana ze strumieniem domyślnym. Po dacie wycofania aplikacje klienckie będą musiały zarządzać tym procesem w przypadku wszystkich transmisji.

Aby powiązać transmisję ze strumieniem, wywołaj metodę liveBroadcasts.bind zgodnie z opisem w kroku 1.3 przewodnika „Życie transmisji”.

  • Jeśli używasz strumienia wielokrotnego użytku, możesz utworzyć go raz, a następnie powiązać z nim każdą transmisję.
  • Jeśli nie używasz strumienia wielokrotnego użytku, musisz utworzyć transmisję i strumień, a następnie je ze sobą powiązać.

Testowanie transmisji

Jeśli nie używasz domyślnej transmisji, możesz ją przetestować. Aby przeprowadzić test, umieść odtwarzacz, który umożliwia wyświetlenie podglądu transmisji wideo w taki sposób, w jaki będzie ona widoczna dla widzów YouTube. Transmisja nie będzie jednak widoczna dla innych widzów.

Jeśli Twój klient API wcześniej korzystał z domyślnej transmisji i strumienia, a chcesz dodać fazę testowania do procesu przesyłania strumieniowego, zapoznaj się z etapem 3 przewodnika „Życie transmisji”.

Jeśli chcesz przetestować strumień, podczas wstawiania transmisji musisz ustawić wartość właściwości contentDetails.monitorStream.enableMonitorStream na true, a właściwości contentDetails.enableAutoStart na false. Są to domyślne wartości obu właściwości.

Korzystanie z funkcji automatycznego uruchamiania i zatrzymywania

Domyślna transmisja rozpoczynała się automatycznie, gdy zaczynałeś przesyłać strumieniowo wideo w domyślnym strumieniu. Podobnie domyślna transmisja zakończyła się po zatrzymaniu transmisji wideo. Każda sesja strumieniowania z wykorzystaniem tych domyślnych zasobów stała się później filmem na Twoim kanale.

Funkcje automatycznego rozpoczynania i zatrzymywania były domyślnie włączone w przypadku domyślnych transmisji, ale są opcjonalne i muszą być włączone w przypadku innych transmisji. Jeśli chcesz korzystać z tych funkcji, podczas wstawiania transmisji musisz ustawić wartości właściwości contentDetails.enableAutoStart i contentDetails.enableAutoStop na true. Te funkcje są niezależne, więc możesz używać jednej z nich, a nie drugiej.

Jeśli nie włączysz funkcji automatycznego rozpoczynania i zatrzymywania nowych transmisji, klient API będzie musiał wywoływać metodę liveBroadcasts.transition, aby aktualizować stan transmisji po rozpoczęciu i zakończeniu strumieniowania wideo. W przewodniku „Life of a Broadcast” (Życie transmisji) znajdziesz instrukcje zarządzania tymi przejściami na początku i na końcu transmisji w kroku 4.3 i kroku 5.2.