Android IOS WebRTC 音視頻開發總結(六九)-- qq視頻通話都是p2p,我們還怕啥?


本文主要介紹在線教育這個行業,文章最早發表在我們的微信公眾號上,支持原創,詳見這里

歡迎關注微信公眾號blackerteam,更多詳見www.rtc.help

先簡單介紹什么是p2p

 

p是peer的縮寫,p2p就是點對點,兩個客戶端直接進行數據交互,不需要經過服務器轉發(relay),這種方式能大大減輕服務端的負載,所以特別視適合大數據的傳輸,比如視頻流,大文件。

 

之前很多朋友在問p2p成功率大概是多少?

 

其實這個問題不太好回答但又好回答:不太好回答是因為不同區域網絡狀況不一樣所以很難有統一的答案;好回答是因為如果遵循ICE協議,基本上能打洞成功的網絡他都能p2p,不能打洞成功的網絡基本上都是跟路由器類型有關,與技術無關。

 

根據google官方文檔,92%的情況下都可以p2p,看到這里很多朋友很高興,心理有底了,在國內7080%的成功率是可以期待的,以前做的文件傳輸也可以用p2p了,其實微軟的win10升級也是這么搞的,p2p優先,節省寶貴的服務端資源嘛。

 

知道了p2p成功率,我們再來看11的視頻通話,如果支持p2p那理論上一台普通的阿里雲服務器其實就可以支持比較高的並發了,因為大部分的視頻流都不需要經過服務器relay,但這時候有人可能會問:“和relay相比,p2p效果怎樣?”

 

這個問題其實也不好回答,因為某些極端情況下p2p有可能不如服務器relay,但我們可以參考qq和whatsapp的做法。

 

根據我們之前的測試,qq現在11視頻通話打洞邏輯和成功率基本上跟webrtc一樣(當時模擬了各種網絡狀況,聯通、電信、移動、全錐、對稱等等),p2p優先,失敗時才啟用relay。whatsapp其實也差不多,只不過為了加快連接的建立,他采用relay優先,p2p建立后就會切換過來,對這部分感興趣的朋友可以去查看我們博客上的相關文章。

 

所以了解了p2p,qq,whatsapp的這些邏輯之后,你下次跟朋友視頻就不用擔心qq后台錄音錄像的問題了,這些東西太占資源了,最起碼他們現階段不會去做,如果要這么做他們就不會使用p2p了。

 

看到這里一些朋友就會問,既然大部分視頻通話可以p2p解決,那采用第三方廠商方案的時候直接按用戶數計費是不是不合理?因為p2p下根本不需要占用服務端太多資源。

 

是的,沒錯,所以很多廠商的服務支持私有雲部署,也就是我們自己提供服務器,他們負責部署,這樣我們既不用擔心數據安全性,又可以節省成本,還可以滿足自身其他業務需求!

 

當然說到私有雲部署就必然要涉及到分布式部署甚至是全球部署,至於是否需要分布式部署,怎么分布式部署我們下回分享。

 

喜歡相關文章請轉發此文,或掃描下方二維碼關注我們的微信公眾號:blackerteam


免責聲明!

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



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