圖片來源@視覺中國
文丨凡泰極客
如果你是一位工程師,想必聽過 WebRTC,就算沒有開發(fā)過;如果你是一位互聯(lián)網(wǎng)用戶,大概率使用過 WebRTC,雖然可能沒有意識到。在這個視頻為王的時代,我們漫談一下這個技術(shù)的來龍去脈以及一些有趣的應(yīng)用。
文言「底」也表示疑問,是「何」、「什么」的意思。如南唐中主李璟在調(diào)侃馮延巳時所寫「風乍起,吹皺一池春水,干卿底事?」
如果說 20 世紀人類的書寫工具是筆、通訊方式是郵局寄信,那么 21 世紀初人類的書寫工具就變成鍵盤、通訊方式就是電子郵件/短信/即時通信聊天,而從現(xiàn)在開始的可見未來,手機攝像頭/VR 設(shè)備就是你的書寫記錄這個世界的工具、實時網(wǎng)絡(luò)通訊就是你的通訊方式。
視頻成了娛樂、學(xué)習、商務(wù)會議、社交、電商的載體,人們逐漸不再有耐心閱讀文字性的信息,現(xiàn)在連購買一件自安裝的家具,它都附帶二維碼,用戶只要一掃即打開安裝指南的視頻,再也不用反復(fù)研究紙質(zhì)說明書里那往往畫的非常蹩腳的安裝圖。
視頻不僅是信息的展現(xiàn)方式,它從一部部的 mov、jpeg4、wmv(你硬盤上熟悉而又陌生的文件對不對?)變成一個個的播放器,再變成一個個的 App,然后又從這種單向的“錄制 ?上傳 ?下載 ? 找播放器打開 ? 播放”,變成了“現(xiàn)場錄制 ? 邊錄邊播 ? 實時收看”,再變成視頻與即時通訊工具、會議工具融合的雙向“錄制與播放”。
遠程視頻會議已經(jīng)成為如今辦公的標配
傳說中的“實況直播”終于發(fā)展到一個“平民化”的階段。WebRTC,全稱 Web Real-Time Communication,就是這么一種基礎(chǔ)技術(shù),它促進你用新的“筆”(智能視頻設(shè)備,例如你的手機)以影像而非文字方式去記錄與溝通。
它的奧妙在兩部分,自然就是:Web + RTC!這不是顯而易見的廢話嗎?還真不是… 但我們先聊一下 RTC,實時網(wǎng)絡(luò)通訊。
與 RTC 相比,WebRTC 僅僅是針對網(wǎng)頁實時通信所建立的標準,其中也只提供了基礎(chǔ)的前端功能進行實現(xiàn)。我們并不能簡單地將 WebRTC 與 RTC 劃等號。
WebRTC 強調(diào)“實時通訊網(wǎng)絡(luò)”。網(wǎng)絡(luò)早已無處不在了,但是否“實時”呢?大部分情況下不是。
首先,當前互聯(lián)網(wǎng)上最重要最基本的 HTTP 協(xié)議并不是為“實時”應(yīng)用設(shè)計的,當你訪問一個網(wǎng)站的時候,你發(fā)起請求,等候網(wǎng)站的服務(wù)器把內(nèi)容應(yīng)答送回到你的 PC 或者手機設(shè)備,雖然這個應(yīng)答可以非???,但本質(zhì)上是“請求-等候-應(yīng)答”,這個“等候”,往往是一個不易控制的時間變量。
事實上,對快慢的感覺不能定義實時。網(wǎng)絡(luò)的低延遲、高帶寬固然是實時性的一些保障,但不等同于實時。
用大白話來描述的話,實時視頻的目標,是把正在某個地方A發(fā)生的人和事,以幾乎零延遲、不失真的方式“同步”到另外一個地方 B,讓 B 的人瞬間看到、聽到,并且反之亦然。人和事都是在不斷的變化中,視頻需要以“流”的方式源源不斷的向遠端推送更新,A、B 兩地的人雖然隔著十萬八千里,但是他們之間的網(wǎng)絡(luò)能把“視頻流”瞬間同步,讓彼此感覺近在咫尺,這就是“實時”。
那么現(xiàn)在我們的“實時通訊網(wǎng)絡(luò)”,距離真正的實時還有多遠?
上述問題的簡單答案是,有點遠。
我們對“實時”的追求是無限的,詳細一點的解釋,可以借最近熱炒的“元宇宙”作為例子。元宇宙,是一個“仿真”或者說“全真”的互聯(lián)網(wǎng),它的特點之一,是利用極其強大的實時網(wǎng)絡(luò),把物理世界里事物的無限細節(jié)信息化并瞬間傳播給接收者,使其通過一些特殊設(shè)備去復(fù)原這些信息并最大程度感受到在原發(fā)地事物的原本樣子。
這些信息能包括些什么呢?例如有空間感的立體聲效(Spatial Audio),讓你在一個線上會議室里能聽到講話的人在自己的什么方位,讓你在一個虛擬社交沙龍里能聽到輕微的背景音樂、左邊一群人的閑言碎語、右邊吧臺上酒保的調(diào)酒聲;例如能足以讓遠端設(shè)備渲染還原成逼真 3D 效果的人或物的特征數(shù)據(jù),大至街景建筑小至毛發(fā)與臉部表情,讓你在虛擬空間里與其中的物品或人進行互動,像真的一樣; 假如有一天我們發(fā)明出能收集味道并信息化并在遠端通過刺激大腦皮層還原味道的設(shè)備,那么這又是一種需要傳送的數(shù)據(jù)。一句話,我們希望把任何物理距離以外的東西,色香味俱全的“同步”到自己的大腦。
如果說我們現(xiàn)在的互聯(lián)網(wǎng)是 2D 的話(即你只能面對一個屏幕這樣的二維平面去交互感知),元宇宙就是下一代 3D 互聯(lián)網(wǎng),你“沉浸”在其中,你被實時送達的數(shù)據(jù)包裹,你的眼耳鼻舌身意“六根”都在里面。不要以為這是科幻,一些技術(shù)已經(jīng)看的到摸得著,簡單者如 hubhub,復(fù)雜花哨者如 Google 的 Starline。
有興趣的小伙伴可以去看看 Metaverse Primer?
在 Matthew Ball 的“元宇宙入門”( Metaverse Primer)中,提到實時網(wǎng)絡(luò)是讓這一代沉浸式互聯(lián)網(wǎng)成為可能的8種最核心技術(shù)之一。海量數(shù)據(jù)的極低延遲實時傳輸能力,目前技術(shù)上還是有點遙遠。
雖然元宇宙還在“炒作曲線”的不知道哪個點上,可是一些實實在在的商業(yè)應(yīng)用場景確實已經(jīng)可以基于實時的視頻技術(shù)進行構(gòu)建。除了大家熟悉的直播帶貨、娛樂互動,還有虛擬展會、實時教練培訓(xùn)、遠程醫(yī)療(Telehealth)等等應(yīng)用,相信任何線下的場景,只要技術(shù)允許,都會有產(chǎn)生線上仿真的一天。
WebRTC 的里的“Web”部分,并非簡單無意義的泛指,而是特指 Web Browser(瀏覽器)。這個標準以及實現(xiàn)它的技術(shù),目前均已內(nèi)置在各主流瀏覽器中,理論上讓任何用戶通過任何 PC、Mac、iPhone、Android 甚至車載系統(tǒng)的瀏覽器,即可發(fā)起彼此之間的直接視頻語音通訊。
也就是說,張三和李四,不管人在何方,理論上只要各自有一臺設(shè)備運行一個支持 HTML5 標準的瀏覽器,即可以無需經(jīng)過“中間商”(互聯(lián)網(wǎng)大平臺、電信運營商等等)的通訊服務(wù)或渠道而建立這兩個瀏覽器之間的直接連接,實現(xiàn)傳說中的“點對點”(Peer-to-Peer)視頻通訊和文件分享!如果還有王五、陳六、何七幾位呢?歡迎加入,組成一個完全無障礙的、無服務(wù)器的、自組織的對等網(wǎng)絡(luò),每個人的瀏覽器都是這個網(wǎng)絡(luò)的節(jié)點,共同進行視頻會議、文件分享。
有點像 VR Pro Max 的感覺
無中間商賺差價、無互聯(lián)網(wǎng)大平臺收集通訊各方的隱私數(shù)據(jù),個人掌握自己的信息安全,也不依賴任何第三方,是不是忽然有一種自由飛翔的感覺?去中心化、點對點、對等網(wǎng)絡(luò),讓我們回憶到互聯(lián)網(wǎng)美好的蠻荒時代 – BT、電驢、迅雷… ?the good old days…
可惜暫時來說,上述情形只是一種理想,因為互聯(lián)網(wǎng)的實際環(huán)境復(fù)雜,例如我們每個人的上網(wǎng)設(shè)備實際上都是在某個小區(qū)寬帶、移動運營商網(wǎng)絡(luò)、酒店 WiFi、公司局域網(wǎng)等等的后面,互聯(lián)網(wǎng)實際上是由無數(shù)這樣大大小小的局部網(wǎng)絡(luò)通過一系列的網(wǎng)絡(luò)設(shè)備、網(wǎng)絡(luò)協(xié)議進行互聯(lián)互通的,鏈路上信息的傳遞通過不同網(wǎng)絡(luò)的設(shè)備進行層層轉(zhuǎn)發(fā)和網(wǎng)絡(luò)地址/端口的“翻譯”轉(zhuǎn)換,最終才到達某個個體設(shè)備。
在深圳南山區(qū)科技園某公司的員工張某,如何讓其瀏覽器發(fā)現(xiàn)并連接北京朝陽區(qū)某小區(qū)的群眾李某的瀏覽器設(shè)備地址,從而建立起點對點直連?沒有直接辦法。
現(xiàn)有的技術(shù)實現(xiàn)方案,依然是中心化的,即張某與李某,不得不通過一個第三方的服務(wù)來“發(fā)現(xiàn)”彼此的地址,這個環(huán)節(jié)叫做 Signaling(信令)。
“去中心化”臨門一腳,暫時沒有現(xiàn)成技術(shù),比較可惜。
有一些這方面的研究探索,待有志者進一步深入。
首先是關(guān)于技術(shù)本身的優(yōu)化與擴展。例如有人提出利用 Kademlia(一種 DHT/分布式哈希表的算法,被以太坊、Storj 等區(qū)塊鏈用于組網(wǎng))實現(xiàn)信令服務(wù)的去中心化。一篇 IEEE 的研究論文則探討了通過區(qū)塊鏈智能合約去提高 WebRTC 的安全性。
區(qū)塊鏈能借助WebRtc實現(xiàn)新的突破嗎
其次在應(yīng)用方面,有一種方案提出,在疫情以來遠程辦公比重日益增加的情況下,出于企業(yè)信息安全、合規(guī)留痕、工作效率管控等等原因,需要對例如銷售、服務(wù)等各種發(fā)生在公司外部的遠程通訊活動進行記錄,依靠現(xiàn)有的基礎(chǔ)設(shè)施提供商的 CDR(Call Detail Record)難以確立單一可信來源、追蹤上下文,可以結(jié)合區(qū)塊鏈與智能合約,對 WebRTC 的通訊記錄數(shù)據(jù)出塊,實現(xiàn)單一可信源拷貝、不可篡改以及分布式存儲等好處。
很多金融機構(gòu)的服務(wù),例如開戶或者購買理財產(chǎn)品等,需要遠程視頻見證,也許是區(qū)塊鏈+WebRTC 的一個很好的應(yīng)用場景。
講到未來,我們不得不先回顧一下這個技術(shù)的歷史。
2021 年 1 月 26 日,W3C 正式宣告 1.0 標準(“WebRTC 1.0:Real-Time Communication Between Browser”)。此前 WebRTC 經(jīng)歷了整整 10 年的發(fā)展:2011-2014 是這個技術(shù)的探索期,大家的主要疑問是:我是否應(yīng)該嘗試這個技術(shù)?2015-2019 是這個技術(shù)的成長期,隨著所有主流瀏覽器對 WebRTC 的支持,業(yè)界的問題變成:我該如何利用這個標準技術(shù)?有些什么應(yīng)用場景?2020 年開始迄今,是這個技術(shù)應(yīng)用的差異化時期。
WebRtc 的標識具有典型的 Google 配色
2020 年的新冠疫情,被認為對 WebRTC 技術(shù)產(chǎn)生直接促進性影響。視頻會議無處不在,Zoom 變成一個家喻戶曉的品牌(在國內(nèi)市場自然是某些互聯(lián)網(wǎng)巨頭的相應(yīng)品牌),可以說大眾對云端視頻會議的認知與接受度得到史無前例的加強。
同樣是 W3C 的標準,WebRTC 有沒有機會像 HTTP 之于“古典互聯(lián)網(wǎng)”一樣,成為下一代互聯(lián)網(wǎng)(無論你稱它為“實時通訊網(wǎng)絡(luò)”、“Web3.0”還是“元宇宙”)的基礎(chǔ)協(xié)議?回答這個問題,得了解一下 WebRTC 背后的真正“操盤手”。
操盤手是 Google – 它不僅推動 WebRTC 成為一個互聯(lián)網(wǎng)標準,也貢獻了大部分的底層開源技術(shù)。十年前 Google 干這事的動機是什么呢?大概有這么幾個原因:
WebRTC 標準與技術(shù),最終贏得了 Firefox、Opera、Apple Safari、Microsoft Edge 以及各種 Chrome 變種瀏覽器的支持,從這個角度看,是取得巨大的成功。但比較諷刺的是,Google 自己的產(chǎn)品中涉及視頻的,似乎都沒有太取得商業(yè)上的成功。例如視頻會議方面,大家甚至都不太想起 Google 也有這方面的產(chǎn)品(而且質(zhì)量不錯),反而 Google 的競爭者們不少都采用 WebRTC 卻取得競爭優(yōu)勢。
WebRtc 在各瀏覽器中的支持程度超過 90%
當 WebRTC 成為公共標準后,Google自己貌似在開始與 WebRTC “脫鉤”,開始投資到另一個全新的技術(shù)棧:WebTransport + WebCodecs + WebAssembly。其中 WebTransport 主要基于 QUIC(HTTP/3的傳輸層協(xié)議),帶來更低的網(wǎng)絡(luò)延遲,更適合視頻類應(yīng)用。WebCodecs 內(nèi)置于瀏覽器,讓其有獨立的音視頻編碼解碼能力。WebAssembly,一個已經(jīng)發(fā)展了相當長時間、進入成熟期的開源技術(shù),它不僅讓瀏覽器渲染執(zhí)行 JavaScript 代碼的性能獲得“原生”級別的提升,更重要的是它可能支持機器學(xué)習方面的結(jié)合。
如果 Google 作為 WebRTC 開源技術(shù)的主要推手,不再投資到其中,那么 WebRTC 1.0 之后,除了修修補補的小版本,還有持續(xù)發(fā)展的未來嗎?我們基于 WebRTC 打造應(yīng)用,是否得擔心一下?
WebRTC 成為下一代互聯(lián)網(wǎng)的實時應(yīng)用基石,估計有點懸,因為確實有潛在的更優(yōu)解在那里。但是,對于應(yīng)用開發(fā)者,未來幾年內(nèi),WebRTC可能就是我們的最優(yōu)解,原因有三:
作為應(yīng)用開發(fā)者,可以做的事情是應(yīng)用場景的創(chuàng)意發(fā)掘與創(chuàng)新,是促進一個標準/技術(shù)繁榮有生命力的最佳保證。
Alexa,亞馬遜的智能音箱 Echo 里的智能助手,采用 WebRTC。
Facebook Messenger、Discord、Amazon Chime、Google Meet/Hangout/Duo,都是基于 WebRTC 的視頻通訊工具、視頻會議應(yīng)用。
Clubhouse,2021 年現(xiàn)象級的語音社交工具。
Chrome Remote Desktop,遠程桌面工具。對于一般商務(wù)人士例如市場、銷售等等來說,可能過于技術(shù),難以駕馭。但這種工具為什么沒有人深入研究借鑒一下,發(fā)展出實時遠程銷售培訓(xùn)、實時遠程機器維修人員培訓(xùn)、實時遠程醫(yī)療人員培訓(xùn)這樣的東西呢?
最后必須特別推薦三個值得關(guān)注的 WebRTC 相關(guān)公司及其應(yīng)用場景:
peer5.com
Peer 5,一個基于 WebRTC 的 eCDN(企業(yè)內(nèi)容分發(fā)網(wǎng)絡(luò)),對內(nèi)容進行網(wǎng)絡(luò)加速,充分利用到 WebRTC 內(nèi)置在瀏覽器中的 P2P 能力。今年8月份被微軟收購。這是一個借力新標準、開源技術(shù)成就一家創(chuàng)業(yè)公司的成功故事。
hopin.com
Hopin,一家英國的獨角獸公司,采用 WebRTC 打造“虛擬活動平臺”,成立兩年成功融資 5 億 7 千萬美元、收購 4 家公司。
stadia.com
Stadia,這是 Google 嘗試進軍游戲行業(yè)的一大嘗試,能否成功不去討論。其有趣的地方是開啟 Cloud Gaming 這一領(lǐng)域,也可以稱之為“Gaming As A Service”(游戲即服務(wù))或者“On-Demand Gaming”。怎么理解它呢,一直以來我們打 Xbox、任天堂的游戲,都是需要買一個游戲機,打不同的游戲就放進去不同的游戲光盤。 Cloud Gaming,就是你不需要本地的光盤了,游戲在云端運行,然后通過流媒體的方式傳輸?shù)侥愕钠聊簧?,就像你在電視上點播電影一樣,但你用游戲手柄可以與“電影”互動。
你怎么看待 WebRtc 在未來的發(fā)展?歡迎與我們交流。
更多精彩內(nèi)容,關(guān)注鈦媒體微信號(ID:taimeiti),或者下載鈦媒體App
2022-09-14 鈦媒體 App發(fā)布了 《星巴克加碼中國市場,未來三年要新增開3000家門店|鈦快訊》的文章
2022-08-11 鈦媒體 App發(fā)布了 《白云山麾下公司虛抬藥價“把戲”,被拆穿了》的文章
2022-07-06 鈦媒體 App發(fā)布了 《為了幫00后卷王找到工作,簡歷修改師們拼了》的文章
2022-07-06 鈦媒體 App發(fā)布了 《威尼斯向游客收“進城費”,國內(nèi)城市如何借鑒?》的文章
2022-03-25 鈦媒體 App發(fā)布了 《蔚來2021年財報發(fā)布:年營收361億元,整車毛利率達到20.1%》的文章