促進(jìn)全球互通互聯(lián):WebRTC 成為 W3C 和 IETF 標(biāo)準(zhǔn)
譯文【51CTO.com快譯】WebRTC 可為瀏覽器、移動(dòng)應(yīng)用程序和桌面應(yīng)用程序提供實(shí)時(shí)通信功能,通常用于視頻通話。2009年,Google提出創(chuàng)建WebRTC的想法,以替代無法在瀏覽器中運(yùn)行的Adobe Flash和桌面應(yīng)用程序。
上一代基于瀏覽器的產(chǎn)品是建立在許可的專有技術(shù)之上的,各種產(chǎn)品都是用這種技術(shù)制作的,包括Hangouts。谷歌隨后收購了向其提供技術(shù)許可的公司,并將其作為開源WebRTC項(xiàng)目提供。這個(gè)代碼庫集成在Chrome中,并被大多數(shù)使用WebRTC的應(yīng)用程序使用。與其他瀏覽器供應(yīng)商和行業(yè)領(lǐng)袖(如Mozilla、微軟、思科和愛立信)一起,WebRTC的標(biāo)準(zhǔn)化在W3C和IETF中被啟動(dòng)。
2013年,Mozilla和谷歌展示了各自瀏覽器之間的視頻通話。隨著標(biāo)準(zhǔn)的不斷演進(jìn),不同瀏覽器的實(shí)現(xiàn)差異與兼容性等挑戰(zhàn),最終得到了解決。
現(xiàn)在,WebRTC規(guī)范附帶了一整套平臺(tái)測(cè)試和工具來解決兼容性問題,各個(gè)瀏覽器也相應(yīng)地調(diào)整了它們的實(shí)現(xiàn)方式。結(jié)束了Web開發(fā)人員必須不斷將他們的服務(wù)適配不同的瀏覽器的艱難時(shí)期。
架構(gòu)和功能
WebRTC規(guī)范的核心部分是RTCPeerConnection API。RTCPeerConnection使用點(diǎn)對(duì)點(diǎn)協(xié)通信協(xié)議,處理連接不同端上的兩個(gè)應(yīng)用程序。PeerConnection API與getUserMedia和getDisplayMedia密切交互,用于訪問攝像頭和麥克風(fēng),以及捕捉屏幕內(nèi)容。WebRTC允許通過 DataChannel 發(fā)送和接收包含音頻和視頻內(nèi)容以及任意二進(jìn)制數(shù)據(jù)的流。
用于處理、編碼和解碼音頻和視頻的媒體功能是WebRTC實(shí)現(xiàn)的核心。WebRTC支持各種音頻編解碼器,Opus是最常用和通用的。WebRTC實(shí)現(xiàn)需要同時(shí)支持谷歌的免費(fèi)使用VP8視頻編解碼器和H.264來處理視頻,并且通過DTLS和SRTP協(xié)議保證連接加密。
低延遲,應(yīng)用廣
WebRTC廣泛應(yīng)用于時(shí)間要求嚴(yán)格的應(yīng)用,如遠(yuǎn)程手術(shù)、系統(tǒng)監(jiān)控、自動(dòng)駕駛汽車的遠(yuǎn)程控制,以及在不可能緩存的UDP上構(gòu)建的語音或視頻通話。谷歌、Facebook、思科、RingCentral和Jitsi等公司幾乎所有基于瀏覽器的視頻通話服務(wù)都使用WebRTC。現(xiàn)在谷歌Stadia和NVIDIA Geforce 使用WebRTC將游戲流從云服務(wù)器傳送到Web瀏覽器沒有可感知的延遲。
在過去的一年里,由于瀏覽器內(nèi)部視頻通話需求的增加,WebRTC在Chrome上的使用率增加了100倍。
WebRTC未來可期
盡管WebRTC現(xiàn)在已經(jīng)成為W3C標(biāo)準(zhǔn),但仍在繼續(xù)改進(jìn)。新的視頻編解碼器AV1可以節(jié)省高達(dá)50%的帶寬,現(xiàn)在可以在WebRTC和網(wǎng)絡(luò)瀏覽器中使用。開放源代碼庫的持續(xù)改進(jìn)有望進(jìn)一步減少延遲,并提高流媒體視頻的質(zhì)量。
WebRTC NV主動(dòng)創(chuàng)建補(bǔ)充API以支持新的用例。包括對(duì)現(xiàn)有API的擴(kuò)展,以提供對(duì)現(xiàn)有功能的更多控制,如可擴(kuò)展的視頻編碼。這也為Web開發(fā)人員提供了更大的靈活性,可以通過集成高性能的定制WebAssembly組件進(jìn)行創(chuàng)新。隨著5G網(wǎng)絡(luò)的興起和對(duì)更多互動(dòng)服務(wù)的需求,我們期待看到基于WebRTC的服務(wù)建設(shè)繼續(xù)增加。
【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】