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
zasobuliveBroadcast
. - Sprawdza wartość właściwości
isDefaultStream
zasobuliveStream
. Wywołuje metodę
liveBroadcasts.list
i ustawia wartość parametrubroadcastType
napersistent
. Od daty wycofania:- Jeśli wartość parametru
broadcastType
topersistent
, metodaliveBroadcasts.list
nie zwróci żadnych wyników. - Jeśli wartość parametru
broadcastType
toall
, metodaliveBroadcasts.list
nie będzie zwracać trwałych transmisji, które istniały przed tym okresem.
- Jeśli wartość parametru
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
napersistent
. To żądanie pobiera tylko domyślną transmisję. - Ustawia wartość parametru
broadcastType
naall
, a potem identyfikuje zasóbliveBroadcast
w odpowiedzi interfejsu API, dla którego wartość właściwościisDefaultBroadcast
totrue
.
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.
cdn.frameRate
–variable
cdn.ingestionType
–rtmp
cdn.resolution
–variable
contentDetails.isReusable
–true
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.