第一版穩(wěn)定的ORTC(對(duì)象RTC)規(guī)范已經(jīng)發(fā)布。問(wèn)題是,它會(huì)對(duì)WebRTC產(chǎn)生什么樣的影響呢?
讓我們回顧一下,在2013年,Hookflash的首席架構(gòu)師Robin Raymond就表達(dá)了對(duì)于在WebRTC中使用SDP(會(huì)話描述協(xié)議)的不滿(mǎn)。他總結(jié)了自己關(guān)于SDP的問(wèn)題,如下:
- 不需要——太多高層次的API
- 晦澀難懂的格式——遺留下來(lái)的,而且有問(wèn)題
- 要求沒(méi)有得到應(yīng)答
- 不兼容
- 缺少API契約
- 無(wú)法真正解決與遺留系統(tǒng)兼容性的問(wèn)題
在接下來(lái)的幾個(gè)月間,其他成員加入進(jìn)來(lái),成立了W3C對(duì)象RTC (ORTC)社區(qū)小組,要定義“一系列WebIDL中的ECMAScript API,讓媒體可以從其他瀏覽器或者設(shè)備進(jìn)行發(fā)送和接收”。該小組當(dāng)前擁有60名成員,包括微軟和Google,并且已經(jīng)產(chǎn)出了第一個(gè)穩(wěn)定的規(guī)范草案: 針對(duì)WebRTC的對(duì)象RTC(ORTC)API。
Doug Mahugh(微軟)認(rèn)為“ORTC現(xiàn)在已經(jīng)完成了足夠多的內(nèi)容,可以實(shí)現(xiàn)以獲取經(jīng)驗(yàn),從而可以號(hào)召更多人來(lái)對(duì)其進(jìn)行實(shí)現(xiàn)。” 他概述了一些原因,來(lái)說(shuō)明為什么ORTC有用:
ORTC API很適合“移動(dòng)優(yōu)先,云優(yōu)先”的世界,因?yàn)樗С指呒?jí)視頻特性,像可伸縮的視頻編碼和simulcast。這些高級(jí)視頻技術(shù)已經(jīng)被證實(shí)難以在WebRTC 1.0中的SDP中以可互操作的方式支持。相對(duì)而言,在JavaScript對(duì)象API中利用這些高級(jí)視頻技術(shù)會(huì)更簡(jiǎn)單。
此外,ORTC FAQ中的問(wèn)題,也讓大家發(fā)現(xiàn)需要?jiǎng)?chuàng)建新的web通信規(guī)范:
通過(guò)JavaScript,ORTC可以更好地訪問(wèn)更多控件。這樣,在web開(kāi)發(fā)者構(gòu)建實(shí)時(shí)通信應(yīng)用程序和特性的時(shí)候,就有更多能力和靈活性。比方說(shuō):分層視頻編碼、根據(jù)每個(gè)軌道設(shè)置編碼格式等等。
并且
ORTC的主要API都是用JavaScript編寫(xiě)的。想要在WebRTC 1.0中修改同樣的控件,可能需要瀏覽源代碼的變化。當(dāng)我們問(wèn)web開(kāi)發(fā)者更喜歡哪種的時(shí)候,大多數(shù)人都說(shuō)更喜歡在應(yīng)用程序中可以訪問(wèn)更多控件,而不需要等瀏覽器或者其他軟件廠商的更新。
既然微軟和Google都在推動(dòng)ORTC,大家可能會(huì)想,WebRTC會(huì)走向何方? 由于多家瀏覽器廠商——Google、Mozilla、Opera、微軟——都已經(jīng)投入大量資金來(lái)支持WebRTC,所以它不會(huì)被拋棄,而是會(huì)做調(diào)整來(lái)支持ORTC。據(jù)Google的Justin Uberti所說(shuō),WebRTC 1.1會(huì)集成ORTC。因此,開(kāi)發(fā)者不需要重新編寫(xiě)他們的RTC應(yīng)用程序,但是還是建議轉(zhuǎn)而使用ORTC API,因?yàn)樵跒g覽器中使用它更自然一些。
在GitHub上有大量類(lèi)庫(kù)幫助開(kāi)發(fā)者使用ORTC: 針對(duì)客戶(hù)端的JavaScript shim library for WebRTC、針對(duì)服務(wù)端應(yīng)用程序的Node.js庫(kù)以及針對(duì)移動(dòng)設(shè)備的C++ wrapper。
據(jù)Uberti和Google的Serge Lachappelle所說(shuō),迄今為止已經(jīng)有大概450家公司開(kāi)發(fā)了WebRTC應(yīng)用,并且有大概17億臺(tái)設(shè)備支持它(參見(jiàn)視頻@ 43m40s),到2018年,這個(gè)數(shù)量預(yù)計(jì)會(huì)增長(zhǎng)到40億,因?yàn)樵谒心切┰O(shè)備中,WebRTC會(huì)被用于視頻聊天,語(yǔ)音通話、文件共享等等,Google的一個(gè)團(tuán)隊(duì)還演示通過(guò)WebRTC操作帶有3D攝像頭的路虎汽車(chē)。