基於WebRTC的MCU開源項目Licode的環境搭建
由於項目需求,需要構建多人通訊,調研了多人通訊的三種常見結構:
1.前一篇博客已經基於codelab實現了三人聊天,這種多人系統基於Mesh結構。具體來說,假設有N+1個客戶端,那么對於每一個客戶端都需要與其他N個對象建立PeerConnection,這樣消耗了大量的帶寬和CPU資源。對於客戶端數量較少的應用比較適合,延遲小、開發簡單、畫面無損失。

2.基於MCU的結構,該MCU的核心功能就是視頻和音頻的Mix。通過將多路信號混合成一路,達到減少帶寬和CPU資源消耗的目的。對於N+1個Clients,每個對象只要和MCU建立一個PeerConnection,大大減少資源消耗,適用於客戶端數量較多的應用,但是該方案會損失畫面質量,實現比較復雜,對MCU服務器性能要求很高(多路信號的編碼解碼)。

3.基於Router結構,該結構結語1 2之間。每個客戶端將本地信號上傳到Router,並從Router上下載其他客戶端的信號。這樣,相比1方案,並不需要向每一個客戶端發送相同的本地信號,因此帶寬消耗大概減少一半,同時不損失信號質量,且能提升客戶端的數量。

支持多人通訊的WebRTC的開源項目很多,這里選擇Licode搭建開發環境,相比其他項目,Licode比較輕量級,便於初學者學習,而且它屬於Router結構,符合需求。
官方地址:lynckia.com/licode/install.html
按照指南搭建即可,最好FQ搭建環境。
搭建完成后,其官方Demo效果如下。測試了下,5台手機,一台電腦同時在線沒有問題,但傳輸延遲在1s左右。
