Como o YouTube melhorou o desempenho do vídeo com a API Media Capabilities

Garantindo uma reprodução de vídeo suave em todos os dispositivos.

Francisco Beaufort
François Beaufort

Em um experimento com a API Media Capabilities, o YouTube teve um aumento de 7,1% no MTBR com apenas uma redução de 0,4% na resolução média dos vídeos veiculados.

O problema

Normalmente, os sites de mídia têm diversas variantes de cada vídeo que podem apresentar aos usuários, codificadas em diferentes frame rates, resoluções e codecs. Até recentemente, os desenvolvedores da Web tinham que depender apenas de isTypeSupported() ou canPlayType() para determinar se cada variante poderia ser reproduzida no navegador de um usuário individual. Embora isso informasse ao desenvolvedor se a mídia poderia ser reproduzida, não forneceu uma indicação de qualidade de reprodução, por exemplo, se haveria quedas de frames ou consumo de bateria do dispositivo. Sem essas informações, os desenvolvedores precisavam criar as próprias heurísticas ou apenas presumir que, se um dispositivo pudesse reproduzir uma combinação de codec/resolução, poderia fazer isso sem problemas e com eficiência de energia. Para os usuários com dispositivos menos potentes, isso geralmente levava a uma experiência ruim.

A solução

A API Media Capabilities permite que os sites recebam mais informações sobre o desempenho da decodificação de vídeo do cliente e tomem uma decisão informada sobre qual codec e resolução fornecer ao usuário. Especificamente, a API fornece ao desenvolvedor uma estimativa da suavidade e eficiência de energia de uma combinação específica de codec e resolução. Isso permite que o desenvolvedor evite cenários em que o cliente provavelmente terá uma experiência de reprodução ruim.

No Chrome, a API Media Capabilities usa métricas de reproduções anteriores para prever se futuras reproduções no mesmo codec e com a mesma resolução serão decodificadas suavemente.

Estudo de caso do YouTube

O YouTube usou a API Media Capabilities para evitar que o algoritmo de taxa de bits adaptável selecionasse automaticamente resoluções que um dispositivo não poderia reproduzir sem problemas.

Os usuários que fizeram parte do grupo experimental tiveram rebuffers menos frequentes (o tempo médio entre novos buffers, ou MTBR, aumentou em 7,1%), enquanto a resolução média, medida pela altura do vídeo, foi exibida ao grupo agregado apenas em 0,4%. O aumento significativo no MTBR com a pequena redução correspondente na resolução média indica que essa mudança melhorou significativamente a qualidade para um pequeno subconjunto de usuários que antes tinham uma experiência ruim.

Como implementar a API Media Capabilities no site

Confira o exemplo oficial (link em inglês) para ver como a API Decoding Info funciona.