来自:http://www.infoq.com/cn/news/2014/08/ortc-webrtc
第一版稳定的ORTC(对象RTC)规范已经发布。问题是,它会对WebRTC产生什么样的影响呢?
让我们回顾一下,在2013年,Hookflash的首席架构师Robin Raymond就表达了对于在WebRTC中使用SDP(会话描述协议)的不满。他总结了自己关于SDP的问题,如下:
- 不需要——太多高层次的API
- 晦涩难懂的格式——遗留下来的,而且有问题
- 要求没有得到应答
- 不兼容
- 缺少API契约
- 无法真正解决与遗留系统兼容性的问题
在接下来的几个月间,其他成员加入进来,成立了W3C对象RTC (ORTC)社区小组,要定义“一系列WebIDL中的ECMAScript API,让媒体可以从其他浏览器或者设备进行发送和接收”。该小组当前拥有60名成员,包括微软和Google,并且已经产出了第一个稳定的规范草案: 针对WebRTC的对象RTC(ORTC)API。
Doug Mahugh(微软)认为“ORTC现在已经完成了足够多的内容,可以实现以获取经验,从而可以号召更多人来对其进行实现。” 他概述了一些原因,来说明为什么ORTC有用:
ORTC API很适合“移动优先,云优先”的世界,因为它支持高级视频特性,像可伸缩的视频编码和simulcast。这些高级视频技术已经被证实难以在WebRTC 1.0中的SDP中以可互操作的方式支持。相对而言,在JavaScript对象API中利用这些高级视频技术会更简单。
此外,ORTC FAQ中的问题,也让大家发现需要创建新的web通信规范:
通过JavaScript,ORTC可以更好地访问更多控件。这样,在web开发者构建实时通信应用程序和特性的时候,就有更多能力和灵活性。比方说:分层视频编码、根据每个轨道设置编码格式等等。
并且
ORTC的主要API都是用JavaScript编写的。想要在WebRTC 1.0中修改同样的控件,可能需要浏览源代码的变化。当我们问web开发者更喜欢哪种的时候,大多数人都说更喜欢在应用程序中可以访问更多控件,而不需要等浏览器或者其他软件厂商的更新。
既然微软和Google都在推动ORTC,大家可能会想,WebRTC会走向何方? 由于多家浏览器厂商——Google、Mozilla、Opera、微软——都已经投入大量资金来支持WebRTC,所以它不会被抛弃,而是会做调整来支持ORTC。据Google的Justin Uberti所说,WebRTC 1.1会集成ORTC(参见这个视频@ 29m20s)。因此,开发者不需要重新编写他们的RTC应用程序,但是还是建议转而使用ORTC API,因为在浏览器中使用它更自然一些。
在GitHub上有大量类库帮助开发者使用ORTC: 针对客户端的JavaScript shim library for WebRTC、针对服务端应用程序的Node.js库以及针对移动设备的C++ wrapper。
据Uberti和Google的Serge Lachappelle所说,迄今为止已经有大概450家公司开发了WebRTC应用,并且有大概17亿台设备支持它(参见视频@ 43m40s),到2018年,这个数量预计会增长到40亿,因为在所有那些设备中,WebRTC会被用于视频聊天,语音通话、文件共享等等,Google的一个团队还演示通过WebRTC操作带有3D摄像头的路虎汽车(参见视频@ 2m36s)。
查看英文原文:ORTC and the Future of WebRTC