Migracja HLS do odtwarzacza Shaka

Omówienie

Pakiet SDK odbiornika internetowego Cast obsługuje odtwarzanie treści za pomocą kilku protokołów przesyłania strumieniowego w internecie. W zależności od użytego protokołu pakiet SDK wczytuje odtwarzacz, który obsługuje odtwarzanie treści. W przypadku treści HLS wczytuje się bibliotekę odtwarzacza multimedialnego (MPL). W przypadku treści DASH wczytuje się odtwarzacz Shaka.

W przyszłości zespoły inżynierów zajmujące się pakietami Cast SDK i Shaka Player będą łączyć siły, aby zwiększyć obsługę odtwarzania treści HLS w odtwarzaczu Shaka. MPL nie będzie już otrzymywać aktualizacji krytycznych. Zalecamy używanie odtwarzacza Shaka do odtwarzania treści HLS w aplikacji.

Zalety odtwarzacza Shaka

Dzięki zmianie graczy aplikacje mogą korzystać z tych korzyści:

  • Bardziej stabilne sesje strumieniowego przesyłania danych dla użytkowników, z ulepszonym czasem wczytywania, mniejszą liczbą awarii i opóźnień.
  • Kontynuacja wdrażania najnowszych funkcji HLS.
  • Większa przejrzystość analizy głównej przyczyny problemów z kompatybilnością odtwarzacza i treści dzięki otwartemu charakterowi Shaka Player.
  • Otwarta wersja kodu źródłowego odtwarzacza pozwala partnerom wspierać projekt Shaka Player.
  • Znaczne skrócenie czasu wprowadzania funkcji i poprawek do wersji produkcyjnej, ponieważ częstotliwość wydawania wersji aplikacji Shaka Player jest duża i nie zależy od wersji pakietu SDK odbiornika internetowego.
  • Większa kontrola nad środowiskiem odtwarzania zapewniana przez interfejs API shakaVersion.
  • Zwiększone wsparcie Google dotyczące odtwarzania – zasoby inżynieryjne skupione na odtwarzaniu HLS w Shaka Player, jak widać na mapie drogowej.

Oś czasu

Pakiet SDK odbiornika internetowego będzie używać odtwarzacza Shaka jako domyślnego odtwarzacza do odtwarzania treści HLS. Będzie to miało miejsce stopniowo, aby pomóc partnerom w przeprowadzeniu procesu migracji.

Faza Data rozpoczęcia Omówienie
1 Październik 2022 Pakiet SDK odbiornika internetowego Cast wprowadza interfejsy API do włączenia opcji odtwarzania treści HLS w odtwarzaczu Shaka.
2 H1 '25 Pakiet SDK odbiornika internetowego Google Cast zamienia domyślny odtwarzacz na odtwarzacz Shaka w celu odtwarzania treści HLS.

Zespoły inżynierów zajmujące się pakietem Web Receiver SDK stosują podejście oparte na wydajności i przejdą do następnej fazy dopiero wtedy, gdy wydajność odtwarzacza Shaka będzie porównywalna z podstawową wydajnością odtwarzacza MPL. O tych zmianach poinformujemy w grupie Google cast-sdk-announcements, a także zaktualizujemy ten przewodnik.

Włącz

Począwszy od wersji CAF 3.0.0105, na poziomie aplikacji dostępna jest konfiguracja, która umożliwia dołączenie do usługi Shaka Player do odtwarzania HLS. Ta wersja wprowadza również interfejs API, który umożliwia wybranie obsługiwanego zakresu wersji odtwarzacza Shaka do załadowania. Te flagi są dostarczane w klasie CastReceiverOptions za pomocą właściwości useShakaForHlsshakaVersion oraz są oceniane po uruchomieniu CastReceiverContext. Aby korzystać z najnowszych ulepszeń HLS, każda aplikacja korzystająca z Shaka w przypadku HLS powinna mieć co najmniej wersję 4.3.4 odtwarzacza Shaka. Aby to zrobić, użyj tego fragmentu kodu:

const context = cast.framework.CastReceiverContext.getInstance();

let castReceiverOptions = new cast.framework.CastReceiverOptions();
castReceiverOptions.useShakaForHls = true;

context.start(castReceiverOptions);

Sprawdzanie poprawności treści

Zanim partnerzy zdecydują się na korzystanie z Shaka Playera w wersji produkcyjnej aplikacji, powinni sprawdzić odtwarzanie treści w tym odtwarzaczu. Zalecamy przetestowanie wszystkich poniższych wariantów treści:

  • Typy transmisji: NA ŻYWO lub VOD
  • Formaty kontenera: TS, MP4 lub podstawowe strumienie
  • treści z nieciągłościami lub wbudowanymi reklamami;
  • Odtwarzanie na tych typach urządzeń: inteligentne ekrany, dongle Chromecasta, urządzenia z Androidem TV, telewizory z wbudowanym Chromecastem, inteligentne głośniki.

