Przewodnik po migracji domyślnych transmisji i strumieni

Omówienie

Ten przewodnik jest przeznaczony dla deweloperów aplikacji klienckich interfejsów API, które używają domyślnych zasobów liveStream i liveBroadcast kanałów YouTube do strumieniowego przesyłania treści na żywo. Ma ona na celu zapewnienie, że aplikacja prawidłowo radzi sobie ze wycofaniem transmisji domyślnych i strumieni domyślnych. Jest to istotne dla Ciebie, jeśli ma zastosowanie którekolwiek z poniższych stwierdzeń:

  • Sprawdza wartość właściwości isDefaultBroadcast zasobu liveBroadcast.
  • Sprawdza wartość właściwości isDefaultStream zasobu liveStream.
  • 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 będzie zwracać trwałych transmisji, które istniały przed tym okresem.

Jeśli Twoje zgłoszenie ma wpływ na Twoją aplikację, zapoznaj się z sekcją Aktualizowanie aplikacji, w której wyjaśniono zmiany proceduralne, jakie może być konieczne w związku z wycofaniem aplikacji. W tej sekcji znajdziesz instrukcje opisane w przewodniku po transmisjach na temat transmisji, których klient API zwykle nie stosuje, jeśli obecnie używa domyślnej transmisji i transmisji.

Co się dzieje?

Od 2015 r. automatycznie tworzymy domyślną transmisję i domyślną transmisję na kanale, gdy kanał ma włączoną funkcję transmisji na żywo. Strumień domyślny istniał bez końca i nie mógł zostać usunięty. I podobnie, transmisja domyślna jest uznawana za trwałą. Zawsze istnieje, nie był powiązany z czasem rozpoczęcia ani zakończenia i nie był powiązany z konkretnym zdarzeniem.

Od daty wycofania daty publikacji YouTube nie będzie już tworzyć domyślnych strumieni i transmisji. Ta zmiana ma wpływ na aplikacje klienckie, które używają tych zasobów do przesyłania treści na żywo. Ma to również wpływ na aplikacje, w których interfejs użytkownika jest dostosowywany do odróżniania tych zasobów domyślnych od innych komunikatów i strumieni utworzonych przez właścicieli kanałów.

Zamiast korzystać z zasobów domyślnych, klienty interfejsu API muszą utworzyć zasoby liveBroadcast i liveStream oraz nimi zarządzać. Dopiero wtedy będą powiązane.

Aktualizowanie aplikacji

Aby szybko sprawdzić terminologię, transmisja oznacza zdarzenie, które można oglądać w YouTube, gdy tylko się to odbywa, a strumień to mechanizm przesyłania rzeczywistych treści wideo do YouTube. Transmisja może być powiązana tylko z jednym strumieniem.

Migracja z komunikatów domyślnych

Przed tym wycofaniem klienty interfejsu API mogły wybrać, czy chcą korzystać z domyślnego kanału, czy utworzyć transmisję związaną z danym zdarzeniem. Domyślnym przekazem był stały zasób, który można wykorzystać ponownie w wielu wydarzeniach, natomiast zasób transmisji związany z wydarzeniem jest zasobem jednorazowym, który odpowiada dokładnie jednemu filmowi w YouTube.

Aplikacja kliencka używa komunikatu domyślnego, 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 potem identyfikuje zasób liveBroadcast w odpowiedzi interfejsu API, dla którego wartość właściwości isDefaultBroadcast to true.

Po jego wycofaniu YouTube będzie obsługiwać tylko transmisje dotyczące konkretnych wydarzeń. Oznacza to, że zamiast korzystać z domyślnej transmisji, klienty klienckie muszą utworzyć zasoby liveBroadcast dla każdego zdarzenia transmisji.

Aby utworzyć zasób liveBroadcast, wywołaj metodę liveBroadcasts.insert. Proces ten opisano w kroku 1.1 Przewodnika po transmisji na żywo.

Twój interfejs musi też udostępniać mechanizmy pozwalające rozróżniać i wybierać między kolejnymi transmisjami zdarzeń.

Migracja ze strumieni domyślnych

Strumień umożliwia przesyłanie treści audio i wideo do YouTube oraz definiuje ustawienia strumieniowego przesyłania ich do YouTube. Nadawcy korzystający z tej samej transmisji często wykorzystują tę samą transmisję w różnych momentach.

Mimo że aplikacja nie może używać strumienia domyślnego, może tworzyć strumień wielokrotnego użytku, który można wykorzystać ponownie przy każdej transmisji. Aby utworzyć zasób liveStream, wywołaj metodę liveStreams.insert zgodnie z instrukcjami w kroku 1.2 Przewodnika po transmisji na żywo. Domyślnie możesz używać nowo utworzonych strumieni. Jeśli wolisz, możesz ustawić właściwość contentDetails.isReusable na false, aby utworzyć strumienie jednorazowe i zachować relację jeden do jednego między transmisjami.

Poniższa lista zawiera 4 właściwości oprócz tytułu strumienia i opisu strumienia, które można ustawić podczas tworzenia nowego strumienia. Na liście znajdują się wartości używane w strumieniach domyślnych w przypadku każdej usługi. Są to najprawdopodobniej ustawienia, których chcesz użyć w aplikacji klienckiej podczas migracji z domyślnych strumieni.

Powiązanie transmisji do strumieni

Każdy zasób liveBroadcast musi być powiązany z jednym strumieniem, zanim rozpocznie się transmisja na żywo w YouTube. W momencie utworzenia transmisji nie jest ona powiązana z żadnym strumieniem.

Proces łączenia był obsługiwany automatycznie w przypadku transmisji domyślnej, która została nieodwracalnie powiązana z strumieniem domyślnym. Jednak po dacie wycofania aplikacje klienckie muszą 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 po transmisji na żywo.

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

Testowanie transmisji

Jeśli nie korzystasz z domyślnej transmisji, masz możliwość przetestowania transmisji. Aby przeprowadzić test, umieszczasz w odtwarzaczu odtwarzacz, który pozwala wyświetlić podgląd filmu w taki sposób, w jaki byłyby one wyświetlane widzom YouTube, ale transmisja nie jest widoczna dla innych widzów.

Jeśli Twój klient interfejsu API wcześniej korzystał z domyślnej transmisji i transmisji, a chcesz dodać etap testowania do procesu strumieniowego przesyłania danych, zapoznaj się z etapem 3 przewodnika po życie.

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

Korzystanie z funkcji automatycznego uruchamiania i zatrzymywania

Transmisja domyślna rozpoczynała się automatycznie po rozpoczęciu strumieniowania wideo. Analogicznie transmisja zakończyła się po zakończeniu transmisji. Każda sesja strumieniowania z tymi domyślnymi zasobami stała się filmem na Twoim kanale.

Chociaż w przypadku transmisji domyślnych funkcje automatycznego rozpoczynania i zatrzymywania są domyślne, funkcje te są opcjonalne i trzeba je włączyć w innych transmisjach. Jeśli chcesz korzystać z tych funkcji, to 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 decydować, czy chcesz używać obu.

Jeśli nie włączysz funkcji automatycznego uruchamiania i zatrzymywania w przypadku nowych transmisji, klient interfejsu API będzie musiał wywołać metodę liveBroadcasts.transition, aby zaktualizować stan transmisji w momencie rozpoczęcia i zakończenia transmisji. W przewodniku „Life of Broadcast” znajdziesz kroki 4.3 i 5.2, w których znajdziesz instrukcje dotyczące zarządzania przenoszeniem na początku i na końcu transmisji.