Skip to content

Просмотр WebRTC по WHEP

WHEP передаёт эфир из Agora в WebRTC-плеер с минимальной задержкой. Эта инструкция использует эфир studio, уже получающий сигнал, например из WHIP-отправителя.

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

Проверьте, что эфир запущен, а видеодорожка использует H.264 или AV1. Для звука нужен Opus; если источник передаёт AAC или другой аудиокодек, настройте преобразование в Opus заранее. WebRTC сам кодеки не преобразует. Совместимость видео проверьте также у зрительского плеера.

Разрешите просмотр

В разделе Auth & DRM настройте доступ к просмотру. Для закрытого эфира получите разрешённый токен или билет просмотра. Токен, выданный кодировщику для публикации, не заменяет это разрешение.

Составьте адрес WHEP

На вкладке Лейаут карточки эфира найдите стример, который выдаёт этот эфир. Используйте его HTTP(S)-адрес и имя эфира:

https://streamer.example.com/streaming/whep/studio?token=PLAY_TOKEN

Это прямой WHEP-адрес стримера, а не адрес консоли central. Замените домен и токен своими значениями. Вместо query-параметра token плеер может передавать Authorization: Bearer PLAY_TOKEN.

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

  1. Откройте WHEP-совместимый плеер и укажите этот URL. Плеер должен поддерживать полный первоначальный SDP с ICE-кандидатами, без обязательного Trickle ICE.
  2. Запустите просмотр. Плеер отправит SDP offer методом POST и получит 201 Created с ответом SDP и адресом сессии в Location.
  3. Проверьте изображение и звук. В разделе Сессии появится просмотр WHEP с учётом переданных байтов.

Вставка WHEP-адреса в адресную строку браузера не запускает видео: GET отвечает 204 No Content. Для браузерной интеграции нужен WebRTC-плеер; обычный <video src="…"> не выполняет WHEP-согласование. Используйте HTTPS и обеспечьте UDP-доступ к медиапорту стримера.

Если браузерная страница и WHIP/WHEP-адрес находятся на разных origin, добавьте на HTTPS-прокси заголовок ответа Access-Control-Expose-Headers: Location: клиенту нужен доступ к адресу созданной сессии. При размещении страницы и API на одном origin это не требуется.

Завершите просмотр

Остановите воспроизведение в плеере. При интеграции своего клиента сохраните адрес Location из ответа POST и отправьте на него DELETE; успешный ответ — 204 No Content. После разрыва ICE сервер также удаляет сессию по таймауту.

Изменение списка WebRTC-портов требует нового подключения плеера. Сохранение неизменных настроек сохраняет текущий порт. Для просмотра архива используйте соответствующий протокол выдачи архива, а не этот WHEP-адрес.

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

Симптом Что проверить
403 Право на просмотр; контент с включённым DRM по WHEP не выдаётся.
404 Имя эфира, выбранный стример и наличие готовых дорожек.
415 Наличие H.264/AV1-видео и правильный Content-Type запроса.
503 Готовность UDP-слушателя; повторите подключение после устранения причины.
Сессия создана, но изображения нет Доступность объявленного ICE-адреса и UDP-порта, совместимость кодека плеера.

Справочник

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