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