6 способов доступа зрителей в плеер Facecast

Читать

WHIP: трансляции из OBS с задержкой менее 1 секунды.

7 минут чтения · Аннотация

WHIP (WebRTC-HTTP Ingestion Protocol) — первый стандартизированный способ передачи медиапотока на WebRTC‑сервер для трансляций.

В прошлом месяце мы добавили поддержку этого протокола в Facecast, чтобы у вас появилась возможность доставлять контент с задержкой менее 1 секунды прямо из OBS в наш плеер.

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

Изначально, WebRTC проектировался для прямой связи между браузерами: для видеозвонков и конференций, где поток идёт напрямую от участника к участнику, без промежуточного сервера, что позволило достичь задержки менее 1 секунды от захвата изображения до отображения на экране.

Такая короткая задержка сделала этот протокол очень привлекательным для сферы прямых трансляций, где в стандартной цепочке доставки потока каждый этап обработки добавляет задержку, и контент доходит до зрителя лишь через 10–30 секунд после подачи сигнала. А при нестабильной сети плеер увеличивает буфер дополнительно и задержка может вырасти до 40–60 секунд.

Однако применить WebRTC в стриминге оказалось непросто.

Дело в том, что перед стартом потока, энкодер и платформа должны «договориться» — обменяться описанием кодеков, маршрутов, параметров шифрования. В RTMP этот обмен описан в спецификации с самого начала, поэтому любой энкодер работает с любым сервером без дополнительных настроек.

Для “молодого” WebRTC такого стандарта ещё не существовало: каждая платформа решала задачу установки соединения самописными способами: под каждую систему приходилось писать отдельную интеграцию, и изобретать её заново при смене платформы.

Фрагментация подключения до WHIP

В марте 2025 года вышел RFC 9725 (RFC — официальный технический стандарт интернета) — документ, который наконец описал единый стандарт подключения энкодеров к WebRTC-серверу. Назвали его WHIP (WebRTC-HTTP Ingestion Protocol).

После этого осталось лишь дождаться, когда популярные энкодеры добавят нативную поддержку протокола. И в октябре 2023 в OBS 30.0 добавили поддержку WHIP «из коробки», без плагинов и патчей.

Далее расскажем о том, как устроен этот протокол, где его уже можно применять, где нельзя, а где не нужно.

Что такое WHIP

WHIP (WebRTC-HTTP Ingestion Protocol) — протокол передачи медиапотока от энкодера на WebRTC-сервер. Проще говоря, это мост между энкодером и медиасервером: принял поток на входе, передал дальше — и на этом его задача заканчивается.

Подключение строится на HTTP-обмене: энкодер сообщает серверу, что готов передавать поток,  а также какие кодеки и параметры потока использует. Сервер отвечает, на каких условиях готов принять. После этого стороны согласовывают маршрут соединения, обмениваются ключами шифрования — и поток стартует. Весь медиатрафик передаётся зашифрованным по умолчанию, в отличие от RTMP, где шифрование настраивается отдельно.

Схема работы WHIPДальнейший маршрут зависит от задачи. Поток можно направить на SFU — это сервер, который раздаёт его зрителям напрямую по WebRTC с задержкой менее секунды: идеально для интерактивных эфиров, где важна мгновенная реакция аудитории. Или через транскодер упаковать в HLS и раздать через CDN — задержка выше, зато поток масштабируется до практически любого количества зрителей и лучше переживает кратковременные проблемы с сетью за счёт буфера на стороне плеера. Оба сценария совместимы: один поток на входе, два контура раздачи на выходе.

Его парный протокол — WHEP (WebRTC-HTTP Egress Protocol) — закрывает обратную сторону: доставку потока от медиасервера до плеера зрителя. WHIP принимает поток от стримера, WHEP отдаёт его аудитории — вместе они покрывают весь путь потока от начала до конца.

Главный выигрыш от использования — эксплуатационный, а не технический. Протокол не делает WebRTC значительно быстрее, чем хорошо написанная кастомная интеграция. Он убирает необходимость эту интеграцию писать каждый раз заново.

Что даёт WHIP на практике

  • WHIP стандартизирует подключение. Любой совместимый энкодер работает с любым совместимым сервером по единому принципу — без изучения кастомного API каждой платформы.
  • Шифрование всегда включено. В отличие от RTMP, где защищённая передача настраивается отдельно, WHIP шифрует поток по умолчанию — это часть стандарта, а не опция.
  • Нативная поддержка современных кодеков. Энкодер передаёт H.265 или AV1, сервер их принимает — промежуточное перекодирование на входе не требуется. Это сокращает задержку и снижает нагрузку на сервер.
  • Симулкаст — несколько качеств в одном потоке. WebRTC позволяет одновременно передавать несколько версий потока с разным разрешением. Сервер выбирает нужное качество для каждого зрителя в зависимости от канала — без транскодирования на лету. При RTMP поток транскодируется уже на сервере после приёма: это дополнительная обработка, которая увеличивает задержку. OBS 32.1 добавил поддержку симулкаста в связке с WHIP (март 2026).
  • Снижение задержки за счёт упрощения цепочки. В схеме RTMP → WebRTC задержка между камерой и экраном зрителя была около полсекунды: часть времени уходила на приём потока по RTMP, буферизацию и перекладку его в WebRTC-формат на сервере. При переходе на WHIP и прямой WebRTC-приём с OBS эта обработка на входе больше не нужна, и общая задержка в тестах уменьшалась примерно до 200 мс.

Где WHIP уже интегрирован

