Наш клиент планирует стримить видео празднования Нового года на всех своих пользователей. Транслировать контент предстоит на сотни тысяч человек с минимальными задержками — так, чтобы зрители встретили 2022 год не позже соседей. Мы сравнили решения для быстрой доставки видео и делимся результатами: рассказываем, как организовать дешёвый стриминг медиаданных на большую аудиторию.
![](https://habrastorage.org/getpro/habr/upload_files/62f/85a/03c/62f85a03c160ac4369b94b06f1d93ebb.png)
В прошлом году при трансляции Суперкубка представители видеоплатформ ожидали задержек вплоть до минуты. Это плохо сказывается на пользовательском опыте: крики более удачливых соседей и другие спойлеры портят игру болельщикам. Мы придумали, как решить ту же проблему в новогодние праздники. Для нашего клиента мы подобрали протокол для дешёвой realtime-трансляции видео на большую аудиторию. Это позволит зрителям встретить 2022 год в реальном времени — не позже, чем их соседи.
Выбираем протокол: WebRTC, HLS, MPEG-DASH
Для стриминга видео есть три ключевых протокола: HLS, MPEG-DASH и WebRTC. Наша инфраструктура поддерживает все эти технологии, но есть вопрос: какой протокол лучше подходит для дешёвого и быстрого стриминга видео на сотни тысяч или миллионы пользователей?
Быстро: WebRTC
С помощью RTMP видео до конечного зрителя не доставляется уже много лет, так что мы сразу перешли к WebRTC. Большой плюс: видео по этому протоколу передаётся быстро, хоть и без сохранения высокого качества. Однако, технология не подошла по другим причинам: для масштабирования она требует установки серверов по всему миру, а так как клиенту нужно транслировать видео на большую аудиторию, это приведёт к дополнительным тратам. Мы рассмотрели другие варианты.
Дёшево: HLS и MPEG-DASH
Чтобы клиент уложился в бюджет, мы обдумали ещё два решения: HLS и MPEG-DASH. Эти технологии отлично подходят для недорогого стриминга на сотни тысяч и даже миллионы пользователей. Но у клиента было важное требование: задержки должны быть минимальными. Скорость передачи данных с помощью этих технологий оказалась недостаточной, чтобы проводить интерактивное мероприятие и стримить праздник в режиме реального времени.
Дёшево и быстро: ?
Нам нужно было как-то объединить возможности первых двух вариантов — сделать всё и дёшево, и быстро. Для этого потребовалось новое решение.
Что такое HESP и чем он отличается от других протоколов
HESP — новый протокол для стриминга с низкими задержками. Как заявляют создатели, он легко масштабируется и позволяет недорого транслировать медиаконтент хоть на миллионную аудиторию. Мы разобрались, правда ли это и сравнили его с другими технологиями.
1. Передача данных в два потока
В отличие от других протоколов, стриминг с помощью HESP происходит в два потока:
Поток инициализации может запрашивать изображения в любой момент для начала воспроизведения.
«Поток продолжения» может продолжить воспроизведение после любого изображения потока инициализации.
Это позволяет быстро и беспрерывно транслировать и воспроизводить видео в плеере пользователя. Пока один поток запрашивает изображения для начала воспроизведения, второй позволяет продолжать воспроизведение. Посмотрим, как это работает.
1. Сначала включается поток инициализации.
![](https://habrastorage.org/getpro/habr/upload_files/d2e/f25/c10/d2ef25c10d02312071e1ae7683a40d0b.jpg)
2. Затем в работу включается поток продолжения.
![](https://habrastorage.org/getpro/habr/upload_files/abd/69a/9a5/abd69a9a57e0000c0a48b14acb0229a6.jpg)
3. Это обеспечивает беспрерывное воспроизведение видео.
![](https://habrastorage.org/getpro/habr/upload_files/0c1/abd/792/0c1abd79278303cd03bf40c171c9f300.jpg)
4. Потоки дополняют друг друга и работают один за другим.
![](https://habrastorage.org/getpro/habr/upload_files/ec0/8e3/365/ec08e33655636f5a806995be0c69e145.jpg)
2. HESP основан на HTTP и передаётся через CDN
HESP поддерживает передачу данных по протоколам HTTP/1.1 и HTTP/2. Это значит, что стримить видео с его помощью можно дёшево — по CDN. Это также относится и к HLS с MPEG-DASH, но с HESP задержки оказываются меньше: до 2 секунд даже при трансляции на миллионную аудиторию.
![Скорость HESP и других технологий Скорость HESP и других технологий](https://habrastorage.org/getpro/habr/upload_files/c7e/7ed/af2/c7e7edaf2d21f9db4d4df92256b044ec.png)
Что касается WebRTC, он не подходит для трансляций через CDN, поэтому стриминг на большую аудиторию с его помощью оказывается в 2–5 раз дороже, чем по HESP.
3. Низкие требования к полосе пропускания
Новому протоколу нужно на 10–20% меньше полосы пропускания, чем другим решениям с низкими задержками: LL-HLS, Chunked CMAF, WebRTC.
4. Поддержка адаптивного битрейта (ABR)
HESP совместим с технологией адаптивного битрейта. Это значит, что стримы доступны без буферизации на любых устройствах и при любом качестве интернета у пользователей.
… и другие отличия
Все отличия HESP от других технологий мы собрали в простую сравнительную таблицу:
![](https://habrastorage.org/getpro/habr/upload_files/9ca/b6b/af8/9cab6baf86c0c6ef6fc01a7f7727259d.png)
В результате этих отличий новый протокол получил реальные преимущества перед другими технологиями:
Позволяет доставлять видео с задержками 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) в серверную инфраструктуру своих сервисов.
![Процесс создания и доставки видео с использованием HESP Процесс создания и доставки видео с использованием HESP](https://habrastorage.org/getpro/habr/upload_files/3f6/658/b26/3f6658b26ff1d02d80abc3e36870755f.png)
Помимо CDN для подключения HESP достаточно внедрить ещё два элемента: HESP-упаковщик для кодирования видео перед передачей (есть у партнёров HESP Alliance) и плеер с поддержкой протокола — например, THEOplayer.