写点什么

专访赵加雨:WebRTC 在网易云信的落地

  • 2018-05-31
  • 本文字数:2304 字

    阅读完需:约 8 分钟

去年的这个时候,在市面上公开表示使用 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 端的音视频通信功能。
  • 主流浏览器对 WebRTC 技术的支持,以及 WebRTC1.0 标准的技术落地让这项技术更加的成熟,WebRTC 也集成了比较先进的音视频引擎和 codec。由于是开源的技术,开发成本也相对较低。
  • WebRTC 具有强大的打洞能力。WebRTC 技术包含了使用 STUN、ICE、TURN、RTP-over-TCP 的关键 NAT 和防火墙穿透技术,并支持代理。 但是,作为一项开源技术以及实验室级别的产品,WebRTC 开发者依然需要基于实际应用场景和具体的业务需求,做技术难度较高的二次开发,以寻求更完善、灵活的实时通信功能的实现。所以,市场仍然需要基于 WebRTC 的功能更齐全、开发更便捷的工业级的实时音视频解决方案。

接入 WebRTC,对 NRTC 提供的帮助包括:

  • 应用层面:WebRTC 补充了 NRTC 在 Web 端的接入能力,NRTC 可以通过 WebRTC 网关实现 Web 端实时音视频的功能。同时,WebRTC 还扩大了 NRTC 的使用场景,让 NRTC 在教育、医疗等领域得到了更加广泛的开发和应用。
  • 技术层面: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 等,它们也在近一年来取得了极大的进展,但尚未投入到实际应用当中。
  • 另一方面,部分浏览器对 WebRTC 的实现还非常粗糙,包括移动端的浏览器,需要持续的完善。
  • 最后,网络要支持 WebRTC 的 QUIC 协议需要进化,部分新型的实时网络架构如 SD-RTN 等需要时间来完善和普及。

因此 WebRTC 的未来是光明的,但当前仍然处于过渡阶段,这也是 NRTC 接入 WebRTC 的原因,通过弥补 WebRTC 的一些短板来提供服务,是当前阶段切实可行的做法。

2018-05-31 09:437606
用户头像

发布了 164 篇内容, 共 107.6 次阅读, 收获喜欢 392 次。

关注

评论

发布
暂无评论
发现更多内容

缓存与主副本数据一致性系统设计方案(下篇)

HAibiiin

架构 系统设计 分布式系统 缓存一致性 主从架构

phpstorm配置php运行环境

百度搜索:蓝易云

易未央-AI 風雲:5. 陰陽的失衡

因田木

AI 陰陽五行

Python哪个框架合适开发速卖通商品详情api?

科普小能手

API Python框架 Python开发 API 接口 速卖通API接口

Spring高手之路25——深入解析事务管理的切面本质

砖业洋__

spring 事务管理

需求管理和产品规划有什么异同点

易成研发中心

需求管理 需求管理工具

鸿蒙原生开发手记:02-服务卡片开发

星释

鸿蒙 HarmonyOS

Ubuntu下如何迁移Thunderbird邮件

百度搜索:蓝易云

解决虚拟机重启后ifconfig看不到IP的问题

百度搜索:蓝易云

IaaS、PaaS和SaaS的区别

兮动人

IaaS、PaaS和SaaS

ACCA联合发布《2024年中国共享服务领域调研报告》,揭示行业数智化转型新趋势

财见

使用 DFU 模式修复或恢复 Mac 固件

sysin

Mac DFU

产品经理如何做好需求管理和分析

易成研发中心

需求管理 需求分析

LED显示屏的亮度真的是越高越好吗?

Dylan

屏幕亮度 LED显示屏 全彩LED显示屏 led显示屏厂家

如何在 Go 项目中隐藏敏感信息,比如避免暴露用户密码?

左诗右码

伟创力收购JetCool以扩大数据中心和电源产品组合

财见

易未央-AI 風雲:4. AI與命理的交融

因田木

AI 陰陽五行

ext4文件系统镜像制作教程

百度搜索:蓝易云

寻找最佳合同电子签系统?10款实用方案

爱吃小舅的鱼

合同电子签系统

一次封装,解放双手:Requests如何实现0入侵请求与响应的智能加解密

LLLibra146

Python 代码技巧 requests 代码复用 自动加解密

体验免费开箱即用的AI工具:Blackbox.AI

袁袁袁袁满

人工智能 ChatGPT 免费AI工具 GPT-4o 大模型工具

亿珑能源控股有限公司与TMT Acquisition Corp完成合并

财见

Python创建虚拟环境报错:Error: Command......

codists

Python

做项目管理需要哪些技能

爱吃小舅的鱼

项目管理

微创软件海外拓展新动向:日本Cosmo Design公司被纳入版图

财见

数聚存储,智慧未来:浪潮信息分布式存储在人工智能时代的创新与应用

财见

鸿蒙原生开发手记:01-元服务开发

星释

鸿蒙 HarmonyOS

哪些电子合同系统适合企业?9款详细介绍

爱吃小舅的鱼

电子合同系统

thinkphp:判断数据是否存在,再作为数据库的判断条件(给数据库查询增加额外的查询条件)

百度搜索:蓝易云

Windows - 内存优化

沉默的老李

内存 windows 11

软件测试类文档,测试文档合集,软件全套资料集(原件)

金陵老街

软件文档 测试文档

专访赵加雨:WebRTC在网易云信的落地_移动_徐川_InfoQ精选文章