Инструмент Тип WHIP Версия / примечание
Facecast Платформа ✅ приём потока по WHIP
YouTube Платформа ❌ приём внешнего потока через RTMP; нет поддержки WHIP
Vimeo Платформа ❌ приём внешнего потока через RTMP; нет поддержки WHIP
Twitch Платформа ✅ приём потока по WHIP
Restream Платформа ✅ приём потока по WHIP
OBS Studio Софт для трансляций ✅ 30.0+; отправка потока по WHIP
Streamlabs Софт для трансляций ✅ добавлено в 2024; отправка потока по WHIP
vMix Софт для трансляций ❌ нет нативной поддержки WHIP
Wirecast Софт для трансляций ❌ нет нативной поддержки WHIP
XSplit Broadcaster Софт для трансляций ❌ нет нативной поддержки WHIP
FFmpeg Софт для трансляций ✅ -f whip; отправка потока по WHIP
Teradek Prism Оборудование ✅ нативная поддержка; отправка потока по WHIP
Osprey Talon Оборудование ✅ нативная поддержка; отправка потока по WHIP
Ant Media Server Медиасервер ✅ приём потока по WHIP; выдача зрителям через WebRTC/HLS
SRS / Oryx Медиасервер ✅ приём потока по WHIP; выдача через WebRTC
MediaMTX Медиасервер ✅ приём по WHIP, выдача по WHEP/WebRTC
Nimble Streamer Медиасервер ✅ приём по WHIP, выдача по WHEP/WebRTC

WHIP в Facecast

За последний год, к нам пришло много запросов на добавление протокола, и в прошлом месяце Facecast получил поддержку WHIP. Мы уже успели провести ряд успешных трансляций с задержкой около 1 секунды, а также добавили возможность симулкаста — когда OBS одновременно отправляет несколько версий потока в разном качестве, а сервер сам выдаёт каждому зрителю подходящую без транскодирования на лету.

Раздача через WebRTC-плеер поддерживает участие 10 000 одновременных зрителей и более. Зависит от ваших задач.

Пока функционал доступен по запросу — напишите нам.

Важный нюанс: симулкаст увеличивает нагрузку на исходящий канал. Вместо одного потока, скажем 1080p в 6 Мбит/с, OBS отправляет сразу несколько версий — например 1080p, 720p и 360p, и суммарный битрейт может вырасти до 8–10 Мбит/с в зависимости от настроек.

Как подать поток по WHIP из OBS:

  1. Откройте OBS → Настройки → Трансляция
  2. В поле Служба выберите WHIP
  3. Вставьте полученную от нас WHIP-ссылку в поле Сервер
  4. В поле «Токен предъявителя» можно вставить токен авторизации — это ключ доступа, который подтверждает, что именно вы имеете право вещать на этот эндпоинт; в случае с Facecast этот токен не требуется, оставьте поле пустым
  5. Перейдите в Настройки → Вывод и убедитесь, что видеокодек — H.264; аудио (Opus) согласуется автоматически
  6. Запустите трансляцию

Схема работы WHIP

WHIP: когда использовать и когда не нужен

НУЖЕН

Минимальная задержка — критична

Спортивные трансляции, киберспортивные турниры, букмекерские услуги, онлайн-аукционы и торги — форматы, где задержка больше 1–2 секунд делает взаимодействие невозможным. При задержке 15–20 секунд зритель видит результат с отставанием от реального времени — это критично для ставок и торгов. WHIP держит задержку на уровне 200–500 мс.

НУЖЕН

Интерактивная трансляция с живым Q&A и голосованиями

Вебинары, корпоративные мероприятия, онлайн-образование — форматы, где ведущий отвечает на вопросы, а результаты голосования меняются прямо в эфире. При задержке 10–20 секунд взаимодействие асинхронно, а WHIP синхронизирует реакцию зрителя и ответ ведущего.

НУЖЕН

Вебинарная платформа не подходит

Вебинарные платформы устроены так, что зритель всегда попадает на страницу сервиса, а не на ваш сайт, и вы почти не управляете оформлением и встройкой эфира на другие ресурсы. WHIP даёт такую же низкую задержку, но эфир идёт на вашу страницу — с вашим плеером, вашей аудиторией, вашим чатом и интерактивами.

НЕ НУЖЕН

Короткая задержка не критична

RTMP справится лучше: проще в настройке, давно отлажен, поддерживается везде. Для записи конференции, подкаста или трансляции без интерактива в реальном времени — везде, где задержка 10–20 секунд не критична — WHIP только усложнит схему. В связке с HLS такой эфир устойчивее к кратковременным сбоям сети: плеер использует буфер и восстанавливает воспроизведение без заметной потери кадров.

Вывод

Благодаря короткой задержке, WebRTC уже давно пытаются полноценно внедрить в современную стриминговую архитектуру, но без стандартного способа принимать поток от профессионального оборудования это было технически сложно и трудоёмко.

По мере того как WHIP набирает поддержку в инструментах и платформах, WebRTC способен превратиться в полноценный стандарт рынка — наряду с HLS и RTMP.

Facecast уже поддерживает приём потока через WHIP — это можно протестировать прямо сейчас. Свяжитесь с нами — подробно расскажем как это работает.

Вы хотите
зарегистрироваться как:
Сбросить пароль
Вход
Регистрация
❔
Для экстренной связи во время трансляций
Оставить заявку
Мы разработали Evacoder для быстрой и удобной организации трансляций без необходимости привлечения специалистов.
Обратный звонок
Наш менеджер перезвонит вам в ближайшее время.