Последовательность предложения / ответа в топологии сетки WebRTC P2P

Я использую сервер веб-сокетов (узел JS), чтобы действовать в качестве сервера сигнализации. Я хочу создать ячеистую сеть P2P - все связаны друг с другом.

Каков будет порядок операций / событий, когда:

  1. 1-й пэр присоединяется
  2. Последующие коллеги присоединяются

Все ли подключающиеся одноранговые узлы отправляют предложение на сервер сигнализации, которое затем отправляется всем другим подключенным одноранговым узлам? Я не уверен, что это правильный подход.

2 ответа

Если то, что вы пытаетесь сделать, это создать ячеистую сеть, в которой аудио и видео будут постоянно передаваться всем через ячеистую сеть, то я бы посоветовал пересмотреть это решение. Добиться того, чтобы более 3 или 4 пользователей работали хорошо, трудно или невозможно достичь. Смотрите здесь для объяснения того, что происходит в сети для различных сетевых топологий: http://testrtc.com/different-multiparty-video-conferencing/

Если вы пытаетесь сделать это, чтобы подключить данные (не голосовые или видео), то вы можете сделать это, но опять же, количество одноранговых соединений, которые вы можете установить в одном браузере, ограничено, и каждое добавляемое вами добавляет некоторые издержки. Сегодня я не буду пытаться получить это больше 40 или 50 максимум.

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

Для группового сценария я бы использовал модель SFU - посмотрите возможные альтернативы в Jitsi ( https://jitsi.org/Projects/JitsiVideobridge) и Kurento ( http://www.kurento.org/).

WebRTC соединяет клиента с клиентом. Если ваш клиент соединяется хотя бы с одним другим - у другого может быть список других, так как у других также есть список как можно большего числа других, которые они могут знать. Тогда это распространяется быстро. Топология в списке зависит от вас. Сигнализация не нужна, потому что информация для связи с другими находится в списке.

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