В webRT C если я получаю удаленных кандидатов в Ice с srflx, значит ли это, что соединение должно работать? (Изменить: нет, это не все) - PullRequest
1 голос
/ 04 мая 2020

Я пытаюсь внедрить видеозвонки в существующий проект ioni c 3 для одного из наших клиентов. Я использовал google code lab в качестве стандартного кода для отправки предложения и ответа через База данных Firebase в реальном времени. Вы, наверное, слышали (читали) раньше: «мой webRT C не работает во внешней сети», и ответ будет таким:

  1. Используйте свой собственный сервер STUN и не полагайтесь на бесплатные серверы оглушения, такие как Google.
  2. Использование сервера TURN для резервного копирования при неудачных попытках оглушения.
  3. Понимание webRT C перед его внедрением.

Что я хочу спросить следующее:

  1. В моей текущей настройке (с использованием бесплатного сервера Google Stun) тестирования с двумя различными сетями, я вижу удаленных кандидатов с типом srflx, я также вижу тип хост, но так как это разные сети, поэтому он не представляет интереса для меня, и, очевидно, нет ретранслятора, поскольку нет сервера TURN. Я также вижу, что я предоставляю локальным кандидатам srflx, означает ли это, что моей установки должно быть достаточно для установления sh соединения? Я потратил некоторое время, пытаясь выяснить это, и я нашел много информации в этом посте , но я не смог полностью отладить ситуацию.

  2. Предположим, что мы хотели бы реализовать нашу собственную настройку TURN / STUN, наши вызовы будут почти полностью в одной стране, поэтому нам не понадобится несколько серверов. Будет ли кто-нибудь иметь оценку для следующего: 1. Сколько данных в минуту повлечет за собой один видеозвонок (приблизительный)? 2. Нашему клиенту нравятся облачные сервисы Google для его проекта. Сколько будет стоить вращение сервера TURN для этого проекта на облачной платформе Google (опять же, как пример)? Есть ли какие-либо идеи о лучшей настройке (я думал, что Coturn и искал на этой Google Cornurn реализации )?

Спасибо всем.

Редактировать: После еще нескольких копаний я понял, что одна из различных сетей, которые я тестировал, сидела за симметрией c nat, хороший jsfiddle для проверки того, какой тип nat вы нашли в этом сообщение в блоге . В случае симметрии c nat полученный iceCandidate не подходит для соединения, и вам необходимо иметь сервер TURN. Так что я думаю, что позаботится о 1-й части. Будем благодарны за любые дополнительные данные по 2-й части.

1 Ответ

0 голосов
/ 06 мая 2020

ОК, так что после всех этих раскопок, я думаю, я могу согласиться с 3-й записью (и нет, я до сих пор не до конца ее понимаю, даже близко), если это кому-нибудь поможет, я поделюсь своим опытом. Меня привели в проект (ioni c 3), и мне сказали найти и реализовать видеочат. Мы выбрали webRT C. Насколько мне известно, webRT C является единственным распространенным вариантом с открытым исходным кодом. В нашей стране огромное количество пользователей сотовой связи отстает от симметрии c нат, поэтому с ними p2p работать не будет. Я проверил сервис Twilio TURN, и сразу все заработало. Грубые числа для основного вызова c будут составлять около 1,5 Мб в минуту. Спасибо за любого, кто наткнулся на это и попытался выяснить, может ли он помочь.

...