Наш клиент планирует стримить видео празднования Нового года на всех своих пользователей. Транслировать контент предстоит на сотни тысяч человек с минимальными задержками — так, чтобы зрители встретили 2022 год не позже соседей. Мы сравнили решения для быстрой доставки видео и делимся результатами: рассказываем, как организовать дешёвый стриминг медиаданных на большую аудиторию.
В прошлом году при трансляции Суперкубка представители видеоплатформ ожидали задержек вплоть до минуты. Это плохо сказывается на пользовательском опыте: крики более удачливых соседей и другие спойлеры портят игру болельщикам. Мы придумали, как решить ту же проблему в новогодние праздники. Для нашего клиента мы подобрали протокол для дешёвой realtime-трансляции видео на большую аудиторию. Это позволит зрителям встретить 2022 год в реальном времени — не позже, чем их соседи.
Выбираем протокол: WebRTC, HLS, MPEG-DASH
Для стриминга видео есть три ключевых протокола: HLS, MPEG-DASH и WebRTC. Наша инфраструктура поддерживает все эти технологии, но есть вопрос: какой протокол лучше подходит для дешёвого и быстрого стриминга видео на сотни тысяч или миллионы пользователей?
Быстро: WebRTC
С помощью RTMP видео до конечного зрителя не доставляется уже много лет, так что мы сразу перешли к WebRTC. Большой плюс: видео по этому протоколу передаётся быстро, хоть и без сохранения высокого качества. Однако, технология не подошла по другим причинам: для масштабирования она требует установки серверов по всему миру, а так как клиенту нужно транслировать видео на большую аудиторию, это приведёт к дополнительным тратам. Мы рассмотрели другие варианты.
Дёшево: HLS и MPEG-DASH
Чтобы клиент уложился в бюджет, мы обдумали ещё два решения: HLS и MPEG-DASH. Эти технологии отлично подходят для недорогого стриминга на сотни тысяч и даже миллионы пользователей. Но у клиента было важное требование: задержки должны быть минимальными. Скорость передачи данных с помощью этих технологий оказалась недостаточной, чтобы проводить интерактивное мероприятие и стримить праздник в режиме реального времени.
Дёшево и быстро: ?
Нам нужно было как-то объединить возможности первых двух вариантов — сделать всё и дёшево, и быстро. Для этого потребовалось новое решение.
Что такое HESP и чем он отличается от других протоколов
HESP — новый протокол для стриминга с низкими задержками. Как заявляют создатели, он легко масштабируется и позволяет недорого транслировать медиаконтент хоть на миллионную аудиторию. Мы разобрались, правда ли это и сравнили его с другими технологиями.
1. Передача данных в два потока
В отличие от других протоколов, стриминг с помощью HESP происходит в два потока:
Поток инициализации может запрашивать изображения в любой момент для начала воспроизведения.
«Поток продолжения» может продолжить воспроизведение после любого изображения потока инициализации.
Это позволяет быстро и беспрерывно транслировать и воспроизводить видео в плеере пользователя. Пока один поток запрашивает изображения для начала воспроизведения, второй позволяет продолжать воспроизведение. Посмотрим, как это работает.
1. Сначала включается поток инициализации.
2. Затем в работу включается поток продолжения.
3. Это обеспечивает беспрерывное воспроизведение видео.
4. Потоки дополняют друг друга и работают один за другим.
2. HESP основан на HTTP и передаётся через CDN
HESP поддерживает передачу данных по протоколам HTTP/1.1 и HTTP/2. Это значит, что стримить видео с его помощью можно дёшево — по CDN. Это также относится и к HLS с MPEG-DASH, но с HESP задержки оказываются меньше: до 2 секунд даже при трансляции на миллионную аудиторию.
Что касается WebRTC, он не подходит для трансляций через CDN, поэтому стриминг на большую аудиторию с его помощью оказывается в 2–5 раз дороже, чем по HESP.
3. Низкие требования к полосе пропускания
Новому протоколу нужно на 10–20% меньше полосы пропускания, чем другим решениям с низкими задержками: LL-HLS, Chunked CMAF, WebRTC.
4. Поддержка адаптивного битрейта (ABR)
HESP совместим с технологией адаптивного битрейта. Это значит, что стримы доступны без буферизации на любых устройствах и при любом качестве интернета у пользователей.
… и другие отличия
Все отличия HESP от других технологий мы собрали в простую сравнительную таблицу:
В результате этих отличий новый протокол получил реальные преимущества перед другими технологиями:
Позволяет доставлять видео с задержками 0,4–2 секунды.
Требует меньшую полосу пропускания для передачи стрима.
Может передаваться через CDN миллионам зрителей на любые устройства, в любую точку мира и с сохранением качества хоть 8К.
Гарантирует минимальную стоимость трансляции в сравнении с WebRTC.
Где выгодно применять HESP
Трансляцией Нового года или спортивных событий всё не ограничивается: сократить задержки и бюджеты на стриминг важно многим. Вот пара возможных областей применения HESP:
Киберспорт и гейминг. Аудитории здесь большие, а высокие задержки в трансляциях быстро уводят пользователей к конкурентам. HESP помогает удерживать аудиторию и не тратить лишнее на стриминг.
Онлайн-образование и телемедицина. В MedTech и e-learning для трансляций с учениками и пациентами часто используют дорогие внешние решения. HESP позволяет отказаться от них и самостоятельно организовать стриминг с минимальными задержками.
Аукционы и онлайн-казино. В этих сферах видео нужно транслировать быстро и в высоком качестве. HESP даёт эту возможность.
Спорт и медиа. С новым протоколом трансляция спортивных и других мероприятий максимально приближается к реальному времени. При этом видео через интернет передаётся даже быстрее, чем по ТВ.
OTT и ТВ-вещание. HESP позволяет объединить IPTV- и OTT-решения для создания трансляций высшего качества. С его помощью издатели могут дёшево транслировать контент на самую крупную аудиторию.
Этот список можно продолжать долго: дешёвые и быстрые решения любят все. Нужно только разобраться с интеграцией протокола в процесс создания и доставки видео до пользователей.
Как перейти на HESP
Чтобы подключить новый протокол, мы вступили в HESP Alliance. Теперь наша инфраструктура поддерживает стриминг с низкими задержками с помощью этой технологии. Для перехода на неё клиентам достаточно подключиться к нашей сети доставки контента с поддержкой HESP. Эта инфраструктура включает больше 140 точек присутствия в 100 городах и гарантирует высокую производительность: в апреле 2021 мы одними из первых в мире начали интеграцию Intel Xeon Scalable 3-го поколения (Ice Lake) в серверную инфраструктуру своих сервисов.
Помимо CDN для подключения HESP достаточно внедрить ещё два элемента: HESP-упаковщик для кодирования видео перед передачей (есть у партнёров HESP Alliance) и плеер с поддержкой протокола — например, THEOplayer.