Как YouTube улучшил производительность видео с помощью API Media Capabilities

Обеспечение плавного воспроизведения видео на всех устройствах.

Франсуа Бофор
Франсуа Бофор

В эксперименте с Media Capabilities API на YouTube наблюдалось увеличение MTBR на 7,1% при уменьшении среднего разрешения подаваемых видео лишь на 0,4%.

Проблема

Обычно медиа-сайты имеют несколько вариантов каждого видео, которые они могут представить пользователям, закодированные с разной частотой кадров, разрешением и кодеками. До недавнего времени веб-разработчикам приходилось полагаться исключительно на isTypeSupported() или canPlayType() , чтобы определить, можно ли воспроизвести каждый вариант в браузере отдельного пользователя. Хотя это сообщало разработчику, можно ли вообще воспроизводить мультимедиа, оно не давало указаний на качество воспроизведения, например, будут ли пропадать кадры или разряжаться батарея устройства. Без этой информации разработчикам приходилось либо создавать свои собственные эвристики, либо просто предполагать, что если устройство может воспроизводить комбинацию кодека/разрешения, оно может делать это плавно и с энергоэффективностью. Для пользователей с менее функциональными устройствами это часто приводило к ухудшению качества работы.

Решение

API Media Capabilities позволяет веб-сайтам получать дополнительную информацию о производительности декодирования видео клиента и принимать обоснованное решение о том, какой кодек и разрешение предоставлять пользователю. В частности, API предоставляет разработчику оценку плавности и энергоэффективности конкретной комбинации кодека и разрешения. Это позволяет разработчику избежать сценариев, при которых у клиента могут возникнуть проблемы с воспроизведением.

В Chrome API Media Capabilities использует показатели предыдущих воспроизведений, чтобы предсказать, будут ли будущие воспроизведения в том же кодеке и с тем же разрешением плавно декодироваться.

Пример использования YouTube

YouTube использовал API Media Capabilities , чтобы запретить своему алгоритму адаптивного битрейта автоматически выбирать разрешения, которые устройство не могло воспроизводить плавно.

Пользователи, входившие в экспериментальную группу, в совокупности видели менее частые ребаферы (среднее время между ребаферами, или MTBR, увеличилось на 7,1%), в то время как среднее разрешение, измеренное по высоте видео, для общей группы снизилось только на 0,4%. Существенное увеличение MTBR при небольшом соответствующем уменьшении среднего разрешения указывает на то, что это изменение значительно улучшило качество для небольшой группы пользователей, у которых ранее был плохой опыт.

Реализация API Media Capabilities на вашем сайте

Ознакомьтесь с официальным примером , чтобы узнать, как работает API декодирования информации.