2017-07-21 67 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

相關問題