WebRTC的现状

随着移动互联网和智能硬件的快速发展,音视频技术从独立应用普及到了嵌入式应用中,不管是智能硬件、手机应用或是Web程序中的许多模块都越来越依赖于音视频技术。2011年Google将WebRTC项目开源,让许多开发者眼前一亮,忍不住的加入了研究WebRTC的队伍中。他们大多数都认为WebRTC是Google公司的开源项目,肯定是拿来就用,而且效果还能很不错,想着开发高大上的音视频功能由此会变得so easy。

但是!WebRTC的开发真的是Google送到嘴边的免费午餐吗?下面来介绍一下WebRTC自身发展的现状,以及目前开发WebRTC的现状。

WebRTC在被Google开源之前,其价值就已经得到了充分的认可,比如QQ就使用了WebRTC的部分技术。WebRTC的发展情况可以从标准规范和浏览器支持这两个方面看。WebRTC标准是由W3C和IETF所联合制定的,在2016年1月28日,W3C公布了最新的WebRTC标准,标准中定义了WebIDL中一系列的ECMAScript API来允许使用合适的RTP的浏览器或设备来接收/发送媒体,详细内容可以访问https://www.w3.org/TR/webrtc/。关于浏览器的实现现状,目前市面上主流浏览器中支持WebRTC的有Google Chrome浏览器、Firefox浏览器和Opera 20浏览器,但是IE浏览器及Apple Safari浏览器还未支持WebRTC技术。

WebRTC的开发现状其实并不像大多数人所想象的那么简单,人们普遍的认为WebRTC的代码是开源的所以花很少的时间就能将其集成到项目中去,并且Google这么大的公司的产品质量一定没问题。但是在项目进行中,大家都会发现,WebRTC并不是一块Google白送到面前的肉。首先,编译WebRTC的源码就是一个比较大的挑战,搭建其复杂的编译环境往往会遇到很多意想不到的问题,导致当初计划用几个星期的时间来搞定项目,却发现这几个星期连编译都没搞定。还有,WebRTC中很多的参数都是由GIPS公司的工程师们依靠经验所设定的值,这就会出现卡顿、延时、回声、丢包、多人视频不稳定等问题,并且由于公网的稳定性或机型适配等外在因素,以上问题在项目上线后会更加严重。总而言之,WebRTC虽然提供了一套音视频实时通讯的解决方案,但是在实际应用中,由于网络传输、设备适配以及多方通话上都存在很多问题,效果并不理想。

可见WebRTC的开发并不像大部分人想象的那样容易。在自己开发WebRTC之外,目前在市场上有很多第三方的音视频SDK可供选择,比如声网、腾讯、Intel、天翼RTC、网易云信、环信、融云、anychat等等,虽然这么多厂商提供的服务都大同小异,但他们的技术架构可能完全不同,比如天翼RTC是WebRTC SDK,腾讯是Native SDK。各厂商的优劣势也很明显,比如声网的全球部署能力、低延时、抗丢包技术都属于业界领先。

由于WebRTC的复杂性和尚未完善性,下面的这些建议结合自己的实际参考:
1、音视频不是公司的核心方向,建议使用第三方SDK。
2、项目时间紧,有多人视频场景,使用场景依赖于手机端,建议使用第三方SDK。
2、公司没人音视频技术人才,建议使用第三方SDK或者技术外包。
3、如果公司实力、财力、人力雄厚,时间也不紧急,可考虑WebRTC集成开发,虽然会有很多坑,但总是能填平的。
4、如果音视频技术是公司的核心方向,但不想花太多时间去研究WebRTC,可直接找熟悉WebRTC的人来培训。
5、项目时间不紧急、没有多人视频需求且音视频质量要求不高,可考虑WebRTC集成开发。

填写常用邮箱,接收社区更新

WebRTC 中文社区由

运营