WebRTC-as-RTMP-re-publishing

 

Трансляция WebRTC видеопотока
с конвертацией в RTMP

Web Call Server конвертирует WebRTC аудио видео поток в RTMP и отправляет на указанный RTMP-сервер. Таким образом может быть создана трансляция с веб-страницы на Facebook, Youtube Live, и другие сервисы и серверы, транслирующие живое видео.

 

 

Технические характеристики

 

Платформы трансляции

  • Chrome
  • Firefox
  • Opera
  • Safari, Mac OS
  • IE
  • Edge
  • iOS SDK
  • Android SDK

Ретранслирующие сервисы

  • Youtube Live
  • Facebook Live
  • Adobe Media Server
  • Wowza Media Server
  • Web Call Server
Технологии

  • WebRTC
  • RTMP
Кодеки

  • H.264
  • VP8
  • Opus
  • AAC

 

Диаграмма WebRTC трансляции
с републикацией в RTMP

Браузер с поддержкой WebRTC захватывает видео с камеры и аудио с микрофона и отправляет на WCS-сервер по стеку протоколов технологии WebRTC (ICE, DTLS, SRTP), для отправки используются H.264 видеокодек и Opus аудиокодек. Если отправка происходит с мобильного устройства, может использоваться VP8 видеокодек вместо H.264.

Полученный WebRTC-поток конвертируется в RTMP с кодеками H.264 и AAC и отправляется по заданному адресу сервера или сервиса, поддерживающего RTMP-трансляции.

webrtc-re-publicatipn-to-youtube-facebook

 

Пошаговая схема трансляции WebRTC с републикацией в RTMP

  1. WebRTC браузер устанавливает соединение с WCS-сервером по протоколу Websockets и передает команду stream.publish(), которая инициирует публикацию WebRTC потока.
  2. WCS устанавливает RTMP соединение с сервером или сервисом трансляций, например Facebook Live.
  3. Браузер начинает отправлять аудио и видео трафик H.264 + Opus.
  4. WCS конвертирует полученный H.264 видеопоток в RTMP и транскодирует полученное аудио в AAC для совместимости с большинством RTMP-сервисов. Далее RTMP поток отправляется к месту назначения.

 

Step-by-step-flowchart-of-WebRTC-broadcasting

 

Пример републикации WebRTC видеопотока как RTMP из браузера Google Chrome

В данном примере WebRTC видео захватывается с веб-камеры (слева), отправляется на RTMP адрес (справа) и далее воспроизводится в простом RTMP плеере на этой же странице.

webrtc-rtmp-republish-example

Обратите внимание, что в примере RTMP-видео идет не на сторонний сервер, а на localhost. Это позволяет наиболее быстро протестировать пример и убедиться что RTMP републикация работает корректно.

Более подробное описание теста доступно в разделе Тестирование.

 

Статьи по теме

Задержка в онлайн-трансляциях с веб-камеры, бессердечная ты стерва

Транслируем видеопоток с веб-страницы на Facebook и YouTube одновременно

Развертывание многопользовательской WebRTC трансляции с web-камеры через сервер за 3 минуты

 

Возможности продукта

Видеотрансляции с веб-камеры браузера или мобильного устройства