簡體   English   中英

有沒有辦法在沒有 WebRTC 的情況下從客戶端 A -> 服務器 -> 客戶端 B 的 stream 視頻進行一對多廣播?

[英]Is there a way to stream video from client A -> server -> client B for one-to-many broadcast without WebRTC?

我正在嘗試進行一對多廣播。

我不想為此使用 WebRTC,因為當涉及許多客戶端時,p2p 連接並不理想。

有沒有辦法從客戶端 A 獲取 MediaStream,將其發送到服務器,然后將其廣播到許多其他查看器客戶端?

我研究了 socket.io-stream,但這似乎更多地用於文件流而不是視頻流。

我曾想過每隔這么多毫秒發送一次屏幕截圖,並使用 socket.emit("frameUpdate",screenshotImgString) 從客戶端 A 發送,但這似乎相當耗費資源,並且不包括視頻壓縮等方便的東西。

有沒有辦法簡單的拿一個stream object,傳給服務器,然后讓服務器分享給大家?

使用 WebRTC 時的一種可能性是使用選擇性轉發單元架構。 但這需要多個客戶端與服務器之間的 p2p 連接,可能每個客戶端都由 TURN 服務器進行調解。 因此,服務器上的服務器處理所有這些,理想情況下,如果我無論如何都要使用 TURN 服務器。 我想要一台服務器來中繼所有內容。

不去 Client 1 --> TURN server --> SFU server --> TURN server --> {Client 2...N}

而是 Client 1 --> Video Relay Server --> {Client 2...N}

網上的一切似乎都非常專注於 WebRTC,但我不確定這是否是解決我問題的最佳方法。

我的開發環境在Node.js

SFU 正是您正在尋找的。

使用 SFU,通常不需要 TURN 服務器,數據直接從發送方流向 SFU,然后從 SFU 流向接收方。 (在極少數情況下,例如當客戶端位於非常嚴格的防火牆后面時,TURN 服務器可能很有用,但這將由 WebRTC 堆棧自動協商。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM