HLS против RTMP — сухая статистика
Если кто-то решил сделать самостоятельно обработку, хранение и передачу видео для своего онлайн-проекта, а не использовать сайты вроде YouTube, он неизбежно приходит к вопросу о том, какой протокол передачи использовать для трансляции видео на устройства пользователей. Выбор невелик, т.к. есть ряд отраслевых стандартов, которые поддерживают те или иные устройства. Кроме того, выбор протокола во многом зависит от «класса» видео — живая трансляция или видео-по-запросу. От выбора протокола также зависит и выбор медиа-сервера, который будет двигателем вашей медиа-машины: будете ли ставить несколько разнородных серверов или построите сеть доставки на одном решении? Поэтому нужно взвесить всё и принимать решение исходя из критериев вашего бизнеса.В общем, получается уравнение со многими неизвестными. Здесь немаловажна динамика процесса —, а куда вообще идёт индустрия? Вдруг я вложусь в поддержку технологии, а она загнётся через год, ведь такое уже бывало. Или поставлю на модную технологию, а её никто не поддерживает?
Мы решили оценить, как менялась доля разных протоколов с течением времени — посмотреть в динамике весь процесс. Данные взяли за последний год.
Исходные данныеДля начала — кто мы такие, чтобы судить о долях рынка? Мы — разработчики веб-сервиса отчетности для медиа-серверов. На рынке работаем четвертый год и к нам приходят компании с разными инфраструктурами, разным количеством серверов и разными потребностями. Получается неплохой слепок состояния отрасли.
Мы сделали небольшой отчет, где можно выбирать диапазон дат и получать данные с графиком по количеству просмотров видео через разные протоколы.
В отчете даются данные по серверам:
Wowza Streaming Engine во всех версиях, начиная с 2.2 и до последних 4.х; бОльшая часть — 3.х. Nimble Streamer, работающий с HLS, Smooth, HDS и progressive download — это наша разработка. Windows Media Services — их буквально пару десятков, но они есть, и надо их учитывать На момент написания статьи сервис обслуживает порядка 1000 серверов из 60 стран мира.Поехали Отчет за июнь/июль 2014 выглядит примерно так. Из 1.4 миллиарда просмотров больше половины — это HLS. На втором месте — RTMP с четвертью просмотров. RTSP — примерно шестая часть. Остальные находятся в районе статистической погрешности.
Что было год назад за тот же период? Ситуация почти зеркальная. RTMP — почти две трети, RTSP и HLS делят второе и третье места. Правда, и база для измерений была меньше почти в 3 раза — «всего» 500 миллионов просмотров. Серверов в нашем сервисе тоже было поменьше, конечно.
Пройдемся между этими двумя точками.
Итак, июнь — август 2014 года, 3 месяца лета. 800 миллионов просмотров, но доли такие же, август изменений не привнёс.
Сентябрь — ноябрь 2013. Начался новый сезон, HLS начал отъедать долю RTMP. Всего 1.1 миллиарда просмотров, у RTMP примерно половина от общего числа, HLS — четверть.
Декабрь 2013 — февраль 2014. 1.4 миллиарда просмотров, из них на HLS приходится уже больше 40%. RTMP и RTMP делят второе и третье место в четвертью доли. Олимпиада в Сочи дала прирост числа просмотров и одновременно заставила провайдеров вспомнить обо всех клиентах со всеми их экзотическими или старыми девайсами, которые понимают только RTSP — отсюда и скачок этого протокола.
Март — май 2014. 1.9 миллиарда просмотров и HLS уже безоговорочный лидер с более чем половиной рынка. RTMP уверенно держит четверть, остальные заняли те доли, которые мы видели на первой диаграмме.
Как это всё понимать? HLS (HTTP Live Streaming) на сегодня стал стандартом де-факто в мире потоковой передачи видеоданных для потребительских устройств. Изначально сделанный для девайсов одной фруктовой компании, быстро набрал популярность на других устройствах — десктопах, STB, а также Андроидах — начиная с версии 4 они начали понимать этот протокол.
RTMP остается незаменим там, где требуется передача данных близко к реальному масштабу времени. HLS даёт некоторую задержку при соединении, чтобы скачать первый чанк с данными, а в случае с RTMP отображение начинается практически сразу. В целом, это наиболее совершенный протокол передачи медиа в реальном времени, несмотря на все неоднозначности в реализации (каждый новых вендор добавляет свои особенности), более трудоёмкое развёртывание и масштабирование относительно HLS.
RTSP по-прежнему используется как fallback для старых Андроидов.
Отдельно хочется сказать про MPEG-DASH — несмотря на все усилия индустрии, переход на него происходит со скрипом. Конечно, рано или поздно произойдет плавный переход со всех HTTP-based протоколов — HLS, HDS, SmoothStreaming — на него, но пока это лишь планы.
Интересна и доля Progressive download, на котором работает видео на немалом количестве сайтов. Технически очень простой, он позволяет начать раздачу видео-по-запросу практически безо всяких специальных медиа-серверов. Поскольку Вовза по этому протоколу не работает, его долю стало возможным отследить только по мере установки нашего Nimble Streamer на сервера клиентов. Текущие 20М+ просмотров за 2 месяца лета — не предел, и фактическая доля этого протокола совершенно точно выше. Хотя, у него есть и ограничения, которые оставляют ему относительно небольшую нишу.
Если есть вопросы по сбору данных или их интерпретации — задавайте.