多人聊天室的WebRTC實現方案

2021-10-21 19:16:15 字數 1171 閱讀 3566

3. 應該使用哪種架構?

4. 參考資料

有幾種不同的架構根據您的要求,可能是合適的。這些架構基本上他們圍繞二點:

在這裡介紹最流行的解決方案。如果你需要去深入到協議的影響和實施細則的架構,你可以找到所有的相關資訊,rtp拓撲ietf文件。

mesh方法是最簡單的解決方案。因為它不需要假設任何伺服器,而且直接使用成熟的webrtc傳輸方案。該體系結構基於從每乙個傳送者建立多個一對一的資料流到每乙個接收端。

即使它看起來像乙個低效的解決方案,在實踐中是非常有效的,並且延遲最低,每個接收端都會根據實際情況產生不同的位元率。

唯一的問題是,這種解決方案需要大量的上行頻寬將**流同時傳送至所有目的地,現有的裝置實現所需的cpu功率會顯著上公升。

主要缺點是在mcu的基礎設施成本高。此外,由於混合需要解碼和再編碼,這引入額外的延遲和質量的損失。最後,轉碼和組合物可在理論上導致對應用程式的使用者介面的彈性較小(儘管有此問題的解決方法)。

router(或中繼)的辦法使得h.264 svc基礎設施普及,這也正是廣泛應用的。該架構基於具有中心點從每個傳送器接收乙個流並傳送出乙個流到每乙個參與者。這個中心點只做資料報檢測和**,而不是昂貴的編碼和實際的**的解碼。常見術語是sfu。

router提供乙個便宜的可擴充套件的多方傳輸,具有較好的延遲性、與傳統的mixer解決方案相比沒有質量劣化。

這種方案非常適合大併發的事實會議和直播。目前較成熟的服務提供商就是聲網。

這個就需要根據自己的專案的需要了。其實,商業解決方案,包括上述所有方案,往往需要根據客戶的實際應用場景選擇對於的方法。不過,也有經驗,你可以使用一些通用規則。

假設你提供企業級服務,且有較好的寬頻和高效的硬體(即乙個企業內部服務),參加人數是有限的,那麼你非常適合mixer方案。

一般來說,如果你提供大規模服務的,應優先考慮到router的方法。router傳輸接近把情報在網路的邊界,構建終端使用者應用程式時,以達到更好的可擴充套件性和靈活性的網路的範例。

UDP多人聊天室

多人聊天室 chat room 客戶端功能 傳送請求,獲取結果 from socket import from multiprocessing import process import sys 伺服器位址 addr 127.0.0.1 8888 接收訊息 def recv msg s while ...

簡單的多人聊天室

1.安裝nodejs websocket 和 socket.io npm install nodejs websocket socket.io 2.html 中引入socket.io.js檔案 在html中 通過 socket io ws localhost 3000 開啟socket連線,通過so...

多人聊天室的實現思路分析

複習完關於通訊的知識點後,我們要動手完成乙個 多人聊天室 的小專案練習,這個專案涉及到了通訊,執行緒,事件監聽和圖形的程式設計的相關概念,乍一聽上去覺得很容易,不就是加個圖形介面嗎?後來實現的時候發現不是這樣,發現幾乎寸步難行,有點焦急,但是急也沒用,程式這個東西是需要人靜下心來思考才好得到結果的....