Android IOS WebRTC 音視頻開發總結(三一)-- 自定義傳輸實現一對多


本文主要介紹基於Webrtc的多人視頻會議的簡單實現,文章來自博客園RTC.Blacker,支持原創,轉載請說明出處。

 

前面提到基於開源框架的視頻會議都存在諸多問題,所以我們通過重寫WEBRTC傳輸模塊來實現一個簡單的視頻會議,效果如下圖:

說明:

1、畫面1、2、3都是其他手機傳過來的圖像,局域網內有點點卡頓,同時軟解3路數據你懂的。

2、聲音比較清晰,服務端沒有做混音處理。

 

實現原理:

1、服務端是小伙伴用C++配合實現的,主要作用就是信令控制與轉發,所以原理沒有太多好講的。

2、因為有在WEBRTC里面注冊自己的傳輸模塊,所以在這個基礎上實現多人就很容易了,主要就是讓服務端轉發的時候知道往哪里轉發。

3、WEBRTC里面有channel機制,每個會話對應一個channel,如果要實現多個會話,就注冊多個channel,關鍵代碼如下:

下面是收到RTP包后通過channel找到對應的transport進行處理

 

總結:

1、通過上面這個demo可以做很多擴展,比如視頻直播、在線教學、安防監控。

2、很多開源框架都是基於這種架構模式,如Licode,jitsi。

3、這種模式以后結合VP9,H265和SVC會有很好的發展空間,不過需要時間,所以我們會繼續關注。

 

思考:

1、這種服務端是我之前說的哪種架構模式?

2、這種模式下怎么處理NACK和RTCP?

 

歡迎繼續關注我的博客,歡迎發郵件交流或回帖探討~

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM