2017-07-21 32 views
0

我正在实施高清屏幕共享,因此最大限度地减少带宽使用量非常重要。在第一场景中,所有客户端都直接使用stun(客户端连接到客户端b,客户端连接到客户端c,客户端连接到客户端d)连接到单个客户端。在这种情况下,用户必须将他的屏幕分别发送给3个客户端。WebRTC TURN带宽使用与STUN相同吗?

我的问题是,当使用TURN时,它是一样的吗?或者,客户端A连接到转向服务器,然后转向服务器将该数据路由到客户端b,c和d,从而为客户端节省带宽,因为他只需将数据发送到TURN服务器?或者它使用的带宽量是否相同?

我在Twilio的WebRTC视频的用例中特别提出要求,所以我希望这些信息也适用于此。

+0

否https://youtu.be/p2HzZkd2A40?t=1209 – pravdomil

+1

TURN只是改变了离开机器所需的路线。它仍然是1-1和相同数量的位。你想要一个[SFU](https://webrtcglossary.com/sfu/)。 – jib

+0

所有TURN服务器都有一个配置设置来限制任何流的比特率。 – selbie

回答

2

Twilio开发人员在这里传播。

正如评论所说,每个用户都有一个流。如果您通过TURN连接到对话中的所有其他用户,则这是单独的流通过TURN服务器,并且会为每个用户带来带宽。

所有用户之间可能不需要TURN,因此用户可能通过STUN将数据发送给一个对等方,另一个用户可能通过TURN向另一个对等方发送数据。如jib所说,最后,您可以使用SFU将其控制为一个流。在Twilio中,这可以使用Group Rooms API(也可用于记录聊天)来实现。

+0

感谢您的回复。我误解了TURN吊臂,你的评论清除了它。所以,如果我明白你说的正确,只需在房间创建时将房间类型更改为“分组”即可使用“SFU”,并导致用户流只出去一次,然后到SFU,然后出去客户,无论客户的数量是多少? – Zhinkk

+1

这是正确的:) – philnash

相关问题