In che modo YouTube ha migliorato il rendimento dei video con l'API Media Capabilities

Garantire una riproduzione video superflua su tutti i dispositivi.

Francesco Beaufort
François Beaufort

In un esperimento con l'API Media Capabilities, YouTube ha riscontrato un aumento del 7,1% dell'MTBR e una diminuzione solo dello 0,4% della risoluzione media dei video pubblicati.

Il problema

In genere, i siti multimediali hanno diverse varianti di ciascun video che possono presentare agli utenti, codificate con frequenze fotogrammi, risoluzioni e codec diversi. Fino a recentemente, gli sviluppatori web dovevano affidarsi esclusivamente a isTypeSupported() o canPlayType() per determinare se ogni variante poteva essere riprodotta nel browser di un singolo utente. Anche se questo indicava allo sviluppatore se fosse possibile riprodurre i contenuti multimediali, non forniva un'indicazione sulla qualità di riproduzione, ad esempio se ci fossero cadute di fotogrammi o consumo della batteria del dispositivo. Senza queste informazioni, gli sviluppatori dovevano creare le proprie euristiche o semplicemente supporre che, se un dispositivo fosse in grado di riprodurre una combinazione di codice/risoluzione, l'operazione poteva essere effettuata agevolmente e con efficienza energetica. Per gli utenti con dispositivi meno efficienti, questo spesso comportava un'esperienza negativa.

La soluzione

L'API Media Capabilities consente ai siti web di ottenere ulteriori informazioni sulle prestazioni di decodifica video del cliente e di decidere in modo consapevole quale codec e risoluzione fornire all'utente. In particolare, l'API fornisce allo sviluppatore una stima della fluidità e dell'efficienza energetica di una determinata combinazione di codec e risoluzione. Ciò consente allo sviluppatore di evitare gli scenari in cui è probabile che il client abbia un'esperienza di riproduzione scadente.

In Chrome, l'API Media Capabilities utilizza le metriche delle riproduzioni precedenti per prevedere se le riproduzioni future nello stesso codec e alla stessa risoluzione verranno decodificate in modo fluido.

Case study di YouTube

YouTube ha utilizzato l'API Media Capabilities per impedire all'algoritmo della velocità in bit adattiva di selezionare automaticamente le risoluzioni che un dispositivo non può riprodurre in modo fluido.

Gli utenti che facevano parte del gruppo sperimentale hanno registrato collettivamente rebuffer meno frequenti (il tempo medio tra i rebuffer, o MTBR, è aumentato del 7,1%), mentre la risoluzione media, misurata in base all'altezza del video, è stata pubblicata per il gruppo aggregato diminuiva solo dello 0,4%. Il sostanziale aumento dell'MTBR con la piccola corrispondente riduzione della risoluzione media indica che questa modifica ha migliorato notevolmente la qualità per un piccolo sottoinsieme di utenti che in precedenza avevano un'esperienza negativa.

Implementare l'API Media Capabilities sul tuo sito

Dai un'occhiata all'esempio ufficiale per vedere come funziona l'API Decoding Info.