Jeśli znajdziesz błędy lub nieoczekiwane działanie, zgłoś błąd. Gdy upewnisz się, że w treści nie ma krytycznych błędów odtwarzania, przenieś zmiany do środowiska produkcyjnego.

Zrezygnuj

Pakiet SDK odbiornika internetowego zostanie zastąpiony modelem rezygnacji w przypadku odtwarzania treści HLS za pomocą odtwarzacza Shaka zgodnie z harmonogramem. Wartość domyślna właściwości useShakaForHls zmieni się z false na true. Wtedy aplikacje mogą używać MPL do odtwarzania HLS, ustawiając ręcznie tę właściwość na false. Po uruchomieniu CastReceiverContext pakiet SDK Web Receiver wróci do wczytywania MPL zamiast odtwarzacza Shaka. Poniżej znajdziesz przykład, jak zrezygnować z tej usługi:

const context = cast.framework.CastReceiverContext.getInstance();

let castReceiverOptions = new cast.framework.CastReceiverOptions();
castReceiverOptions.useShakaForHls = false;

context.start(castReceiverOptions);

Zgłaszanie problemów

Zachęcamy partnerów do zgłaszania wszelkich problemów, które napotkają podczas odtwarzania treści HLS. Jak już wspomnieliśmy, MPL nie będzie już otrzymywać ważnych aktualizacji. Jeśli wystąpią problemy z MPL, wykonaj czynności opisane w sekcji Zaakceptuj tego przewodnika, aby sprawdzić, czy przejście na odtwarzacz Shaka rozwiąże problem. Jeśli problem nadal występuje lub jeśli podczas przełączania graczy napotkasz inny problem, wykonaj podane niżej czynności.

  1. Aby rozwiązać problem, spróbuj ustawić parametr shakaVersion na inną wersję gałęzi. Jeśli na przykład problem występuje w gałęzi 4.3, spróbuj ustawić najnowszą wersję w wersjach 4.2.x lub 3.3.x. Aby znaleźć wersje z najbardziej odpowiednimi aktualizacjami, sprawdź informacje o wersjach odtwarzacza Shaka. Pamiętaj, że interfejs API shakaVersion ma minimalną i maksymalną obsługiwaną wersję, jak opisano w dokumentacji referencyjnej. Jeśli zauważysz regresję, zgłoś problem w systemie śledzenia błędów Shaka Player.
  2. Spróbuj zmienić parametry konfiguracji odtwarzacza. Odtwarzacz Shaka można konfigurować za pomocą obiektu PlayerConfiguration. Pakiet SDK odbiornika internetowego definiuje zestaw wartości domyślnych i umożliwia aplikacjom modyfikowanie tej konfiguracji za pomocą właściwości shakaConfig w obiekcie PlaybackConfig. Jest ona oceniana w czasie wczytywania, gdy tworzona jest instancja odtwarzacza. Więcej informacji

    konfiguracja i opcje aplikacji. Wartości domyślne ustawione przez pakiet SDK odbiornika internetowego są zalecanymi wartościami.

  3. Sprawdź, czy problem został zgłoszony w Shaka Player Issue Tracker lub Cast Issue Tracker. Skomentuj błąd i dodaj odpowiednie informacje, jeśli opisują one też Twój problem.

  4. Przetestuj swoje treści na stronie demonstracyjnej odtwarzacza Skaka Player. Jeśli zauważysz, że problem występuje w witrynie demonstracyjnej Twoich treści, zgłoś błąd w projekcie Shaka Player.

  5. Jeśli masz problem tylko z odtwarzaczem Shaka na urządzeniach końcowych Cast, zgłoś go w narzędzie do zgłaszania problemów z Castem.

Najczęstsze pytania

Zmiana graczy może wywołać wiele pytań. Poniżej znajdziesz odpowiedzi na najczęstsze pytania, które pomogą Ci w przeprowadzeniu migracji.

Czy muszę przejść na odtwarzacz Shaka?

