Публикация WebRTC по WHIP¶
WHIP позволяет отправить видео и звук из кодировщика в Agora по WebRTC. Ниже используется эфир studio; после публикации его можно смотреть по WHEP.
Подготовьте эфир¶
- В разделе Стримы создайте или откройте эфир
studio. На вкладке Источники добавьте вход Publish и сохраните настройки. - На вкладке Лейаут найдите стример, на котором запущен эфир. Для WHIP нужен доступный HTTP(S)-адрес этого стримера.
- Задайте разрешённый токен публикации в
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-адрес стримера. |