0

根据我对上一个问题的理解:Kurento: STUN/TURN

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

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

我们提供的 STUN/TURNconferenceroom.js将用于对等点之间的实际媒体流/媒体管道。这个对吗 ?

如果我们提供多个 TURN 服务器,conferenceroom.js那么两个对等点之间的媒体流将选择 TURN 服务器最整洁/最快的响应时间?就像我们从这个Link得到响应时间一样。

另外我观察到的是,如果提供的 TURN 服务器webrtcendpoint.conf.ini不同conferenceroom.js,那么我们将无法看到远程参与者的视频,但如果两个 TURN 服务器相同,那么我可以看到远程参与者的视频。这个对吗 ?

编辑1:

在 groupcall 示例示例中onExistingParticipants()onNewParticipants()我们可以在哪里定义 iceServers,如果我们指定 TURN 服务器t1和TURN 服务器t2会发生什么,receiveVideo()那么这两个 TURN 服务器是否会作为中继链相互通信?onExistingParticipants()kurentoUtils.WebRtcPeer.WebRtcPeerSendOnly()kurentoUtils.WebRtcPeer.WebRtcPeerRecvOnly()

4

1 回答 1

2

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

它用于收集候选人,并在需要时用作视频中继。您的 KMS 可能不需要它,因为它的部署位置由您管理。如果您只能使用所需的方式进行 STUN,则不会使用中继服务器。

只能配置一台服务器,

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

是的,WebRtcEndpoint 有这方面的方法

  • getStunServerPort()
  • getStunServerAddress()
  • getTurnUrl()

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

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

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

是的,候选人被调查并选择了最好的候选人。

另外我观察到的是,如果 webrtcendpoint.conf.ini 和 Conferenceroom.js 中提供的 TURN 服务器不同,那么我们无法看到远程参与者的视频,但如果两个 TURN 服务器相同,那么我可以看到远程参与者视频。这个对吗 ?

这不应该是这种情况,除非一个 TURN 工作而另一个不工作。


编辑

TURN 服务器不会在它们之间交换媒体。如果需要,它们将用作与其他对等方的中继。过程是

  • 每个对等点收集候选人:主机、srflx (STUN) 和中继 (TURN)。不是说,如果 TURN 服务器不同,中继候选者也会不同。
  • 候选人被发送到另一个同行。
  • 每个候选人都被单独调查,并选择最好的候选人。

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

kms->t2->client 客户端->t1->kms

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

客户端1->t2->客户端2 客户端2->t1->客户端1

于 2016-05-30T08:37:24.660 回答