Jak YouTube poprawił wyniki filmów dzięki interfejsowi Media Capabilities API

Niezwykle płynne odtwarzanie filmów na wszystkich urządzeniach.

Anna Beaufort
François Beaufort

W eksperymencie z interfejsem Media Capabilities API serwis YouTube zaobserwował wzrost MTBR o 7,1% i spadek średniej rozdzielczości wyświetlanych filmów o 0,4%.

Problem

Zwykle witryny multimedialne mają kilka wariantów każdego filmu, które można pokazać użytkownikom. Kody te mają różne liczby klatek, rozdzielczość i kodeki. Do tej pory deweloperzy stron internetowych musieli polegać wyłącznie na isTypeSupported() lub canPlayType(), aby określić, czy dany wariant można odtworzyć w przeglądarce użytkownika. Deweloperowi można było powiedzieć, czy w ogóle może odtwarzać multimedia, ale nie dało ono informacji o jakości odtwarzania (np. czy wystąpiły spadki klatek lub wyczerpywanie się baterii urządzenia). Bez tych informacji deweloperzy musieliby tworzyć własne metody heurystyczne lub zakładać, że gdyby urządzenie potrafiło odtwarzać kombinację kodeka i rozdzielczości, byłoby to płynnie i z wysoką energooszczędnością. W przypadku użytkowników mających mniej wydajne urządzenia często powodowało to pogorszenie wyników.

Rozwiązanie

Interfejs Media Capabilities API pozwala witrynom uzyskać więcej informacji o wydajności dekodowania wideo klienta i podjąć przemyślaną decyzję o tym, który kodek i jaka rozdzielczość mają być przesyłane użytkownikowi. W szczególności interfejs API zapewnia deweloperowi oszacowanie płynności i efektywności energetycznej konkretnego kodeka oraz kombinacji rozdzielczości. Pozwala to deweloperowi uniknąć sytuacji, w których klient prawdopodobnie będzie mieć problemy z odtwarzaniem.

W Chrome interfejs Media Capabilities API korzysta z danych dotyczących poprzednich odtworzeń, aby przewidywać, czy kolejne odtworzenia w tym samym kodeku i w tej samej rozdzielczości będą płynnie dekodowane.

Studium przypadku: YouTube

Zespół YouTube zastosował interfejs MediaCapabilities API API, który zapobiegł automatycznemu wybieraniu rozdzielczości, w przypadku których urządzenie nie może płynnie odtwarzać filmów, przez algorytm adaptacyjnej szybkości transmisji bitów.

Użytkownicy należący do grupy eksperymentalnej łącznie odnotowali rzadsze ponowne buforowanie (średni czas między buforami, czyli MTBR, wzrósł o 7,1%), a średnia rozdzielczość, mierzona na podstawie wysokości filmu, spadła w grupie zbiorczej o 0,4%. Znaczny wzrost MTBR i niewielkie zmniejszenie średniej rozdzielczości wskazuje, że ta zmiana znacznie poprawiła jakość w przypadku niewielkiej podgrupy użytkowników, którzy wcześniej mieli złe wrażenia.

Wdrożenie interfejsu Media Capabilities API w witrynie

Zobacz oficjalny przykład, aby dowiedzieć się, jak działa interfejs Decoding Info API.