как заставить передавать пользовательский медиапоток через coturn

Если мой медиасервер kurento (S1) настроен на общедоступном сервере, и пользователь A может подключиться к S1, но это будет медленно! Я хочу купить один хост (H1), чтобы пользователь A быстро подключался к H1! Сервер H1 подключается к S1 быстро! Поэтому я думаю установить coturn на H1 в качестве медиа-реле. Могу ли я установить coturn на H1 и принудительно передавать медиа-поток пользователя A через coturn H1?


person johnny_wang    schedule 21.03.2016    source источник
comment
Возможный дубликат WebRTC: заставить одноранговые узлы использовать сервер TURN   -  person mido    schedule 21.03.2016
comment
используйте пользовательский onicecandidate и игнорируйте noncoturn ice кандидаты ...   -  person mido    schedule 21.03.2016


Ответы (1)


Задайте iceTransportPolicy: "relay" в конфигурации однорангового соединения, чтобы принудительно выполнить TURN:

var pc = new RTCPeerConnection({
  iceTransportPolicy: "relay",
  iceServers: [{ urls: "turn:12.254.1.52", username:"you", credential:"pwd" }]
});
person jib    schedule 21.03.2016
comment
Спасибо за ваш ответ, но, возможно, из-за того, что одноранговое соединение не находится за NAT. Кажется, что трафик медиа-потока не работает, я получаю комментарий RTCIceTransportPolicy Enum Как указано в [JSEP] (раздел 4.1.1.), Если RTCIceTransportPolicy Указанный, он заставляет браузер отображать только разрешенных кандидатов в приложение и использовать только этих кандидатов для проверок подключения. \ n Используется только для проверки подключения? - person johnny_wang; 22.03.2016
comment
Он отфильтровывает всех кандидатов ICE, кроме тех, которые подключены к серверу TURN, что означает, что одноранговые узлы будут подключаться через сервер TURN (при условии, что он настроен правильно). Извините, я не специалист по настройке медиасервера, и я не понимаю, почему вы можете получить какое-либо увеличение скорости от маршрутизации данных через сервер TURN, когда конечной точкой является другой сервер. TURN обычно является последним средством, когда прямое соединение не может быть установлено из-за NAT. - person jib; 22.03.2016
comment
Я хочу оптимизировать скорость трафика медиапотока между сервером TURN и медиасервером. Пользователь очень медленно подключается к медиасерверу напрямую, пользователь быстро подключается к серверу TURN, а сервер TURN быстро подключается к медиасерверу. - person johnny_wang; 22.03.2016
comment
@johnny_wang даже с Trickle ICE долго? Ретрансляция вашего трафика через TURN может ускорить время соединения, но заставит вас использовать другой сервер для ретрансляции. Возможно, после этого вы сможете перейти к кандидатам srflx. Некоторые провайдеры делают такую ​​оптимизацию. - person igracia; 12.04.2016
comment
@jib, не могли бы вы также помочь мне с куренто - person Saravanan Nandhan; 07.06.2018