Migracja HLS do odtwarzacza Shaka

Opis

Pakiet Cast Web pickupr SDK obsługuje odtwarzanie treści przy użyciu kilku protokołów strumieniowego przesyłania danych z sieci. Na podstawie użytego protokołu SDK wczytuje odtwarzacz do obsługi odtwarzania treści. W przypadku treści HLS wczytuje się biblioteka Media Player Library (MPL). W przypadku treści DASH wczytany jest Shaka Player.

Zespoły inżynierów Cast SDK i Shaka Player łączą swoje wysiłki na rzecz lepszej obsługi odtwarzania treści HLS w Shaka Playerze. MPL nie będzie już otrzymywać krytycznych aktualizacji. Zalecamy włączenie korzystania z Shaka Playera do odtwarzania treści HLS w aplikacji.

Korzyści z programu Shaka Player

Przy zmieniających się zawodach aplikacje mają następujące zalety:

  • Bardziej wydajne sesje strumieniowania dla użytkowników oraz krótsze opóźnienia i skrócenie czasu wczytywania.
  • Dalsze wdrażanie najnowszych funkcji HLS.
  • Zwiększona czytelność analizy przyczyn głównych w przypadku problemów ze zgodnością treści odtwarzacza ze względu na otwarty kod źródłowy Shaka Playera.
  • Baza kodu odtwarzacza na licencji open source umożliwia partnerom wspieranie projektu Shaka Player.
  • Znaczne skrócenie czasu wprowadzania nowych funkcji i naprawiania błędów ze względu na to, że cykl publikowania Shaka Player jest częsty i niezależny od wersji pakietu Web pickupr SDK.
  • Większa kontrola nad środowiskiem odtwarzania dzięki interfejsowi shakaVersion API.
  • Zwiększona obsługa odtwarzania przez Google dzięki wykorzystaniu zasobów inżynierskich skoncentrowanych na odtwarzaniu HLS w Shaka Playerze zgodnie z planem.

Oś czasu

Pakiet Web pickupr SDK zostanie zmieniony na Shaka Player jako domyślny odtwarzacz do odtwarzania treści HLS. Będziemy wprowadzać te zmiany stopniowo, aby pomóc partnerom w przejściu przez proces migracji.

faza Data rozpoczęcia Opis
1 październik 2022 r. Pakiet Cast Web pickupr SDK wprowadza interfejsy API umożliwiające wyrażenie zgody na odtwarzanie treści HLS w Shaka Playerze.
2 II poł. 2024 roku Pakiet Cast Web pickupr SDK zmienia domyślny odtwarzacz na Shaka Player na potrzeby odtwarzania treści HLS.

Zespoły inżynierów zajmujący się pakietem SDK odbiornika internetowego przyjmują podejście oparte na wydajności i przechodzą do następnej fazy dopiero wtedy, gdy wydajność Shaka Player będzie porównywalna z podstawową wydajnością MPL. Te zmiany zostaną ogłoszone w cast-sdk-announcements google group i aktualizowane w tym przewodniku.

Włącz

Od CAF w wersji 3.0.0105 dostępna jest konfiguracja na poziomie aplikacji, która wyrazi zgodę na używanie Shaka Player do odtwarzania HLS. Ta wersja zawiera również interfejs API umożliwiający wybór spośród obsługiwanych wersji odtwarzacza Shaka do wczytania. Te flagi są podawane w klasie CastReceiverOptions za pomocą właściwości useShakaForHls i shakaVersion i są oceniane po uruchomieniu CastReceiverContext. W każdej aplikacji, która zezwala na Shaka na HLS, należy ustawić wersję Shaka Player na co najmniej 4.3.4, aby korzystać z najnowszych ulepszeń HLS. Aby je włączyć, użyj tego fragmentu kodu:

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

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

context.start(castReceiverOptions);

Zweryfikuj treść

