Zapewnia płynne odtwarzanie filmów na wszystkich urządzeniach.
W eksperymencie dotyczącym interfejsu Media Capabilities API YouTube zaobserwował wzrost wskaźnika MTBR o 7,1% przy jednoczesnym obniżeniu średniej rozdzielczości wyświetlanych filmów o 0,4%.
Problem
Zwykle witryny z multimediami mają kilka wariantów każdego filmu, które mogą przedstawiać użytkownikom, zakodowanych z różną liczbą klatek na sekundę i rozdzielczością oraz kodekami. Do niedawna deweloperzy stron internetowych musieli polegać wyłącznie na atrybutach isTypeSupported()
i canPlayType()
przy określaniu, czy dany wariant można odtworzyć w przeglądarce użytkownika.
Chociaż program informował dewelopera, czy w ogóle można odtwarzać multimedia, nie dostarczało ono informacji o jakości odtwarzania, na przykład o tym, czy nastąpiły spadek liczby klatek lub wyczerpanie baterii urządzenia. Bez tych informacji deweloperzy musieli stworzyć własną heurystykę lub zakładać, że urządzenie odtwarzające kombinację kodeka i rozdzielczości działa płynnie i z zachowaniem energii.
W przypadku użytkowników ze słabszymi urządzeniami często przekładało się to na złe wrażenia.
Rozwiązanie
Interfejs API Media Capabilities umożliwia witrynom uzyskiwanie dodatkowych informacji o wydajności dekodowania wideo klienta i podejmowanie świadomych decyzji co do kodeka i rozdzielczości, które należy przesłać użytkownikowi. W szczególności deweloper otrzymuje oszacowanie płynności i oszczędności energii w przypadku konkretnego kodeka i rozdzielczości. Pozwala to uniknąć sytuacji, w których klient może mieć słabe wrażenia z odtwarzania.
W Chrome interfejs Media Capabilities API wykorzystuje dane z poprzednich odtworzeń, aby przewidywać, czy przyszłe odtworzenia w tym samym kodeku i tej samej rozdzielczości będą płynnie zdekodowane.
Studium przypadku YouTube
YouTube wykorzystał interfejs Media Capabilities API, aby zapobiec automatycznemu dobieraniu przez algorytm adaptacji szybkości transmisji bitów rozdzielczości, których urządzenie nie mogło odtworzyć płynnie.
Użytkownicy należący do grupy eksperymentalnej odnotowywali rzadsze ponowne buforowanie (średni czas między ponownymi buforami, czyli MTBR, wzrósł o 7,1%), podczas gdy średnia rozdzielczość mierzona na podstawie wysokości filmu spadła w grupie zbiorczej tylko o 0,4%. Znaczny wzrost MTBR przy niewielkim zmniejszeniu średniej rozdzielczości wskazuje, że ta zmiana znacznie poprawiła jakość w przypadku niewielkiej grupy użytkowników, którzy wcześniej mieli złe doświadczenia.
Wdrożenie interfejsu Media Capabilities API w witrynie
Zapoznaj się z oficjalnym przykładem, aby zobaczyć, jak działa interfejs Decoding Info API.