Salvatore Loreto, Simon Pietro Romano
网页实时通信(WebRTC)是一个即将到来的标准,其目的是在网页浏览器中赋予点对点实时通信的能力。IETF RTCWeb以及W3C WebRTC工作组正在为下一代浏览器之间建立和管理可靠通信通道,而共同定义API以及底层通信协议。
现在,支持网络上实时通信的势头伴随着两大互联网标准化团体—IETF和W3C正在逐渐增大。
在此领域的标准化工作目的在于规定一个W3C API使网页应用能够在任何设备上运行—从安全接口到输入外设(例如网络摄像机和麦克风)—在浏览器之间点到点的发送和接收实时媒体和数据。API的设计必须允许网页开发人员在通信会话中实现寻找和连接参与者的功能。W3C的API将会依赖于现存的协议—那些已经被IETF认定为路由网络相关方面最适当的协议(控制协议,连接建立及管理,无连接传输,最佳编码器及译码器的选择,等等)。但是,在两种标准化工作之间并没有明显的分别,其十分明显地在单一端点的应用层责任上进行了交叉,以及与远端端点之间的交互。
这个向浏览器激活的RTC的偏移体现了一个重大的突破,并且促动了很多企业和学术研究人员的工作。在本文中,我们讨论了人们对于将交互式多媒体特征集成到网页应用中所日益增强的兴趣。
我们如何做到的?
在一些文章中曾经尝试过用基于浏览器的RTC替代传统通信服务。在一个显著的例子中,研究人员对比了传统电信系统和基于网页系统的复杂度,得到的结论是前者应该往后者靠拢以使得这样的通信能够适用于尽可能多的人。这篇文章也为一个(现在已经过时的)互联网草案铺好了路来描述一个到SIP的平静的接口。研究人员和实现者已经在同一方向上做了很多其他工作,但通常使用非标准的方法(比如,使用适当的插件,像Adobe Flash或者Microsoft ActiveX)而且没有记录下来。一个显著的例外是爱立信实验室的近期工作,研究人员们尝试通过利用临时的JavaScript API和利用了gstreamer的合适的WebKit(参见https://labs.ericsson.com/developer-community/blog/beyond-html5-peerpeer-conversational-video),在浏览器自身中添加本地支持给RTP和媒体设备。
这说明,这种靠拢已经使主要标准团体为了解决问题而开始新的努力,最终成为两个不同却相关联的工作组:IETF的RTCWeb(http://tools.ietf.org/wg/rtcweb/charters)和W3C的WebRTC(http://www.w3.org/2011/04/webrtc-charter.html)。RTCWeb主要的精力放在IETF任务组必须涉及的协议和交互上,其中包括与遗留系统(比如现有的电信系统)的互操作。WebRTC的目的是定义一个API,使浏览器、脚本语言,能够和媒体设备(麦克风,网络摄像头和扬声器)、处理设备(编码器/解码器),以及传输函数之间进行交互。这些工作很可能将来会拓展和加强HTML5规范,这些规范已经为从服务器到浏览器的多媒体推流提供了一个规范的方式。
这两个工作组都必须考虑到以后可能会出现的各种安全问题。我们期望能够在这些工作组解散之前看到一些协议得到启用。