WebRTC的优缺点
作為Google開源的技術,WebRTC并不是一個可以拿來就用并且性能很好的產品,需要工程師們對其進行較多的改善。本文主要來談一談WebRTC的優缺點。
WebRTC的優點:
1. 方便。對于用戶來說,在WebRTC出現之前想要進行實時通信就需要安裝插件和客戶端,但是對于很多用戶來說,插件的下載、軟件的安裝和更新這些操作是復雜而且容易出現問題的,現在WebRTC技術內置于瀏覽器中,用戶不需要使用任何插件或者軟件就能通過瀏覽器來實現實時通信。對于開發者來說,在Google將WebRTC開源之前,瀏覽器之間實現通信的技術是掌握在大企業手中,這項技術的開發是一個很困難的任務,現在開發者使用簡單的HTML標簽和JavaScript API就能夠實現Web音/視頻通信的功能。
2. 免費。雖然WebRTC技術已經較為成熟,其集成了最佳的音/視頻引擎,十分先進的codec,但是Google對于這些技術不收取任何費用。
3. 強大的打洞能力。WebRTC技術包含了使用STUN、ICE、TURN、RTP-over-TCP的關鍵NAT和防火墻穿透技術,并支持代理。
WebRTC的缺點:
1. 缺乏服務器方案的設計和部署。
2. 傳輸質量難以保證。WebRTC的傳輸設計基于P2P,難以保障傳輸質量,優化手段也有限,只能做一些端到端的優化,難以應對復雜的互聯網環境。比如對跨地區、跨運營商、低帶寬、高丟包等場景下的傳輸質量基本是靠天吃飯,而這恰恰是國內互聯網應用的典型場景。
2. WebRTC比較適合一對一的單聊,雖然功能上可以擴展實現群聊,但是沒有針對群聊,特別是超大群聊進行任何優化。
3. 設備端適配,如回聲、錄音失敗等問題層出不窮。這一點在安卓設備上尤為突出。由于安卓設備廠商眾多,每個廠商都會在標準的安卓框架上進行定制化,導致很多可用性問題(訪問麥克風失敗)和質量問題(如回聲、嘯叫)。
4. 對Native開發支持不夠。WebRTC顧名思義,主要面向Web應用,雖然也可以用于Native開發,但是由于涉及到的領域知識(音視頻采集、處理、編解碼、實時傳輸等)較多,整個框架設計比較復雜,API粒度也比較細,導致連工程項目的編譯都不是一件容易的事。
可見,WebRTC是一個優缺點兼有的技術,在擁有誘人的優點的同時,其缺點也十分的嚴重。在進行WebRTC的開發之前,請根據自身的情況來決定是自主開發還是使用第三方SDK。
本文作者:
馮越 ?聲網Agora.io 首席客戶端SDK架構師
總結
以上是生活随笔為你收集整理的WebRTC的优缺点的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【webrtc】webrtc的rtp重传
- 下一篇: Gstreamer基础知识介绍