2015年11月11日,由聲網(wǎng)(Agora)與美國 TMC 聯(lián)合主辦的亞太區(qū)首屆(WebRTC)網(wǎng)絡實時通信大會在北京中關(guān)村皇冠假日酒店舉行,聲網(wǎng)(Agora)創(chuàng)始人趙斌在開場致辭中表示,“WebRTC是互聯(lián)網(wǎng)行業(yè)在實時通信領域影響深遠的一項努力,它的目標是通過互聯(lián)網(wǎng)為每個用戶創(chuàng)建完整的實時音視頻通話能力,同時還大幅降低了開發(fā)人員實現(xiàn)實時音視頻通信功能的門檻。”WebRTC 大會已經(jīng)由 TMC 在美國連續(xù)舉辦了三年,這是首次走進亞洲。
會上,InfoQ 對 WebRTC 之父 Daniel C.Burnett 進行了專訪,聲網(wǎng)(Agora)副總裁、北美業(yè)務負責人王驊補充了部分問題,以下是專訪實錄。(注:Daniel 在訪談中的觀點僅代表他本人及其在 W3C 所做的工作。)
InfoQ:JavaScript 之父 Brendan Eich(Mozilla 前 CTO)曾說過,“WebRTC is a new front in the long war for an open and unencumbered web.”,您怎么理解他的這句話?
Daniel C.Burnett:在網(wǎng)絡上如何自由地溝通一直存在著很大的空間。谷歌想把網(wǎng)頁版應用的體驗做的和 Native 應用一致,但是他們很快發(fā)現(xiàn),谷歌自身的產(chǎn)品諸如 Google Docs、Gmail 等并沒有解決通訊的問題,也就是說它們不能控制麥克風、攝像頭以及人與人之間的通訊。所以我同意 Brendan Eich 的說法,這對互聯(lián)網(wǎng)和 Web 來說是一件大事。
InfoQ:據(jù)了解,WebRTC 聯(lián)盟曾故意遺漏信令標準來避免沖突,但此舉造成后來廠商使用各不相同的協(xié)議,包括 SIP、WebSockets 以及 HTTP 協(xié)議。您認為這個問題應該怎么解決?
Daniel C.Burnett:哈哈,我認為這是 W3C 做的最好的決定。有的廠商想強制把 SIP 作為瀏覽器通訊的信令,但是這樣的話,你想用 XMPP 或者 Jingle 就不可能了。與其抄襲過時的電話網(wǎng)絡用 SIP 協(xié)議,不如把這一部分留白,讓大家自己選擇何種實現(xiàn)。有人詬病 SIP 信令層的借口是 SIP 層沒有很好的 JavaScript 庫。顯然這個說法是錯誤的,事實上有很多很好的 JavaScript 庫可以用。所以,如果你一定要用 SIP 做信令層,有很多很好的 JavaScript 庫供你選擇,但是你不會因此受限制,這才是互聯(lián)網(wǎng)真正該有的樣子。
InfoQ:隨著企業(yè)云通信市場的發(fā)展,許多廠商和開發(fā)者并沒有等 WebRTC 最終定稿便投入到產(chǎn)品研發(fā)中,這對未來 WebRTC 標準的制定有哪些不利的影響?在您看來有沒有像 Flash 之于 HTML4 那樣的產(chǎn)品或者技術(shù)來促成 WebRTC 標準的制定?
Daniel C.Burnett:早期吃螃蟹的人,他們的反饋對 WebRTC 標準的制定也是至關(guān)重要的,這對未來標準的制定是很有幫助的。互聯(lián)網(wǎng)本來就是快速迭代的過程,產(chǎn)品要不斷試錯,我們 WebRTC 標準的制定也遵循這樣的規(guī)律。
HTML5 的多媒體標準分好幾部分,WebRTC 是其中的一部分。一個好消息是,WebRTC 的標準制定比較超前,很多 HTML5 其他工作組的標準制定者對這一方面的工作十分關(guān)心,最終的結(jié)果是 HTML5 和 WebRTC 會很好地共存,兩者之間的溝通其實是無縫的。舉個例子好了,目前 HTML5 標準里沒有很好地定義音頻應該輸出到麥克風還是揚聲器,現(xiàn)在 WebRTC 已經(jīng)作出了一些可選擇的方案,HTML5 和 WebRTC 正在密切協(xié)作以改進這個標準,其結(jié)果是二者會很相似,于開發(fā)者而言將不再會面臨兩種標準的困擾。
InfoQ:開發(fā)者對實現(xiàn)通信受既有概念的束縛是對 WebRTC 和云通信的真實挑戰(zhàn),比如企業(yè)中的電話會議依然是很受信賴的形式。怎么改變這種局面?
Daniel C.Burnett:有些協(xié)議和標準的制定者認為,標準或者說規(guī)范越少、越簡單越好。但 WebRTC 標準制定者認為還是應該稍微多給定一些標準和規(guī)范,于是我們多給了一些,但這多給出的部分依然不夠,這也是為什么我寫了《WebRTC權(quán)威指南》這本書。
WebRTC 的目的就是打破常規(guī)的人們對電話的固有認識,把人和人之間的互動、溝通加入到人們?nèi)粘9ぷ髁鳌⑷我獾腁PP當中;而不是在這個APP中內(nèi)置一個電話功能,這種思想是錯誤的。正確的思想是,通訊應該是一種功能,而不是一種應用。也就是說,讓打電話不再只是打電話,他就是人與人之間自然的交流。比如,電話不再是一個物理的設備,現(xiàn)在的智能可穿戴設備將來都有可能取代打電話這件事,而且未來的通訊不止是人跟人之間,有可能是人跟物之間發(fā)生。
王驊補充道:再比如,視頻通訊不應該被視為“我能看到你的臉”,人們看到的可能是一個大的數(shù)據(jù)流——通過大數(shù)據(jù)的挖掘,你的心跳、體溫、臉色等等都可以通過攝像頭傳輸過來。這跟傳統(tǒng)的電話的模式有根本的區(qū)別。
InfoQ:在從事 WebRTC 開發(fā)的廠商中,與運營商合作是一個選擇,打造更強大的 SDK 和更富彈性的服務也是一種選擇。您怎么評價這兩種策略的未來發(fā)展?您對 WebRTC 技術(shù)在中國的發(fā)展有哪些期望?
Daniel C.Burnett:我是 WebRTC 標準的制定者,對商業(yè)模式的話題并不方便也不適合回答。
王驊:如果從市場的角度來看,提供 SDK 的公司只是給開發(fā)者提供了一種便利,因此很難生存。用戶需要的是提供一個穩(wěn)定、可靠的點對點通訊服務。以美國市場為例,現(xiàn)有的20多家提供 SDK 的廠商已經(jīng)有7、8家被收購了,這種收購不是以大的價值被收購的,而是活不下去才不得不被收購。
在國內(nèi)市場方面,國內(nèi)瀏覽器廠商都不大,很多廠商使用的都是同樣的開源代碼,我們很驚喜地發(fā)現(xiàn)有些代碼寫一遍在各家的瀏覽器上都可以運行。在微軟慢慢往 WebRTC 這個方向靠攏之后市場方面的問題應該不大。這的確是一個比較對大家利好的事情,從運營商的角度來,他們主要是做基礎建設和賣數(shù)據(jù)流,在這些數(shù)據(jù)上會衍生出很多公司和各種豐富的服務,最基本的可能是音視頻服務,但遠遠不止這些。只要政策上面沒有太多的干預,這個行業(yè)將會有很大的爆發(fā)。
InfoQ:目前支持 WebRTC 的瀏覽器有 Chrome、Firefox、Opera 以及在此基礎上的衍生產(chǎn)品。阻礙了 WebRTC 跨瀏覽器支持的因素有哪些?微軟的 IE 瀏覽器(微軟一直在推進自己的 WebRTC 版本)和蘋果的 Safari 不支持 WebRTC 的主要原因是什么?
Daniel C.Burnett:過去的幾年里我被無數(shù)次問到這個問題。我不為微軟和蘋果工作,我很難知道他們是怎么想的。
然而,微軟在我們最初在討論 WebRTC 標準的時候,Skype 里的確有一些有遠見的人愿意參與,但是當時正值微軟收購 Skype 時期,這些人都不能說話,因此微軟沒能參與進來;等收購結(jié)束他們能參與進來的時候,W3C 已經(jīng)決定使用另外一套方案了。Skype 的人再想走另外一條道路的時候,已經(jīng)基本不可能了,所以最終微軟選擇的是一個非標準的 ORTC。
最初微軟推出 ORTC 是想跟 WebRTC 分庭抗禮,但從去年開始兩邊有了一定的溝通,在 WebRTC 1.0 版之后他們能互相兼容,慢慢在標準上會互相靠攏。微軟的新瀏覽器 Edge 已經(jīng)支持了 ORTC,有跡象標明微軟會在 JavaScript 庫方面與 WebRTC 做兼容,從這個角度來看很有可能未來 Chrome、IE、FireFox 會站在一起。
至于蘋果,沒有人知道蘋果到底要做什么直到他們 release。在過去的一年里,我們偶爾發(fā)現(xiàn)會有蘋果的人來旁聽了一下 WebRTC 的標準討論。最近我們發(fā)現(xiàn)蘋果在招聘 WebRTC 的開發(fā)崗位。所以大家還是很希望蘋果能在兼容性方面能做點什么的。
要猜大公司什么時候決定支持什么樣的東西是很難的,但我認為谷歌、Mozilla 和微軟都站在了一起,這對蘋果來說是個威脅,蘋果如果不參與進來,就有可能被孤立。蘋果內(nèi)部可能有一些考慮,這些我就不得而知了。
王驊:最近亞馬遜、思科、谷歌、英特爾、微軟、Mozilla 和 Netflix 組建了開放媒體聯(lián)盟,這對蘋果會形成一定的壓力,我們也希望看到蘋果會支持 WebRTC。