WebRTC--- `Web browsers with Real-Time Communications (RTC)`html
WebRTC是一個開源項目,能夠在`Web`和本機應用程序中實現音頻,視頻和數據的實時通訊。html5
在Firefox,Opera和Chrome桌面和Android上。WebRTC也可用於iOS和Android上的本機應用程序。web
有了WebRTC ,不須要任何插件或第三方軟件來處理典型問題,例如數據丟失、鏈接中斷和NAT遍歷。api
webRTC 適用領域瀏覽器
webRTC採用的協議
實時數據通訊意味着兩個用戶設備之間的快速鏈接。公共鏈接採用視頻或音頻序列幀的形式,將其一每秒30至60次的速率傳輸給另外一個用戶設備,以得到良好的質量。所以,必須瞭解,快速發送最新的數據幀比確保每一個單個幀都到達更重要。網絡
這就是爲何WebRTC應用程序可能會錯過某些幀,以便保持良好的鏈接速度。架構
這也就是WebRTC應用程序使用UDP(用戶數據報協議)做爲傳輸層協議的緣由。框架
可是爲何創建UDP是不可靠的傳輸層,由於沒法肯定如下狀態:frontend
音頻和視頻WebRTC鏈接不是最可靠的,而是在兩個用戶設備之間傳輸最快的。在能夠承受的範圍內保證數據的快速傳輸,這意味着UDP是音頻和視頻流應用程序的最佳選擇。tcp
這張圖來源於webRTC入門,應該每一個人最開始接觸webRTC時都會知道架構圖,它描述了RTCPeerConnection的做用。
圖中能夠看出一共三個不一樣的層:
傳輸組件容許在不一樣類型的網絡中創建鏈接,而語音視頻引擎是負責將音頻視頻流從聲卡和攝像機傳輸到網絡的框架。對於web開發人員來講,最重要的部分是WebRTC API。
下一篇將講解webRTC API。