Онлайн аудио / видео конференц-система с webrtc

Я внедряю новую версию существующего видеочата и сейчас проверяю, готов ли webrtc к использованию этой системы видео / аудиоконференций с низкой задержкой 1:1 и партийных чатов с большей распределенной базой пользователей. Думаю разобрался

  • webrtc поддерживается в Chrome, Firefox и Opera (IE и Safari не поддерживают и молчат)
  • Webrtc поддерживает родные приложения для iOS (но не Safari) и нативные приложения для Android и Chrome на Android
  • Flash / Flex не поддерживает webrtc
  • разработчик должен позаботиться о передаче сигналов (создании сеанса) через сервер с помощью механизма выбора (например, https, websockets)
  • разработчик должен позаботиться о проблемах брандмауэра /NAT с сервером TURN/STUN (например, rfc5766-turn-server)
  • если пользовательская база становится больше, разработчик должен позаботиться о проблемах масштабирования для сервера TURN/STUN, а также для механизма сигнализации
  • Webrtc, кажется, поставляет P2P соединение из коробки. Для больших групповых чатов, например, с 10 участниками, это не сервер с открытым исходным кодом, который мог бы поддерживать масштабируемую серверную звездную инфраструктуру
  • Существуют коммерческие сервисы, такие как http://tokbox.com/platform или http://www.weemo.com/, предлагающие преодоление перечисленных ограничений.
  • webrtc, похоже, все еще находится в стадии разработки и недостаточно распределяется / используется. Поэтому я пришел к выводу, что в этом году webrtc не готов к более широкому применению.

Из этого у меня есть несколько вопросов:

  • Мои выводы более или менее верны?
  • Кто-нибудь получил знания с помощью приложения для конференций webRTC, которое является открытым / бесплатным (не корпоративным) и более крупным (несколько десятков тысяч), и имеет глобально распределенную пользовательскую базу и может поделиться некоторыми основными моментами своего опыта?

3 ответа

  • Firefox на Android также поддерживается.
  • если разработчик может предоставить сервер TURN, браузеры будут использовать его для обработки симметричного NAT. Есть публичные серверы STUN
  • сервер TURN стоит дорого, а не сервер STUN.
  • соединение между пользователями выбирает случайные порты (UDP или TCP), это может быть проблематично с некоторыми брандмауэрами Entreprise
  • Если вы хотите создать более крупную систему (как в случае множества пользователей и небольших конференций), вы можете посмотреть на опыт, накопленный крупномасштабной системой обмена сообщениями, например, основанной на XMPP.

Просто что-то добавить, есть сервер с открытым исходным кодом, который называется licode. Это обеспечивает возможность звезды.

Есть довольно много компаний, которые сейчас используют эту технологию. Вы можете посмотреть некоторые из последних видео для WEBRTC Conference 2013.

Я согласен с вашим списком. Некоторые дополнительные детали

  • Microsoft, вероятно, будет поддерживать WebRTC 1.1, но, похоже, они не будут поддерживать WebRTC 1.0 (версия, используемая в настоящее время в Chrome и Firefox)

  • Apple работает над реализацией WebRTC на каком-то уровне. Точные детали не были обнародованы.

  • Похоже, что не существует полностью сформулированного продукта (с открытым исходным кодом или без него) с реальной видеоконференцсвязью WebRTC без какого-либо дополнительного программного обеспечения, кроме браузера с поддержкой WebRTC 1.0.

Согласно документации, Medooze может быть наиболее близким:

Если вам нужен ваш собственный сервер TURN, есть https://github.com/jitsi/turnserver. Если ваши участники конференции имеют достаточную пропускную способность сети, вы можете использовать https://github.com/jitsi/jitsi-videobridge (дополнительную информацию можно найти на https://jitsi.org/Projects/JitsiVideobridge). Jitsi не поддерживает уменьшение видеопотоков, поэтому каждый участник должен иметь возможность получать все видеопотоки в параллельном режиме, используя исходный видеопоток каждого другого участника.

Другие вопросы по тегам