webRTC的標準與發展

webRTC的標準與發展

Web實時通訊(WebRTC)是標準,協議和JavaScript API的集合,兩者的組合可實現瀏覽器(對等)之間的對等音訊,影片和資料共享。WebRTC無需依賴第三方外掛或專有軟體,而是將實時通訊轉變為任何Web應用程式都可以透過簡單的JavaScript API加以利用的標準功能。

交付豐富,高質量的RTC應用程式,例如音訊和影片電話會議以及對等資料交換,需要在瀏覽器中提供許多新功能:音訊和影片處理功能,新的應用程式API,以及對六種新功能的支援。網路協議。值得慶幸的是,該瀏覽器將這種複雜性的大部分從三個主要API中抽象出來:

MediaStream

:獲取音訊和影片流

RTCPeerConnection

:音訊和影片資料的通訊

RTCDataChannel

:任意應用程式資料的通訊

它只需要十幾行JavaScript程式碼,任何Web應用程式都可以透過對等資料傳輸實現豐富的電話會議體驗。這就是WebRTC的承諾和力量!但是,列出的API只是冰山一角:信令,對等裝置發現,連線協商,安全性以及新協議的整個層只是將它們整合在一起的一些元件。

不足為奇的是,支援WebRTC的體系結構和協議還決定了其效能特徵:連線建立等待時間,協議開銷和傳遞語義,僅舉幾例。實際上,與所有其他瀏覽器通訊不同,WebRTC透過UDP傳輸其資料。但是,UDP只是一個起點。要使瀏覽器中的實時通訊成為現實,它需要花費比原始UDP多得多的費用。讓我們仔細看看。

已經為1B +使用者啟用了WebRTC:最新的Chrome和Firefox瀏覽器為所有使用者提供WebRTC支援!話雖這麼說,WebRTC也在瀏覽器API級別以及傳輸和協議級別上都在積極構建中。因此,未來幾章中討論的特定API和協議可能仍會更改。

webRTC的標準與發展

WebRTC的標準和發展

在瀏覽器中啟用實時通訊是一項雄心勃勃的工作,並且可以說是自一開始以來Web平臺最重要的新增功能之一。WebRTC脫離了熟悉的客戶端到伺服器的通訊模型,這導致了瀏覽器中網路層的完全重新設計,並且帶來了一個全新的媒體堆疊,這是實現高效,實時處理所必需的音訊和影片。

結果,WebRTC體系結構由十幾種不同的標準組成,涵蓋了應用程式和瀏覽器API,以及使其工作所需的許多不同的協議和資料格式:

Web實時通訊(WEBRTC)W3C工作組負責定義瀏覽器API。

Web瀏覽器中的實時通訊(RTCWEB)是IETF工作組,負責定義協議,資料格式,安全性和所有其他必要方面,以實現瀏覽器中的對等通訊。

WebRTC不是空白標準。儘管其主要目的是實現瀏覽器之間的實時通訊,但其設計還使其可以與現有的通訊系統整合:IP語音(VOIP),各種SIP客戶端,甚至公共交換電話網(PSTN) , 僅舉幾個。WebRTC標準沒有定義任何特定的互操作性要求或API,但它們確實嘗試在可能的情況下重用相同的概念和協議。

換句話說,WebRTC不僅要為瀏覽器帶來實時通訊,還要把所有的Web功能都帶給電信世界——2012年的市場價值為4。7萬億美元!毫不奇怪,這是一項重大發展,許多現有的電信供應商,企業和初創公司正在密切關注這一發展。WebRTC不僅僅是另一個瀏覽器API。

WebRTC用例和效能

實現低延遲,對等傳輸是一項不平凡的工程挑戰:NAT遍歷和連線性檢查,信令,安全性,擁塞控制以及無數其他細節需要處理。WebRTC代表我們處理了以上所有內容,因此,自成立以來,WebRTC可以說是Web平臺最重要的新增功能之一。實際上,這不僅是WebRTC提供的各個部分,而且所有元件都可以協同工作以提供一個簡單而統一的API,以便在瀏覽器中構建對等應用程式這一事實。

但是,即使具有所有內建服務,設計高效且高效能的對等應用程式仍需要進行大量仔細的考慮和計劃:對等並不意味著就其本身而言就具有高效能。如果有的話,對等點之間頻寬和延遲的增加的可變性,以及媒體傳輸的高要求以及不可靠的傳送的特殊性,使它成為一個更加艱鉅的工程挑戰。

總結

隨著移動網際網路的、AI、5G等等新興技術的高速發展,結合WebRTC技術,未來將衍生出更多的應用場景,改變人類的衣、食、住、行等生活方式。