第一版稳定的 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
评论