WebRTC是否可以“转”;中继传输地址“;是否与多个同龄人共享?

WebRTC是否可以“转”;中继传输地址“;是否与多个同龄人共享?,webrtc,p2p,stun,turn,ice,Webrtc,P2p,Stun,Turn,Ice,场景:WebRTPeer1希望向WebRTPeer2发送视频(仅发送数据)。事实证明WebRTPeer2位于对称NAT的后面,不可能进行直接通信。现在,两个对等方都联系turn服务器,获得各自的“中继传输地址”,并通过信令信道与作为ICE候选的NAT“服务器自反传输地址”共享该地址。现在一个WebRTPeer3出现在场景中,希望看到WebRTPeer1与WebRTPeer2共享的相同视频源。事实证明WebRTPeer3也支持对称NAT 问题: WebRTC堆栈是否会为WebRTPeer1分配一个

场景:WebRTPeer1希望向WebRTPeer2发送视频(仅发送数据)。事实证明WebRTPeer2位于对称NAT的后面,不可能进行直接通信。现在,两个对等方都联系turn服务器,获得各自的“中继传输地址”,并通过信令信道与作为ICE候选的NAT“服务器自反传输地址”共享该地址。现在一个WebRTPeer3出现在场景中,希望看到WebRTPeer1与WebRTPeer2共享的相同视频源。事实证明WebRTPeer3也支持对称NAT

问题:

  • WebRTC堆栈是否会为WebRTPeer1分配一个新的“中继传输地址”,以便与WebRTPeer3通信?或者WebRTPeer1可以使用连接WebRTPeer2时收到的现有“中继传输地址”

  • TURN是否支持此功能?-->WebRTPeer1向turn服务器发送单个视频馈送(连同WebRTPeer2和3的“中继传输地址”信息),turn服务器以某种方式神奇地将其发送到WebRTPeer2和WebRTPeer3各自的“中继传输地址”

  • 1.)每个对等方都需要一个新的
    中继传输地址。您还需要为每个要连接的人创建一个新的PeerConnection
    webrtpeer1
    只能连接到
    webrtpeer2
    。您需要创建
    webrtpeer1-1
    (与
    webrtpeer1
    在同一主机上)才能与
    webrtpeer3


    2.)TURN不支持这一点,很遗憾。但SFU(选择性转发单元)确实可以做到这一点

    但是,如果对等方位于对称NAT之后,SFU无法解决该问题,因为对等SFU连接也是webrtc。SFU不是这样的,因此客户端可以连接到公共ip,SFU可以从客户端发送到的使用对称NAT的ip发回。