標籤:
最近看了一篇老外在webrtcHacks上寫的文章,主要介紹webrtc和whatsapp的傳輸機制,蠻好的,加上自己的理解進行總結,
希望對大夥有所協助,轉載請說明出處,原文來自部落格園RTC.Blacker。
whatsapp的voip的傳輸機制用的是pjsip(webrtc的P2P機制冗餘龐大一直被人詬病,所以有人就替換成了同樣龐大的pjsip),下面是他們的對比:
從可知,whatsapp並沒有採用ICE,只用到了STUN,不過他在建立串連的時候做了一個很有意思的改動:
建立串連前先通過Turn建立串連,等到P2P打洞成功後再將串連從turn切換為P2P,這樣做的好處就是減少等待時間,增強使用者體驗,而且為將來的多方通話做了一個很好的擴充,原文如下:
"The most impressive thing I found is the optimization for a fast call setup by using a relay initially and then switching to a peer-to-peer session. This also opens up the possibility for a future multi-party VoIP call which would certainly be supported by this architecture."
抓包結果詳見:
當然,webrtc也可以用變通的方式實現這種效果,詳見:https://github.com/fippo/webrtc/commit/bc8a3ac137bf49795f2ed1487cdfdfab6451540b
另外如果對作者分析的Whatsapp的整個抓包過程感興趣,詳見:
https://webrtchacks.com/wp-content/uploads/2015/04/WhatsappReport.pdf
最後,原文來自:https://webrtchacks.com/whats-up-with-whatsapp-and-webrtc/
Android IOS WebRTC 音視頻開發總結(二七)