武汉的开发者们注意啦!AI技术战略、框架以及最佳实战尽在Azure OpenAI Day 了解详情
写点什么

专访赵加雨: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:437013
用户头像

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

关注

评论

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

常见滑动窗口实现(Java语言实现)

工程师日月

6月月更

【智人智语】剑维软件大中华区油气和智能制造业务部总经理刘晓光:我谨代表剑维软件预祝第六届世界智能大会圆满成功

InfoQ 天津

最好用的 6 个 React Tree select 树形组件测评与推荐

蒋川

低代码 开发工具 React 组件 树形选择器

2022年软饮料国潮发展洞察报告

易观分析

饮品市场

如何在 WordPress 中创建联系表格?

海拥(haiyong.site)

WordPress 6月月更

安势信息技术市场总监王峰,OpenChain线上研讨会首秀!

安势信息

Linux 开源 DevSecOps SCA SCA工具

趣步运动挖矿系统开发模式分析

开发微hkkf5566

大容量、高性能,国家级实验室分布式并行文件存储实践

焱融科技

人工智能 大数据 AI 基础设施 存储

C#入门系列(六) -- 分支语句

陈言必行

C# 6月月更

NFT+DeFi链游系统开发技术

薇電13242772558

NFT

一篇万字博文带你入坑爬虫这条不归路 【万字图文】

孤寒者

爬虫 6月月更 爬虫必备知识讲解 万字图文 爬虫入坑文

打金?工作室?账号被封?游戏灰黑产离我们有多近

行者AI

故障定位与用户行为分析双向驱动,互联网保险的IT 运维“双保险”

博睿数据

博睿数据 IT运维

软件开发教父 Martin Fowler:幸好我当初没把它扔进垃圾桶

图灵教育

软件开发

Apache DolphinScheduler&TiDB联合Meetup | 聚焦开源生态发展下的应用开发能力

Apache DolphinScheduler

Apache 大数据 开源 DolphinScheduler workflow

InfoQ 极客传媒 15 周年庆征文|业务中台与B-PaaS的前世今生

小诚信驿站

架构 如何落地业务建模 领域建模 热门活动 InfoQ极客传媒15周年庆

创新不止,英特尔强调HPC的开放性和可持续性

科技之家

当运行npm install 命令的时候带上ignore-scripts,会发生什么?

华为云开发者联盟

前段

【爬虫必备->Scrapy框架】初篇

孤寒者

爬虫 6月月更 scrapy框架

小程序IDE,大趋势下催生的效能提速工具

Speedoooo

ide 效率工具 编程效率 移动开发 APP开发

flutter系列之:用来管理复杂状态的State详解

程序那些事

flutter 程序那些事 6月月更 widget

mass幸运哈希彩竞猜游戏娱乐平台开发技术详解

开发微hkkf5566

选择广州软件定制开发的10个理由

低代码小观

软件开发 管理软件 企业管理软件 项目管理软件 软件定制

大型物联网平台如何来保障亿级设备安全连接上云?

华为云开发者联盟

物联网 华为云 iotda 大型物联网平台

信息时代,您需要这样的知识管理工具

小炮

7张图详解域名系统DNS

wljslmz

DNS 域名解析 网络技术 6月月更

程序员自我修炼:《匠艺整洁之道》读书总结

博文视点Broadview

EMQ&思岚科技:物联网+AI支援抗疫,“无接触”机器人保障上海方舱稳定运转

EMQ映云科技

物联网 IoT mqtt emq 6月月更

微信团队分享:微信后台在海量并发请求下是如何做到不崩溃的

JackJiang

微服务 即时通讯 im开发 微信架构

【云主机】2022年云主机管理软件排行榜

行云管家

云主机 云服务器 云管

一键部署Java构件到Nexus,同事见了都说好

Jianmu

后端 持续集成 私服 自动化运维 Java构件

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