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 для быстрой и удобной организации трансляций без необходимости привлечения специалистов.
Обратный звонок
Наш менеджер перезвонит вам в ближайшее время.