Partnerzy powinni sprawdzić, czy ich treści są odtwarzane w Shaka Playerze, zanim zdecydują się na korzystanie z Shaka Playera w swojej aplikacji produkcyjnej. Zalecamy przetestowanie każdej z wymienionych poniżej wersji treści:

  • Typy transmisji: TRANSMISJA NA ŻYWO lub VOD
  • Formaty kontenerów: TS, MP4, strumienie podstawowe
  • Treści z nieciągłościami lub osadzonymi reklamami
  • odtwarzanie na tych typach urządzeń: inteligentne ekrany, klucze sprzętowe Chromecasta, urządzenia z Androidem TV, telewizory z wbudowanym Chromecastem, inteligentne głośniki;

Jeśli zauważysz błędy lub nieoczekiwane działanie, zgłoś błąd. Gdy upewnisz się, że w Twoich treściach nie ma żadnych krytycznych błędów odtwarzania, prześlij zmiany do środowiska produkcyjnego.

Zrezygnuj

Pakiet Web pickupr SDK zostanie przeniesiony na model rezygnacji na potrzeby odtwarzania treści HLS w Shaka Playerze zgodnie z osią czasu. Właściwość useShakaForHls zmieni wartość domyślną z false na true. W takiej sytuacji aplikacje będą mogły używać MPL do odtwarzania HLS, ręcznie ustawiając tę właściwość na false. Po uruchomieniu CastReceiverContext pakiet SDK odbiornika internetowego powróci do wczytywania MPL zamiast Shaka Playera. Aby dowiedzieć się, jak zrezygnować, zapoznaj się z tym przykładem:

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

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

context.start(castReceiverOptions);

Zgłaszanie problemów

Zachęcamy naszych 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ć krytycznych aktualizacji. W przypadku problemów z MPL wykonaj czynności opisane w sekcji Włącz w przewodniku, aby sprawdzić, czy przełączenie się na Shaka Playera rozwiąże problem. Jeśli problem nadal występuje lub pojawia się inny problem przy zmianie odtwarzacza, wykonaj poniższe czynności.

  1. Aby rozwiązać problem, spróbuj ustawić shakaVersion na inną wersję gałęzi. Jeśli na przykład problem występuje w gałęzi 4.3, spróbuj ustawić ją do najnowszej wersji w wersji 4.2.x lub 3.3.x. W informacjach o wersjach Shaka Player znajdziesz wersje z najistotniejszymi aktualizacjami. Pamiętaj, że interfejs API shakaVersion ma minimalną i maksymalną obsługiwaną wersję, zgodnie z informacjami w dokumentacji referencyjnej. Jeśli zauważysz regresję, zgłoś problem za pomocą narzędzia do śledzenia problemów z Shaka Playerem.
  2. Spróbuj zmienić parametry konfiguracji odtwarzacza. Shaka Player można skonfigurować w obiekcie PlayerConfiguration. Pakiet Web Readr SDK 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 podczas wczytywania po utworzeniu instancji odtwarzacza. Zobacz więcej w

    konfigurację i opcje aplikacji. Domyślne wartości ustawiane przez pakiet SDK Web Odbieranie to wartości zalecane.

  3. Sprawdź, czy problem został zgłoszony przez narzędzie do śledzenia problemów Shaka Player lub narzędzie do śledzenia problemów Cast. Opisz błąd i dodaj istotne informacje, o ile opisuje on Twój problem.

  4. Przetestuj swoje treści na stronie demonstracyjnej Shaka Player. Jeśli zauważysz, że problem się powtarza w witrynie demonstracyjnej z Twoimi treściami, zgłoś błąd w projekcie Shaka Player.

  5. Zgłoś błąd w narzędziu do śledzenia problemów z przesyłaniem, jeśli masz problem specyficzny dla Shaka Playera w punktach końcowych przesyłania.

Najczęstsze pytania

Zmiana gracza może sprawić, że pojawi się wiele pytań. Poniżej znajdziesz odpowiedzi na najczęstsze pytania, które pomogą Ci przejść przez proces migracji.

Czy muszę przejść na Shaka Player?

