WebRTC是什么

2016-09-09 root

20141113082425374.jpg

你是否经历过在浏览器里拨打VOIP电话,或者进行视频聊天的时候要求安装一些Flash或Java插件呢?非常让人讨厌,对吗?好吧,大家很快就会开心啦,为了要解决上述问题,WebRTC蕴育而生。

WebRTC的全称是网页实时通讯(Web Real Time Communication),它无需插件,就可以实现浏览器之间的交流功能,这意味着终端用户(比如,你)无需安装任何东西,就能在浏览器里面进行实时地声音和视频通话。使用WebRTC,把它作为基于浏览器的VoIP客户端,允许用户快速、便捷地进行免费的电话会议。

但是WebRTC的功能绝不仅仅是支持电话会议:虽然WebRTC可以用于日常通话没,但它还允许开发人员轻松嵌入实时地音频和视频,而且他们的产品还有文件共享的功能。对于那些依赖于实时通讯功能的开发商而言,有了WebRTC,他们产品正式投放到市场上的时间将会被大大缩短,而且开发成本也会降低。比如,开发人员加一个VoIP客户端到自己的应用程序里就像HTML5增加一个“拖拽功能”一样简单。

WebRTC将会影响整个VoIP行业,因为在统一的通讯领域里,WebRTC攻克了进入市场的堡垒。其他的产品,比如WebEx和GoToMeeting,他们都依赖于第三方程序安装,因此,这些企业要么强迫自己做出改变,要么就接受被淘汰的结果。

作为一名程序开发人员,想象一下,如果你可以快速的集成像Google Hangouts这样的产品功能,而且还不必花费数千小时的时间,以及数百万美元的研发经费,这是多么美好的一件事啊!不过WebRTC之所以可以快速的让自己的业务开展起来,谷歌公司提供了很大的帮助,有许多谷歌的开源技术都应用在了WebRTC产品里面。

WebRTC曾在2011年五月被谷歌公司开源,从那时开始, 他们就一直努力工作,在互联网工程任务组(IETF)框架下标准化其协议,以及定义互联网浏览器的应用程序接口。WebRTC项目是由谷歌,Mozilla,以及Opera三家公司联合赞助的。

WebRTC为程序员提供了三个主要的组建。首先是“GetUserMedia”组件允许浏览器访问用户的摄像头和麦克风,(之前的浏览器安全协议会阻止这项功能,这样就必须药借助第三方英语或像Flash这样的插件)。第二个组件是“PeerConnection” ,允许开发人员设置音频和(或)视频通话。最后一个组件是“DataChannels”,它可以通过浏览器实现P2P的文件分享功能。

谷歌的Chrome和火狐浏览器是支持WebRTC最主要的两款浏览器,在2013年初,就已经实现了上述功能。至于微软的IE浏览器和苹果的Safari何时或是是否确定支持WebRTC,目前还不得而已,但是,在这些浏览器中一些开源的插件以及可以支持WebRTC了。

在没有WebRTC产品之前,如果用户想要利用内置在网页浏览器里面的实体交流功能发起一个童话或是分享一个文件,可能需要有如下操作体验:

点击链接到WebEx,GoToMeeting,或是音频/视频会议。

下载并安装一个非常大的Java安装程序,或Flash SWF。

等待.

等待其他人完成上述操作加入你的视频会议或其他通话。

加入会议,可能是在网页浏览器内,也可能是在网页浏览器外的某个应用程序之中。

这种用户体验非常差,而且很耗时,功能臃肿,缺乏对浏览器的整合,因为在大多数情况下,你不得不要离开浏览器才能进行实时通讯,而且如果要安装并验证一个闪存文件,也会给用户带来一种不连贯的使用体验。

而在WebRTC的世界里,情况则完全不同:

点击链接到网页应用,在上面已经设置好了视频会议和通话。

允许WebRTC使用麦克风 (首次设置即可).

在浏览器内即可开始会议。

这种用户体验是很快的,而且用户感觉也很紧密。用户不再需要离开自己的浏览器或是安装一个第三方软件就可以进行实时通讯工作了,所有的一切就是启动一个网页应用,就这么简单。