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