去年的这个时候,在市面上公开表示使用WebRTC的公司还没几家,但2018年以来,宣布采用或支持WebRTC的公司已经越来越多。实时音视频提供商网易云信也在自研的NRTC中集成了WebRTC。在他们眼里,2017年是WebRTC的转折之年,而2018年将是WebRTC的爆发之年。InfoQ记者对网易云信CTO赵加雨进行了采访,了解了他们对WebRTC的看法。
\\前段时间,全球领先的技术研究和咨询公司Technavio发布了题为“全球网络实时通讯(WebRTC)市场,2017-2021”的报告。报告显示,2017-2021年期间,全球网络实时通信(WebRTC)市场将以34.37%的年均复合增长率增长,增长十分迅速。增长主要来自北美、欧洲及亚太地区。
\\这个市场增速如此快,其主要驱动因素之一就是对支持WebRTC的设备的需求不断增长。全球WebRTC市场正在快速增长,主要因为对实时通信的需求越来越高以及WebRTC设备数量的增加。通过互联网视频和语音通话功能的高需求,而不需要下载插件,这推动了市场的增长。
\\一些网络浏览器(如Chrome、Opera和Firefox)在已在手机,电脑,智能电视和平板电脑等设备中支持WebRTC。2014年,超过10亿台设备支持WebRTC。到2016年底,数量增加到40亿。并且,截至2016年底,已有超过15亿活跃的WebRTC用户。WebRTC支持设备数量的上升是WebRTC市场日益增长的明显指标。
\\2017年11月,WebRTC 1.0标准草案发布,同年至少有上千个WebRTC项目启动,国内国外很多大公司开始投入人力做这个方向。
\\网易云信对WebRTC的支持
\\网易云信是网易在云计算里面很重要的一块业务。赵加雨说,云计算发展到现在,基础的云服务已经不再是客户的刚需,或者说不再是客户的一个痛点了,云必须深入到场景中去提供更加定制化的服务。网易云信提供的是场景化的、PaaS层的云服务,包括通信能力和视频能力。其中最为代表性的技术就是他们自研的音视频框架NRTC。
\\NRTC是在网易内部杭州研究院孵化的,本身是为整个网易集团提供音视频相关的基础技术能力,服务的产品包括网易新闻、网易云音乐以及网易游戏等。2016年9月,网易将其开放并作为标准能力向外提供服务。2017年,NRTC开始支持WebRTC。
\\\\据赵加雨介绍,实时音视频研发涉及复杂、多样的技术栈,对资深的人才、网络服务资源的投入要求很高。而WebRTC为Web端的实时音视频研发提供了功能强大的技术支持,这也是他们选择支持WebRTC的原因。
\\- 首先,WebRTC技术内置于浏览器中,用户不需要任何插件或者软件就能直接通过浏览器来实现实时通信。对于开发者来说,在Google将WebRTC开源之前,开发浏览器之间实现通信技术是一个很困难的任务。现在,开发者使用简单的HTML标签和JavaScript API就能够实现Web端的音视频通信功能。\\t
- 主流浏览器对WebRTC技术的支持,以及WebRTC1.0标准的技术落地让这项技术更加的成熟,WebRTC也集成了比较先进的音视频引擎和codec。由于是开源的技术,开发成本也相对较低。\\t
- WebRTC具有强大的打洞能力。WebRTC技术包含了使用STUN、ICE、TURN、RTP-over-TCP的关键NAT和防火墙穿透技术,并支持代理。 但是,作为一项开源技术以及实验室级别的产品,WebRTC开发者依然需要基于实际应用场景和具体的业务需求,做技术难度较高的二次开发,以寻求更完善、灵活的实时通信功能的实现。所以,市场仍然需要基于WebRTC的功能更齐全、开发更便捷的工业级的实时音视频解决方案。\
接入WebRTC,对NRTC提供的帮助包括:
\\- 应用层面:WebRTC补充了NRTC在Web端的接入能力,NRTC可以通过WebRTC网关实现Web端实时音视频的功能。同时,WebRTC 还扩大了NRTC的使用场景,让NRTC在教育、医疗等领域得到了更加广泛的开发和应用。\\t
- 技术层面:WebRTC是一个开源的音视频技术框架,使用了很多标准协议和方案,对于私有协议NRTC来说是一个互补。随着WebRTC的广泛应用,也促进了开发者对NRTC的关注和使用需求。\
网易云信对WebRTC的改进
\\如果仅仅是基于现有的WebRTC,自己写一些JavaScript来实现简单的音视频会话,那么难度没有那么高,但是要想实现一个工业级的应用,其实难度是非常高的,因为它基于浏览器,而WebRTC本身只提供了一个Web端的接入能力,是没有服务端的。目前很多基于WebRTC提供能力的厂商,研发都集中在WebRTC网关及服务端能力的建设。
\\另外WebRTC整个抗丢包都是基于Peer to Peer场景下的优化,它不一定适合企业的应用场景。
\\第三个就是它只是一个很基本的Web端的音视频的通话,它没有其他的服务,包括像录制和其他云端的服务。
\\NRTC的WebRTC里面支持了Web的接入同时做了很多优化,包括抗丢包、音频的优化,这样比纯粹的基于WebRTC构建一个简单的应用能够实现的效果要好很多。另外,NRTC通过提供云端的录制、云端的推流,来实现互动直播。
\\改造的技术细节,网易云信资深架构师吴桐在前不久线下分享过《精析网易NRTC的WebRTC网关服务器技术架构》,可以进一步了解。关注“前端之巅”公众号,回复WebRTC获取PPT。
\\WebRTC未来展望
\\最后在谈到WebRTC的未来的时候,赵加雨表示,我们要看到,在现在的这个时间点,WebRTC仍然处于大规模应用的早期:
\\- 一方面,WebRTC的codec等正在演进,如AV1/VP9等,它们也在近一年来取得了极大的进展,但尚未投入到实际应用当中。\\t
- 另一方面,部分浏览器对WebRTC的实现还非常粗糙,包括移动端的浏览器,需要持续的完善。\\t
- 最后,网络要支持WebRTC的QUIC协议需要进化,部分新型的实时网络架构如SD-RTN等需要时间来完善和普及。\
因此WebRTC的未来是光明的,但当前仍然处于过渡阶段,这也是NRTC接入WebRTC的原因,通过弥补WebRTC的一些短板来提供服务,是当前阶段切实可行的做法。