NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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

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

关注

评论

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

牛x运维常用的工具系列-1

运维研习社

运维 工具分享 5月日更

使用Docker运行DataX定时全量备份关键数据表

白粥

DataX 数据表备份

人生算法:找到可复制的最小内核

石云升

读书笔记 5月日更 人生算法

全国首创“区块链+信用”平台即将上线

CECBC

Golang最细节篇— struct{} 空结构体究竟是啥?

奇伢云存储

云存储 Go 语言

Fabric | 自动化神器

Python研究所

签约计划

智能IP先锋:从园区网络智能变革,到数字化转型新突破

脑极体

100W点击 10w人获取,阿里Java高级面试题及答案 到底有多强

???

面试 java真题分享

网络攻防学习笔记 Day28

穿过生命散发芬芳

5月日更 网络攻防

2021北京人工智能展览会-转述

容光

智慧金融发展-转述

容光

百余大企业共赴新文明之约:2021 DEMO WORLD 世界创新峰会拉开帷幕

创业邦

创新

python脚本编写——自动剪切移动文件夹

YUKI0506

【得物技术】得物App分发平台的探索建设历程

得物技术

效率 平台 实践 心路历程 迭代

盘点golang中的开发神器

捉虫大师

Go 语言

区块链与数字化转型的关系

CECBC

面阿里P7,竟问这么简单的题目?

Java架构师迁哥

云原生加速落地,金融行业应用上云来打样儿

BoCloud博云

云原生

极光开发者周刊【No.0528】

极光JIGUANG

程序员 开发者 开发者工具

脉脉3小时转发65w次!这份Java面试宝典发生了什么?

Java架构师迁哥

获5项大奖,发布《云计算开放应用架构标准》,阿里云持续领航云原生

阿里巴巴中间件

云计算 最佳实践 云原生 案例 白皮书

列举出常见的Java面试题,我靠这个在春招拿到了阿里的offer

???

面试 Java面经 java真题分享

发展农村数字普惠金融的问题及对策分析

CECBC

2021智能制造、智慧金融、智能安全有何发展趋势

容光

AI 金融

MPP大规模并行处理架构详解

五分钟学大数据

大数据 MPP 5月日更

AI年中钜惠来袭—全场低至6折 企业新客1元优享福利翻倍

百度大脑

福利 Iphone12

5分钟速读之Rust权威指南(十二)

wzx

rust

日志收集组件—Flume、Logstash、Filebeat对比

数据社

大数据 5月日更

OKR 八问 —— 关于 OKR 的常见问题与思考

CODING DevOps

团队管理 DevOps OKR

🔎【Java 源码探索】深入浅出的分析ThreadLocal

洛神灬殇

Java 多线程 ThreadLocal 5月日更 ThreadLocalMap

专家谈 AI:2021 年人工智能发展趋势(下)

容光

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