分类: 技术雷达, 新兴技术

What is WebRTC?

WebRTC是Web Real-Time Communication的简称,它是谷歌的一个开源项目,其目的是通过一系列的协议和规范来让浏览器提供支持实时通讯功能的API接口,这样在浏览器中通过简单的接口调用即可实现本地音频、视频等资源的实时共享。

早在 2009 年,Google的一名员工就提出了该想法,随后便有几位对此想法有兴趣的人开始投入精力开发,不久后关于获取本地资源的差异性问题都已经解决,唯一的难点就是解决实时通讯。与此同时,随着Chrome浏览器的推广, Google开始对此想法投入大量的精力,在2011年收购了当时拥有实时通讯所需低级组件的Gips公司后,实时通讯的难题也逐渐得到解决,随后WebRTC便应运而生。

(图片来自:http://t.cn/RQ3FnsC

Why WebRTC ?

在没有WebRTC之前,如果要在浏览器中实现实时通讯只有两种方式:

  • Flash: Flash顾名思义是通过Flash技术来实现本地音、视频资源共享。而使用Flash最大的问题在于Flash只能提供质量较差的视频及音频资源,而且运行时还需要服务器许可证。
  • Plug-in: Plug-in是通过给浏览器安装支持访问本地资源的插件来实现对本地音、视频资源的共享。而使用Plug-in最大的问题在于维护成本太高,因为不同的浏览器,不同的系统需要提供不同版本的插件,这样则导致一个功能需要针对不同的平台去做开发。

通过比较,很明显可以发现,WebRTC仅仅通过浏览器提供的同样的API接口,就可以实现实时通讯,而在开发过程中不用去关心平台和兼容性甚至安全性问题,那么实时通讯的实现成本就会降低很多。因此,很多网站已经开始使用WebRTC技术来实现实时通讯功能。

Why ASSESS ?

WebRTC在解决Web实时通讯问题中可以说是首选方案,但为什么在我司的技术雷达中仍然处于“评估”呢?我觉的目前最主要的一个问题是浏览器支持程度。这里是WebRTC对浏览器最新的支持情况,明显可以看出,WebRTC目前是不支持任何IOS设备的,这将使 WebRTC的适用性大大降低。其次,出于安全性考虑,所有使用WebRTC的站点必须使用 HTTPS协议,这又大大的限制了WebRTC的适用范围。

虽然如此,WebRTC依然是目前在浏览器实现AR/VR技术最简单易用的流媒体平台,加之Apple已经明确表示在未来的Safari中将支持WebRTC,不知道在IOS设备支持WebRTC及浏览器中AR/VR技术普遍采用WebRTC后,WebRTC是否会迎来突飞猛进的发展呢?


点击这里查看最新版技术雷达

Share

发表评论

评论