Zachęcamy partnerów, którzy korzystają z treści HLS, do jak najszybszego rozpoczęcia procesu migracji. Dzięki temu Twoja aplikacja zapewni użytkownikom lepsze wrażenia podczas strumieniowego przesyłania danych. Więcej korzyści opisano w sekcji tego przewodnika poświęconej korzyściom wynikającym z użycia odtwarzacza Shaka. Partnerzy powinni sprawdzić, czy ich aplikacje działają prawidłowo, korzystając z odtwarzacza Shaka, aby zapewnić płynne przejście. Niektóre aplikacje mogą być zagrożone, gdy Web Receiver SDK przejdzie na model rezygnacji, jeśli partnerzy nie zweryfikują z wyprzedzeniem, czy ich treści odtwarzają się prawidłowo w Shaka Player.

Jaki jest oczekiwany poziom wysiłku podczas zmiany graczy?

Partnerzy będą musieli przetestować swoją aplikację i treści w środowisku testowym, aby mieć pewność, że użytkownicy będą zadowoleni z korzystania z usługi w porównaniu z HLS. Aby to zrobić, partnerzy muszą wyrazić zgodę na korzystanie z tej funkcji w środowisku wewnętrznym i dokładnie sprawdzić, czy ich treści mogą być odtwarzane za pomocą odtwarzacza Shaka. Szczegóły dotyczące weryfikacji treści znajdziesz w artykule o tym, na czym należy się skupić. Po weryfikacji partnerzy muszą dodać flagę wyrażenia zgody w środowisku produkcyjnym aplikacji, aby zacząć korzystać z zalet Shaka Player. Ogólnie rzecz biorąc, aby przeprowadzić migrację, nasi partnerzy muszą wprowadzić minimalne zmiany w programowaniu i głównie spełnić wymagania dotyczące testowania jakości.

Co mam zrobić, jeśli moja aplikacja wkrótce będzie używać HLS do strumieniowego przesyłania treści?

Nowe integracje powinny zawierać opcję korzystania z odtwarzacza Shaka. Twoja aplikacja będzie lepiej obsługiwana w długim okresie, a dodatkowo skorzysta z nowych funkcji HLS i ulepszeń wydajności. Jeśli nowa integracja ma problemy, jak najszybciej zgłoś błąd, aby zespół inżynierów miał wystarczająco dużo czasu na jego rozwiązanie. Jeśli aplikacja ma krótki termin, dołącz do raportu o błędzie informacje o tym terminie oraz o jej wpływie, abyśmy mogli odpowiednio ustalić priorytety. Nasz zespół inżynierów będzie pracować nad znalezieniem rozwiązania, które zapewni odpowiednie wsparcie użytkownikom.

Moja zawartość lub aplikacja nie działa z odtwarzaczem Shaka. Co teraz?

Należy zgłosić błąd w projekcie Shaka Player lub projekcie Cast (patrz Zgłoś problemy). Zespół inżynierów zajmujący się pakietem Cast SDK aktywnie monitoruje te lokalizatory i współpracuje z Tobą, aby rozwiązać wszelkie problemy. Im wcześniej wykryjesz te problemy, tym więcej czasu będziesz mieć na ich rozwiązanie.

MPL nie otrzymuje już ważnych aktualizacji. Co to dokładnie oznacza?

W przeszłości MPL wdrażało nowe funkcje HLS i naprawiało poważne błędy za pomocą krytycznych aktualizacji. Ponieważ MPL nie będzie już ich otrzymywać, nowe funkcje HLS nie będą dodawane do odtwarzacza. Podobnie, wszystkie zgłoszone problemy z odtwarzaniem HLS w MPL nie zostaną rozwiązane w MPL. Aby rozwiązać te problemy, należy przełączyć odtwarzanie na odtwarzacz Shaka. Jeśli problemy nie ustąpią, należy zgłosić błąd z odpowiednimi problemami dotyczącymi Shaka Playera. Partnerzy powinni zrezygnować z użycia MPL.

Moje treści korzystają z protokołu Smooth Streaming. Jak to wpływa na moją aplikację?

Binarne pliki MPL będą nadal hostowane i dostępne dla aplikacji odbiorcy. Prośby o wprowadzenie nowych funkcji związanych z płynnym przesyłaniem strumieniowym i poprawki błędów nie będą jednak obsługiwane, ponieważ specyfikacja płynnego przesyłania strumieniowego nie była aktualizowana od ponad 4 lat. Zalecamy przeniesienie treści do korzystania z protokołu przesyłania strumieniowego DASH lub HLS, aby nadal otrzymywać informacje o skuteczności i pomoc dotyczącą treści.

Moje treści nie korzystają z protokołów HLS ani Smooth Stream. Jak to wpłynie na moją aplikację?

Jeśli Twoja biblioteka treści nie korzysta z żadnego z tych protokołów strumieniowego przesyłania danych, migracja nie będzie miała na Ciebie wpływu. Nie musisz wprowadzać żadnych zmian w aplikacji.