Red5 Pro WebRTC

  1. обзор
  2. Проверьте поддерживаемые разрешения для вашей веб-камеры
  3. WebRTC Internals - диагностика браузера
  4. STUN / TURN / ICE
  5. Как выбрать веб-камеру в WebRTC (Chrome)

Начиная с версии 2

Начиная с версии 2.0.0 Red5 Pro, сервер Red5 Pro включает поддержку WebRTC и интерфейсную интеграцию Red5 Pro HTML5 SDK ,

WebRTC (Веб-связь в реальном времени) поддерживается браузерами Chrome , Firefox и Opera на рабочем столе. Кроме того, браузер Chrome на Android поддерживает WebRTC. В iOS 11 и Mac High Sierra Safari также поддерживает WebRTC (более старые версии MacOS и iOS будут использовать HLS). Поддержка Microsoft Edge была добавлена ​​в Red5 Pro Release 5.4.0. Internet Explorer не поддерживает WebRTC.

Поддерживаются трансляция / подписка WebRTC на WebRTC, WebRTC на HLS, WebRTC на Flash и Flash на WebRTC.

Поддерживается подписка на издателя WebRTC с использованием клиента Red5 Pro для Android или iOS SDK. Кроме того, поддерживается подписка через WebRTC на поток, опубликованный с помощью клиента Red5 Pro для Android или iOS SDK.

Поддерживаемые комбинации WebRTC Broadcaster / Subscriber, в двух словах:

  • WebRTC <==> WebRTC
  • WebRTC <==> Flash
  • WebRTC <==> Red5 Pro iOS SDK
  • WebRTC <==> Red5 Pro Android SDK
  • WebRTC ==> HLS

обзор

WebRTC работает через стандартный порт HTTPS (443). Для запуска сервера Red5 Pro WebRTC вам необходимо иметь действительный сертификат SSL для зарегистрированного URL. Red5 Pro с SSL проведет вас через настройку сертификата на вашем сервере. Кроме того, как и в случае с другими дистрибутивами сервера Red5 Pro, вам необходимо установить Java (минимальная версия 8.0).

Если вы используете сервер без сертификата SSL на локальном компьютере или на сервере:

  1. Вы сможете публиковать / подписываться локально (между браузерами).
  2. Вы сможете подписаться на поток, который публикуется с локального хоста (например: HTTP: // локальный: 5080 / живой / broadcast.jsp ) с устройства в той же сети (указывая на IP-адрес вашего компьютера, а не на localhost). Чтобы подписаться с мобильного устройства, либо через браузер на Android, либо через клиент SDK на iOS или Android, устройство должно быть в той же сети Wifi, что и настольный компьютер.
  3. Вы не сможете публиковать через клиент WebRTC, который не является локальным для данного компьютера.
  4. Обратите внимание, что некоторые браузеры стали более строгими и больше не будут разрешать небезопасную публикацию или подписку WebRTC даже на локальном хосте.

Мы рекомендуем запускать WebRTC в Linux из-за требований к процессору и памяти. Посмотри пожалуйста Установка Red5 Pro на сервере Ubuntu Linux

Если вы хотите запустить Red5 Pro WebRTC на рабочем столе Windows для разработки, вам необходимо установить Microsoft Visual Studio распространяемые если у вас нет Visual Studio на вашем компьютере.

Если вы хотите запустить Red5 Pro WebRTC на рабочем столе MacOS для разработки, вам может потребоваться установить SDL_image , Из окна терминала: brew install sdl_image.

Следующие входящие порты должны быть открыты на вашем сервере / брандмауэре, чтобы функции Red5 Pro могли работать на сервере WebRTC с использованием SSL :

Порт Описание Протокол 22 SSH TCP 5080 по умолчанию веб-доступ Red5 Pro; Websockets для WebRTC TCP 443 модифицированный https доступ Red5 Pro; защищенные веб-сокеты для WebRTC TCP 1935 по умолчанию RedT Pro порт RTMP по умолчанию TCP 8554 порт RTSP по умолчанию TCP 6262 веб-сокеты для HLS TCP 8081 веб-сокеты для WebRTC (более ранние, чем 5.4.0) TCP 8083 безопасные веб-сокеты для WebRTC (более ранние, чем 5.4.0) TCP 40000 -65535 Диапазон портов TURN / STUN / ICE для WebRTC UDP

Большинству размещенных виртуальных машин будет присвоен частный и общедоступный IP-адрес для экземпляра. При согласовании ICE могут возникнуть проблемы, если сервер не знает, что есть что.

Измените red5pro / conf / webrtc-plugin.properties, заменив yourpublic.ip.address.here и local.private.ip.address.here на публичный и частный IP-адреса сервера соответственно.

# Форсирование публичного IP-адреса # force.public.ip = yourpublic.ip.address.here # Форсирование частного IP-адреса # force.local.ip = local.private.ip.address.here # Настройка проверки порта #check. port.availability = верно

Вы можете использовать Red5 Pro HTML5 SDK для разработки вашего браузера. Пример приложения Red5 Pro для потоковой передачи HTML5 содержит простой проект с несколькими примерами, которые можно использовать для тестирования и ссылки на Red5 Pro HTML SDK.

Приложение также включено в качестве веб-приложения с выпуском сервера для тестирования разработчиков. Доступ к нему можно получить по адресу https: // <your_server_ip> / webrtcexamples / (или http: // localhost: 5080 / webrtcexamples /, если сервер работает локально ).

Вы найдете более подробную информацию о Red5 Pro HTML5 SDK здесь ,

Вещатель Red5 Pro (https: //yourserverurl/live/broadcast.jsp) и подписчик (https: //yourserverurl/live/subscribe.jsp) используют HTML5 SDK Red5 Pro, который обеспечивает поддержку проигрывателя запасных частей. Наши примеры запрограммированы со следующим резервным порядком по умолчанию:

  1. WebRTC
  2. Flash (RTMP)
  3. HLS

Вы можете заставить вещатель публиковать с помощью Flash, добавив url broadcaster.jsp с помощью & view = rtmp (например, http: // localhost: 5080 / live / localhost? Host = webrtc.red5.org & view = rtmp). Вы можете сделать то же самое с подписчиком, но вы должны использовать URL-адрес отдельного потока (например: http: // localhost: 5080 / live / viewer.jsp? Host = localhoststream = stream & view = rtmp). Если вы хотите принудительно воспроизвести HLS, вы можете сделать это для подписчика с помощью & view = hls (например, http: // localhost: 5080 / live / viewer.jsp? Host = localhoststream = stream & view = hls).

Проверьте поддерживаемые разрешения для вашей веб-камеры

Вот очень удобная ссылка для проверки того, какие разрешения поддерживает ваша веб-камера: webrtchacks.github.io/WebRTC-Camera-Resolution/

WebRTC Internals - диагностика браузера

Это покажет вам более подробную информацию о вашем соединении WebRTC, и может помочь устранить любые проблемы.

STUN / TURN / ICE

Вот довольно хорошее объяснение STUN, TURN и ICE ,

Как выбрать веб-камеру в WebRTC (Chrome)

Firefox запросит у вас разрешения на доступ к камере / микрофону - тогда вы сможете выбрать предпочитаемую веб-камеру. В Chrome вам нужно будет выбрать, какую камеру использовать, используя значок камеры в адресной строке.

В Chrome вам нужно будет выбрать, какую камеру использовать, используя значок камеры в адресной строке

Например, http: // localhost: 5080 / live / localhost?
Jsp?
Jsp?