首先说WebRTC是啥,WebRTC简单通俗的来说就是网页即时通信,就是通过网页来实现即时通信。
自从WebRTC项目被Google开元之后,不少前端开发者眼前一亮,终于自己也可以做个视频通话或者直播业务了。WebRTC标准是由W3C和IETF所联合制定的,在2016年1月28日,W3C公布了最新的WebRTC标准,标准中定义了WebIDL中一系列的ECMA Script API来允许使用合适的RTP的浏览器或设备来接收/发送媒体。
先来说说WebRTC的优点:
1,简单方便。之前想要做到视频通话,那就必须得下载一个客户端来实现,但是WebRTC却可以直接通过html标签和JavaScriptAPI就能够实现Web音/视频通信的功能。这对前端开发者来说可是一个福音啊。
2,开源免费。Google开源,有Google的大力支持,开发者也可以不用担心技术的维护问题。
3,强大的打洞能力。WebRTC技术包含了使用STUN、ICE、TURN、RTP-over-TCP的关键NAT和防火墙穿透技术,并支持代理。
说了这么多优点,公司也在上半年也开启了WebRTC在html5上的研发,那就说一下自己在实际应用过程中的缺点吧,真是无心吐槽了。而且这也是WebRTC能否在5G中崛起的关键因素。
1,技术还存在一些缺陷。开发者可以直接将WebRTC直接拿来用,但是实际过程中就会发现拿来的同时,自己还要对其进行优良的改进。
2,缺乏服务器的设计和部署。开发者得自己设计服务器用来实现。
3,兼容性不好。pc端的兼容性好一些,但是也只是限于主流浏览器,移动端问题颇多。
4,移动端缺少统一的支持。移动端中ios系统需要在10以上兼容性较好,android需要在android8以上会好一些。其次各个产商对手机系统的改进也是一大问题,导致android相同系统上,出现不一样的问题,比如常见的问题有,视频拉取不到对方流,黑屏,闪退,回音,摄像头占用,声音从听筒冒出等。
5,移动端的网络问题和切换到后台问题尤为突出。网速依赖严重,4g网络和wifi切换过程中,导致流失败黑屏,4g一下网络那就更为突出。手机端不支持长时间的后台运行,这是硬件问题,也急需解决。
6,WebRTC的占用设备优先级较低。一旦手机中有电话进来,视频占用就被中断,打开app端的视频,切换到后台后,依旧无法解除占用,WebRTC依然无法调取摄像头。
同时在html5上研究WebRTC的公司还有,声网,腾讯,即构,对比发现自己的问题都差不多。WebRTC在原生的app上还算可以,但是用在html5上,都存在较大问题,这几家公司也都没有上线自己的的html5产品。那几个根本性的问题都还没有得到完美的解决。
以上问题,都是决定WebRTC能否在5g中崛起的关键因素,所以真正急需解决的不仅是5g网速的问题,还有一个就是硬件和WebRTC的的自身问题了。