Медиа & Связь

Что такое SRT / HLS / WHEP

Что это

Протоколы передачи видео: SRT — для устойчивой доставки потока на сервер по нестабильному каналу, HLS и WHEP — для просмотра зрителями в браузере с низкой задержкой.

Как используем

Строим собственные стрим-серверы — замена решениям, которые рвут трансляцию на плохом канале или пускают смотреть кого попало.

Где это нужно бизнесу

  • Трансляция для своих — презентация, обучение, показ игры — должна быть закрытой, а не доступной всем, кто знает адрес.
  • Поток не должен рваться, когда у стримера нестабильный интернет.
  • Зритель с телефона по LTE и зритель на гигабитной линии должны получать разные потоки, а не один компромиссный.

Какие бывают

  • SRT — доставка потока на сервер по UDP с перезапросом потерянных пакетов. Устойчив на плохом канале.
  • RTMP — старый способ по TCP: на потерях копит задержку, пока соединение не порвётся.
  • HLS — просмотр кусками по 2 секунды: задержка 6–8 секунд, зато устойчиво в мобильной сети и можно отмотать.
  • WHEP — просмотр через WebRTC с задержкой меньше секунды.

Как мы это используем

В «Переговорке» поток с компьютера стримера приходит на сервер по SRT с паролем и ключом шифрования, RTMP оставлен запасным входом на случай, если где-то закрыт UDP. Два качества — 3440×1440 и облегчённое 1720×720 — кодирует видеокарта стримера, сервер только раздаёт. Зритель выбирает обычный режим (HLS) или быстрый (WHEP); смотреть можно и в VLC по RTSP и SRT. Каждый запрос к трансляции проходит проверку доступа в nginx.

Типичные проблемы

  • Голый nginx-rtmp. Прежняя схема без настройки рвала поток и пускала к трансляции любого, кто знал адрес.
  • ПК стримера выключен — потоков нет. Сервер не перекодирует видео; качество целиком зависит от настроек на игровом ПК.
  • Браузеры. Chrome, Edge и Safari играют 1440p, Firefox получает 720p в H.264.
  • Запись. Запись трансляций выключена и включается только вместе с настроенной ротацией.

Когда это не нужно

Для открытой трансляции на широкую аудиторию проще готовые площадки. Своя схема нужна, когда трансляция закрытая и должна работать при ограничениях.

← Все термины

Нужен сайт, бот или автоматизация?

Термины объяснили — теперь давайте к делу: расскажите о задаче, а мы переведём её на понятный план работ.