Skip to content

Публикация WebRTC по WHIP

WHIP позволяет отправить видео и звук из кодировщика в Agora по WebRTC. Ниже используется эфир studio; после публикации его можно смотреть по WHEP.

Подготовьте эфир

  1. В разделе Стримы создайте или откройте эфир studio. На вкладке Источники добавьте вход Publish и сохраните настройки.
  2. На вкладке Лейаут найдите стример, на котором запущен эфир. Для WHIP нужен доступный HTTP(S)-адрес этого стримера.
  3. Задайте разрешённый токен публикации в auth.publish_tokens через central либо разрешите публикацию бэкендом авторизации. Передайте токен отправителю. Права на публикацию и просмотр задаются отдельно.

Проверьте сеть

В настройках стримера WebRTC-порт можно оставить пустым: сервис выберет один свободный UDP-порт. Если сеть ограничивает входящие порты, задайте фиксированный WebRTC-порт, например 5005, и откройте UDP-доступ к нему от кодировщика и зрителей. HTTPS-прокси сам по себе не переносит UDP-медиа.

Для работы за NAT нужен доступный клиенту адрес в ICE-кандидатах. Автовыбор порта не добавляет публичный адрес или TURN. Условия сети описаны в справочнике Sapsan.

Подключите отправителя

В OBS Studio откройте Settings → Stream и задайте:

  • Service: WHIP.
  • Server: https://streamer.example.com/streaming/whip/studio.
  • Bearer Token: выданный токен публикации.

Эти поля описаны в руководстве OBS. Вместо streamer.example.com укажите адрес принимающего стримера. Если HTTPS настроен через прокси, он должен направлять /streaming/whip/ на этот стример.

Выберите H.264 для видео и Opus для аудио, затем начните трансляцию. AV1 также поддерживается, если его поддерживает отправитель и будущие зрители. Используйте один видеопоток; сервер не формирует ABR-лестницу из WHIP simulcast.

Проверьте публикацию

Откройте карточку эфира: вход Publish должен получать данные, а в описании потока должны появиться видеодорожка и, при передаче звука, Opus. Затем подключите WHEP-плеер.

Один эфир принимает одну активную WHIP-публикацию. Для другого отправителя сначала остановите текущую трансляцию. При обрыве соединения отправитель должен подключиться заново; источники переключаются по правилам резервирования.

Если подключение не удалось

Симптом Что проверить
403 Токен и разрешение на публикацию.
404 Имя эфира, его запуск и выбранный стример.
409 Вход Publish сохранён и свободен; другой отправитель уже мог занять его.
400 или 415 Кодеки и SDP отправителя; нужен WHIP с видео H.264/AV1 и аудио Opus.
501 на PATCH Отключите Trickle ICE/ICE restart: сервис принимает полный первоначальный SDP.
HTTP подключился, а медиа нет UDP-доступность и объявленный ICE-адрес стримера.

Справочник

Контракт WHIP и ограничения.