Zachęcamy naszych partnerów, którzy korzystają z treści HLS, aby jak najszybciej rozpoczęli proces migracji. W rezultacie Twoja aplikacja będzie oferowała większe możliwości strumieniowania. Więcej korzyści znajdziesz w sekcji dotyczącej korzyści związanych z aplikacją Shaka Player w tym przewodniku. Aby zapewnić płynne przejście, partnerzy powinni sprawdzić, czy ich aplikacje działają prawidłowo, używając narzędzia Shaka Player. W przypadku niektórych aplikacji pakiet SDK Web pickupr może zostać przekształcony w model rezygnacji, jeśli partnerzy nie sprawdzą z wyprzedzeniem, czy ich treści są prawidłowo odtwarzane w Shaka Playerze.

Jaki jest oczekiwany poziom wysiłku przy zmianie gracza?

Partnerzy będą musieli przetestować swoją aplikację i treści w środowisku testowym, aby sprawdzić, czy wrażenia użytkownika są podobne do HLS lub lepsze. Aby to zrobić, partnerzy muszą wyrazić zgodę na korzystanie z tej funkcji w środowisku wewnętrznym i dokładnie sprawdzić, czy ich treści można odtwarzać za pomocą Shaka Playera. Szczegółowe informacje o tym, na czym warto się skupić, znajdziesz w sekcji Weryfikowanie treści. Po weryfikacji partnerzy muszą dodać flagę, aby wyrazić zgodę w środowisku ich aplikacji produkcyjnych, i zacząć korzystać z możliwości oferowanych przez Shaka Playera. Ogólnie rzecz biorąc, aby możliwa była migracja naszych partnerów, wymagamy jedynie niewielkich zmian w programowaniu, a głównie wymagamy od nich kontroli jakości.

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

Nowe integracje powinny zezwalać na używanie Shaka Playera do odtwarzania. Twoja aplikacja będzie lepiej wspierana w dłuższej perspektywie oraz będzie korzystać z nowych funkcji HLS i udoskonaleń w zakresie wydajności. Jeśli w Twojej nowej integracji występują problemy, zgłoś błąd jak najszybciej, aby dać zespołowi inżynierów wystarczająco dużo czasu na jego rozwiązanie. Jeśli w zgłoszeniu obowiązuje ograniczony termin, uwzględnij te informacje w raporcie o błędzie oraz informacje o wpływie, aby ustalić priorytety. Nasz zespół inżynierów postara się dostarczyć odpowiednie rozwiązanie, które będzie adekwatnie wspierać Twoich użytkowników.

Moje treści lub aplikacja nie działają z Shaka Playerem. Co teraz?

Zgłoś błąd w projekcie Shaka Player lub Cast (patrz Zgłaszanie problemów). Zespół inżynierów Cast SDK aktywnie monitoruje te trackery i będzie współpracować z Tobą w rozwiązywaniu ewentualnych problemów. Im wcześniej te problemy zostaną wykryte, tym więcej czasu będzie trzeba na udostępnienie poprawki.

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

W przeszłości MPL wdrożyło nowe funkcje HLS i naprawiliśmy poważne błędy za pomocą krytycznych aktualizacji. Teraz MPL nie będzie już otrzymywać takich funkcji, więc nie będziemy dodawać do odtwarzacza nowych funkcji HLS. Podobnie zgłoszone problemy z odtwarzaniem HLS w MPL nie zostaną naprawione w tym języku. Aby je rozwiązać, przełącz się na odtwarzacz Shaka. Jeśli problemy nie ustąpią, należy zgłosić błąd w przypadku danego problemu w Shaka Playerze. Partnerzy powinni zrezygnować z używania MPL.

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

Pliki binarne MPL nadal będą hostowane i dostępne dla aplikacji odbierającej. Jednak wszelkie prośby o dodanie funkcji i poprawki błędów związane z Smooth Streaming nie będą jednak obsługiwane, ponieważ specyfikacja Płynne strumieniowanie nie była aktualizowana od ponad 4 lat. Aby nadal otrzymywać aktualizacje dotyczące wydajności i obsługiwać treści, zalecamy przeniesienie treści do protokołu strumieniowania DASH lub HLS.

W moich treściach nie są używane protokoły HLS ani Smooth Stream. W jaki sposób wpłynie to na moją aplikację?

Jeśli Twoja biblioteka treści nie korzysta z żadnego z tych protokołów, migracja nie wpłynie na Twoje urządzenie. Nie musisz wprowadzać żadnych zmian w zgłoszeniu.