Каждый год по экспоненте растет количество зрителей, предпочитающих смотреть спорт онлайн и в ОТТ приложениях вместо обычных телевизионных каналов. Футбол, любимейшая игра миллионов, собирает только на веб сайтах сотни тысяч одновременных пользователей. Для того, чтобы выдержать такой наплыв аудитории и каждому зрителю показать игру в самом лучшем качестве, вещателям нужна гибкая и масштабируемая CDN стратегия. Децентрализованные технологии доставки видео могут обеспечить этот эффект. За счет чего это достигается? Чем больше устройств присоединяется к сети — тем лучше качество видео и тем быстрее происходит отгрузка фрагментов в плеер для каждого устройства. При грамотных настройках, Р2Р СDN способна взять на себя до 80% трафика на лайве, чем сэкономить вещателю 30−60% бюджета на внешние CDN и кратно снизить инвестиционные затраты на строительство или умощнение собственной CDN.
Поэтому, чтобы изучить и улучшить показатели доставки видео в P2P сети, а именно заполнения буфера плеера, мы сравнили эффективность в двух разных стеках (DASH и HLS) двух разных вещателей в вебе на разном качестве — 720h и 1080h на недавних матчах Евро 2020 от игр 1/8 до финала чемпионата.
Матчи Евро 2020 в Р2Р сети Teleport Media
В сумме два наших клиента показали больше десятка игр стадии плей-офф на Евро 2020. Число одновременных зрителей в пике доходило до 470 тысяч, при этом эффективность работы пиринга достигала в максимуме 70%. Общее число уникальных зрителей, посмотревших игру (частично или полностью) достигло 1 миллиона на играх 1/8, ¼ и ½ финала, а для финальной игры составило 1,26 миллиона.
Видеотрафик
Одновременные зрители
Это хороший результат, но потенциал децентрализованной доставки видео велик. Так, анализируя свою работу на играх Евро 2020, мы поставили задачу — разработать такой подход, при котором можно было бы компенсировать объективные минусы способа доставки через пиринг (а такие иногда возникают, да) за счет архитектурного подхода. Другими словами, чтобы увеличить как % переноса трафика в Р2Р сеть, так и скорость загрузки файлов плеером из нее, не закупкой дорогостоящих серверов по всему миру и развитием внутренней инфраструктуры вещателя, а софтверным гибким и масштабируемым решением, не требующем крупных инвестиций и времени.
P2P в DASH vs P2P в HLS
Итак, каждый матч в прямом эфире мы отслеживали множество параметров доставки видео в Р2Р сети Teleport Media. И когда мы сопоставили общую эффективность работы Р2Р сети в двух разных стеках (DASH и HLS), мы сделали два главных вывода:
На DASH в HD качестве практически 80% подключения к Р2Р сети были удачными, потому что размер видео фрагмента составлял 2,5 Mb и буфер был 5−6 секунд, этого вполне хватало для быстрой отгрузки и хороших результатов скачивания в пиринге.
На HLS в Full HD процент удачных подключений и соответственно скачиваний был вдвое ниже. Размер фрагмента составлял 6Mb и буфер был 8 сек, и получалось так, что плеер не успевал загрузить нужный кусок видео, запрос уходил на стандартный CDN, в итоге время увеличивалось, а буфер наполнялся медленнее.
Сам буфер выглядит как некий танкер, куда на вход поступают видеочанки разного размера и веса с разных источников, а на выходе плеер систематически подтягивает и выдает зрителю видеоряд. Задача инфраструктуры доставки видео — держать буфер всегда наполненным до определенного значения, например в 30 секунд. Наша задача — наполнять буффер за счет скачивания из Р2Р сети, поддерживая и увеличивая за счет настроек скорость скачивания в пиринге, и увеличивая его эффективность в целом.
Так, в идеале каждую секунду в 30ти секундный буфер добавляется 5ти секундный чанк, и каждую секунду плеер забирает себе такой же впереди стоящий чанк из 24 кадров. Если новый фрагмент будет загружаться в буфер дольше 5−6 секунд, будет опасность опустошения буфера, и как следствие, буферизации.
Как заполняется буффер видео плеера
В процессе мы поняли, что показатели для более тяжелого Full HD надо преобразовывать кратно, для того, чтобы не тормозила заполняемость буфера из Р2Р, и работали заявленные преимущества Р2Р-подхода.
Решение Race Download
Мы придумали как ускорить заполнение буфера более тяжелыми видео фрагментами силами Р2Р сети и назвали это решение — Race Download (Гонка загрузки). Задача этого решения — компенсировать мало предсказуемую скорость скачивания в пиринге и дробить запрашиваемый видеофрагмент еще на 2−3 куска, реализуя возможность параллельно загружать нескольких частей видео фрагмента в буфер от разных пиров. «Гонка» заключается в том, что когда мы делим задачу загрузки 1 фрагмента между 2 пирами, один из них по разным обстоятельствам неизбежно отдаст свой фрагмент быстрее второго, и ему же Телепорт отдаст остаток работы второго. Система сама определит ближайшие или наиболее подходящие пиры для установки таких соединений. Это сделает возможным значительно увеличить скорость скачивания в пиринге чанков высокого разрешения — в качества Full HD и выше — 4K. Сейчас идут тесты, и вскоре мы запустим функцию Race Download для наших клиентов. Вы также можете быть в числе первых, чтобы попробовать как это работает — регистрируйтесь в обновленный личный кабинет Teleport Media.
Teleport Media P2P CDN — функция Race Download
Итоги
В день, более 2 миллионов устройств получают трафик ТВ и on-demand с помощью технологии Teleport Media. Для того, чтобы видео на них было в самом лучшем качестве, даже если все они будут смотреть один контент одновременно, необходимы инструменты оптимизации стриминга за счет архитектурного подхода. В целом все, кто что-то знает про децентрализованную доставку видео, делятся на два лагеря: уже используют Р2Р решение или ожидают усовершенствование технологий для Р2Р стриминга, чтобы начать использовать.
Мы в Телепорте работаем над тем, чтобы пиринг участвовал в доставке видео клиента как можно эффективнее, особенно на вебе, поэтому наша цель — найти новые архитектурные решения для децентрализованной доставки. Так, на Евро 2020 с видео в высоком разрешении мы разбили фрагменты на дополнительные чанки для скоростной параллельной загрузки из пиров в сети, чтобы решить проблемы медленного заполнения буфера плеера. Еще одно важное наблюдение, которое мы видим, работая много лет с разными клиентами на разном виде стриминга, это то, что dash протокол в целом лучше подходит для р2р стриминга, чем hls на лайве в вебе. Фактическая эффективность более 70% против 50%, и скорость скачивания +50%.
Следите за развитием этой истории на нашем сайте и в блоге, вскоре мы запустил их и на русском языке. Регистрируйтесь в обновленном личном кабинете, чтобы тестировать безлимитный трафик на первых 1000 зрителях.