Как количество превратить в качество — снижаем буферизацию и ее причины в 2 раза, и улучшаем качество видео в пиках при переносе трафика в пиринг на примере крупнейшего в России провайдера онлайн телеэфира.
Почему возникает буферизация?
Главная причина — снижение скорости загрузки видео. Когда новый видео фрагмент еще недоступен для воспроизведения, единственный выход для плеера — снижать битрейт или (когда более низкий битрейт не решит ситуацию) задержать воспроизведение до тех пор, пока буфер не заполнится вновь. В первую очередь, это проблема на стороне пропускной способности сети, но является ли это нормой?
Буферизация (или задержка воспроизведения) всегда зависит от двух участников процесса — того, кто фрагмент видео отправляет из точки, А (CDN), и того, кто его скачивает в точке В (зритель).
Эффективная скорость передачи данных не может быть выше, чем самая низкая пропускная способность, доступная в одной из этих двух точек. И неважно, где именно что-то пойдет не так, на стороне CDN или на стороне зрителя, если мы не сможем каким-то образом устранить узкое место, буферизация никуда не денется.
Перед нами стояла задача: максимально устранить условия возникновения буферизации, то самое «узкое место».
Распределенная сеть доставки данных — это множество источников трафика
Все меняется, когда видеоплеер получает возможность подключения к peer-to-peer сети, в которой устройства зрителей перераспределяют проигрываемый контент между собой. Плеер получает множество источников для скачивания нужных видеофайлов, и держит соединение с устройствами в течение всего сеанса. Конечно, некоторые зрители могут выйти из сети (так же, как некоторые точки доступа CDN могут стать недоступными), но если сеть достаточно большая, то у каждого зрителя есть много активных соединений, с которых можно загружать трафик.
Активные источники трафика
На диаграмме видно количество источников, используемых для загрузки видео фрагментов за один сеанс просмотра («активные каналы»). На осе Х указаны несколько каналов, используемых в одной сессии просмотра. По Y — количество зрителей, которые в течение сессии используют определенное количество активных каналов.
Это приводит к ускорению загрузки
В обычных условиях это неизбежно приведет к снижению битрейта и, следовательно, ухудшению качества видео, а затем к буферизации. Но наличие множества активных каналов решает эту проблему! По статистике мы видим, что зрительские устройства могут скачивать видео с других устройств в распределенном облаке в несколько раз быстрее, чем с CDN!
Соотношение скорости P2P к скорости традиционного CDN
Это приводит к снижению уровня буферизации
Итак, чем быстрее скачивание видео файлов, тем меньше шансов на буферизацию. Ее уровень не бывает нулевым просто потому, что некоторые устройства находятся в таких условиях, что даже несколько источников трафика не в состоянии доставить его мгновенно. Однако, по статистике, P2P сеть положительно влияет на буферизацию.
Данные по буферизации в течение дня
Когда у видеоплеера есть доступ к множеству активных источников трафика, уровень буферизации уменьшается на 50%!
Работая на последней миле доставки видео, мы считаем, что критически важно для поддержания качества просмотра на самом высоком уровне своевременно обнаружить проблемы со скачиванием и изменить способ загрузки файла конкретным устройством. Когда каждый видеоплеер имеет несколько активных соединений с распределенными источниками, всегда есть быстрый способ переключиться с плохого источника на хороший, и избежать замедления загрузки, которое обычно вызывает буферизацию.
Андрей Клименко,
CEO Teleport Media