Kurento:客户端TURN配置

时间:2016-05-30 08:01:27

标签: webrtc kurento turn

根据我之前提问的理解:Kurento: STUN/TURN

webrtcendpoint.conf.ini配置的TURN服务器仅用于交换候选冰。我们也可以在webrtcendpoint.conf.ini中只指定一个TURN服务器,因为我观察到的是,如果我在webrtcendpoint.conf.ini中提供2个或更多TRUN服务器,Kurento媒体服务器服务无法启动,这是正确的吗?

还有什么办法可以验证在Kurento媒体服务器和两个对等体之间使用了哪个STUN / TURN服务器?

我们在conferenceroom.js中提供的STUN / TURN将用于对等体之间的实际媒体流/媒体管道。这是对的吗?

如果我们在conferenceroom.js中提供多个TURN服务器,那么TURN服务器将选择最快/最快的响应时间用于两个对等体之间的媒体流?与我们从Link获得响应时间相同。

我所观察到的是,如果webrtcendpoint.conf.iniconferenceroom.js中提供的TURN服务器不同,那么我们无法看到远程参与者视频,但如果TURN服务器都是相同的那么我能够看到远程参与者的视频。它是否正确 ?

修改1:

在groupcall示例中,我们有onExistingParticipants()onNewParticipants(),我们可以在receiveVideo()onExistingParticipants()中定义iceServers,那么如果我们指定TURN服务器 t1会发生什么<{1}}中的kurentoUtils.WebRtcPeer.WebRtcPeerSendOnly()kurentoUtils.WebRtcPeer.WebRtcPeerRecvOnly()中的TURN服务器 t2 ,那么这两个TURN服务器会在彼此之间作为中继链进行通信吗?

1 个答案:

答案 0 :(得分:2)

  

仅使用从webrtcendpoint.conf.ini配置的TURN服务器   交换冰候选人。我们也只能指定一个TURN   webrtcendpoint.conf.ini中的服务器,因为我观察到的是   如果我在webrtcendpoint.conf.ini Kurento中提供2个或更多TRUN服务器   媒体服务器服务无法启动,这是正确的吗?

它用于收集候选人,如果需要,用作视频中继。您KMS不太可能需要这个,因为它部署的位置由您管理。如果只能使用STUN,那么中继服务器就不会被使用。

只能配置一台服务器,

  

还有什么方法可以验证正在使用哪个STUN / TURN服务器   在Kurento媒体服务器和两个同行之间?

是的,WebRtcEndpoint有这个

的方法
  • getStunServerPort()
  • getStunServerAddress()
  • getTurnUrl()
  

我们在conferenceroom.js中提供的STUN / TURN将用于   对等体之间的实际媒体流/媒体管道。这是对的吗?

它将用于收集客户的候选人。此外,如果您的客户端位于需要使用中继服务器的NAT后面,它将使用conferenceroom.js中配置的客户端。请记住,媒体路径可能不对称:当来自客户端 - > kms的媒体可能没有使用中继服务器时,来自KMS的媒体 - >客户可能是由于您客户所在地的网络状况。

  

如果我们在conferenceroom.js中提供多个TURN服务器,那么TURN   将为媒体流选择服务器最快/最快响应时间   两个同龄人之间?与我们从此链接获得响应时间相同。

是的,候选人被探查并选出最好的候选人。

  

我所观察到的是,如果提供了TURN服务器   webrtcendpoint.conf.ini和conferenceroom.js与我们不同   无法看到远程参与者视频,但如果两者都是TURN   服务器是相同的,然后我能够看到远程参与者视频。   这是对的吗?

除非一个TURN工作而另一个没有工作,否则不应该这样。

修改

TURN服务器不会在它们之间交换媒体。如果需要,它们将用作与另一个同伴的中继。这个过程是

  • 每个对等方收集候选人:host,srflx(STUN)和relay(TURN)。注意,如果TURN服务器不同,中继候选者也会有所不同。
  • 候选人被送到另一个同伴。
  • 每位候选人都会被单独探查,并选出最好的候选人。

由于所有媒体都通过KMS,因此KMS是向中继服务器发送媒体的媒体。请记住,KMS始终位于同行之间。这将是

kms-&GT; T2-&GT;客户 客户端 - &GT; T1-&GT;公里

即使连接是浏览器到浏览器,TURN服务器也不会直接通信,因为它们将充当从一个对等方发送到另一个对等方的媒体的中继。这将是

client1-&GT; T2-&GT;客户端2 client2-&GT; T1-&GT;客户端1