webrtc - WebRTC TURN“中继传输地址”可以与多个对等方共享吗?
问题描述
场景:Webrtcpeer1 想向 Webrtcpeer2 发送视频(仅发送数据)。事实证明,webrtcpeer2 位于对称 NAT 后面,无法进行直接通信。现在,两个对等点都联系一个转向服务器并获得他们各自的“中继传输地址”,并通过信令通道与对方共享它以及他们的 NAT“服务器反射传输地址”作为 ICE 候选者。现在 Webrtcpeer3 进入场景并希望看到 webrtcpeer1 与 webrtcpeer2 共享的相同视频源。事实证明,webrtcpeer3 也在对称 NAT 后面。
问题:
WebRTC 堆栈会为 webrtcpeer1 分配一个新的“中继传输地址”以与 webrtcpeer3 通信吗?或者 webrtcpeer1 可以使用它在与 webrtcpeer2 连接时收到的现有“中继传输地址”。
TURN 支持吗?--> webrtcpeer1 将单个视频源发送到转向服务器(连同 webrtcpeer2 和 3 的“中继传输地址”信息),然后转向服务器以某种方式神奇地将其发送到 webrtcpeer2 和 webrtcpeer3 各自的“中继传输地址”。
解决方案
1.)您需要Relayed Transport Address
为每个对等方提供一个新的。您还需要为要连接的每个人创建一个新的 PeerConnection。webrtcpeer1
只能连接到webrtcpeer2
. 您将需要创建webrtcpeer1-1
(在与 相同的主机上webrtcpeer1
)与webrtcpeer3
2.) 不幸的是,TURN 不支持这一点。SFU(选择性转发单元)确实可以做到这一点!
推荐阅读
- javascript - 如何使用反应测试库更改 ant 设计选择选项
- amazon-web-services - S3 存储桶策略错误“条件不适用于语句中的操作和资源组合”
- grpc - 对健康检查协议感到困惑
- javascript - 如何从 KnockoutJS 组件函数中的 AJAX 调用返回响应?
- python - 如何编辑 Evernote 的 ENML 文件,尤其是在其中添加/修改宽度和高度标签
标签 - html - 从多级 ul li 结构中选择一个元素
- javascript - 使用 base64 编码数组内容
- php - PHP - 使用多个对象编辑 JSON 数组中的特定值
- css - 如何在我的 WooCommerce 结帐页面中水平显示无线电场?
- windows - 如何使用批处理脚本对目录中的每个文件进行操作