zapewnienie płynnego odtwarzania filmów na wszystkich urządzeniach.
W eksperymencie z interfejsem Media Capabilities API w YouTube zaobserwowano wzrost MTBR o 7,1% przy spadku średniej rozdzielczości wyświetlanych filmów o zaledwie 0,4%.
Problem
Zazwyczaj witryny z multimediami mają kilka wersji każdego filmu, które mogą prezentować użytkownikom. Są one kodowane z różnymi częstotliwościami klatek, rozdzielczościami i kodekiem. Do niedawna deweloperzy stron internetowych musieli polegać wyłącznie na isTypeSupported()
lub canPlayType()
, aby określić, czy każdy wariant może być odtwarzany w przeglądarce konkretnego użytkownika.
Chociaż ta informacja pozwalała deweloperowi sprawdzić, czy media mogą być odtwarzane, nie wskazywała jakości odtwarzania, np. czy wystąpią utrata klatek lub szybsze zużycie baterii. Bez tych informacji deweloperzy musieli tworzyć własne algorytmy lub zakładać, że jeśli urządzenie może odtwarzać kombinację kodeka i rozdzielczości, może to robić płynnie i z wydajnością energetyczną.
W przypadku użytkowników korzystających z mniej wydajnych urządzeń często prowadziło to do niewygodnej obsługi.
Rozwiązanie
Interfejs API Media Capabilities umożliwia witrynom uzyskiwanie dodatkowych informacji o wydajności dekodowania wideo po stronie klienta oraz podejmowanie świadomych decyzji o tym, który kodek i jaką rozdzielczość przesłać użytkownikowi. Interfejs API dostarcza deweloperowi szacunków dotyczących płynności i oszczędności energii w przypadku danego połączenia kodeka i rozdzielczości. Dzięki temu deweloper może uniknąć sytuacji, w której klient będzie miał problemy z odtwarzaniem.
W Chrome interfejs Media Capabilities API korzysta z danych z poprzednich odtworzeń, aby przewidzieć, czy przyszłe odtwarzanie z tym samym kodekiem i w tej samej rozdzielczości będzie płynnie dekodowane.
Studium przypadku dotyczące YouTube
YouTube używa interfejsu Media Capabilities API, aby zapobiec automatycznemu wybieraniu przez algorytm adaptacyjnego bitrate’u rozdzielczości, które nie mogą być płynnie odtwarzane na urządzeniu.
Użytkownicy, którzy należeli do grupy eksperymentalnej, rzadziej doświadczali przeładowań (średni czas między przeładowaniami, czyli MTBR, wzrósł o 7,1%), a średnia rozdzielczość mierzona na podstawie wysokości filmu wyświetlana w grupie zbiorczej spadła tylko o 0,4%. Znaczący wzrost MTBR przy jednoczesnym niewielkim spadku średniej rozdzielczości wskazuje, że ta zmiana znacznie poprawiła jakość dla niewielkiej grupy użytkowników, którzy wcześniej mieli problemy.
Wdrażanie interfejsu Media Capabilities API w witrynie
Aby dowiedzieć się, jak działa interfejs Decoding Info API, zapoznaj się z oficjalnym plikiem przykładowym.