点击围观!腾讯 TAPD 助力金融行业研发提效、敏捷转型最佳实践! 了解详情
写点什么

技术客 er|洞口见曙光:实时通信技术创新谈

  • 2017-01-04
  • 本文字数:6420 字

    阅读完需:约 21 分钟

有人问赵斌,你现在是不是生意人了。

他回答,「我是工程师,不管现在还是接下来,我永远都会是工程师风格的一个人」。

在 2014 年 4 月声网 Agora.io(以下简称声网)创立之前,赵斌的身份是 YY(欢聚时代) 的 CTO,也并没有想过以后一定要创业。但在商业时代,技术本身或许就拥有自带光环的能力,无论是推动声网从一种思维雏形走向实时互联网的一支队伍,还是让赵斌从工程师 CTO 转变为创业人,技术就像是风。

它可以让逐浪者随风前行,也可以给身处风中的巨轮创造更多的助力。

选对一个方向

伴随着互联网泡沫的起与退,科技界的喧嚣热闹也绝对不亚于娱乐圈,当人人都在谈核心竞争力时,对于一家技术驱动的公司来说,真正的「核心」自然就是技术。

实际上,光靠概念就能获得融资的技术公司并非罕见。VC 不是傻子,他不会嫌手里钱多追着塞给你,更不会稀里糊涂的轻易被创业者忽悠。因而唯一的解释是,即使还很早期,他们也相信,这些技术将是推动社会进步真正的里程碑和转折点。

技术的神奇也莫过于此。Edward Brakus 目前是声网的全球产品总监,之前在 Vidyo 和 Polycom 都工作过,有 20 余年的视频通信行业经验。当初从美国本土的通信企业跳出来而选择加入一家中国的初创公司,闻风者多揣测其中缘由。此外,「声网大事记」中也存在一些比较让人疑惑的点:2014 年 2 月是公司成立的时间,同时也是其获得 A 轮 600 万美元的融资(没有 pre-A)的时间,但直到一年半以后的 2015 年 7 月,它才开始对外放声,发布其语音通话 SDK 产品。

这些“反常”的地方,让当时声网的产品和内部团队笼罩着更多的神秘,投资者胸有成竹,其技术却在执行偷偷孕育。与 VR/AR 这些互联网血统的技术不同的是,声网所专注的 RTC 技术是传统通信和互联网的结合,技术范畴属于通信,但是使用场景和基础架构都是互联网。或许,它是一个和 AI 有着同等级别机会的颠覆性深科技。RTC 的技术难度和复杂度很高,尤其是在移动领域,其技术门槛和复杂度更高。

此外,无论是研究投入还是技术投入,国内在 RTC 领域的相关厂商也没有像美国市场数量那么多。当然,这在很大程度上与实时通讯的技术壁垒有关。

但是,尽管 WebRTC 在 Google 收购 Global IP Solutions 的 GIPS 引擎后已走过六个年头,但受制于网络、设备、对抗物理环境干扰技术的问题,普通音视频通话过程中还是经常出现丢包、噪声、延时的情况,用户经常靠「喂喂喂」来测试语音,对方说得正带劲我这边却早已掉线的情况时有发生,跨国跨网的通话更是无法满足基本的用户体验。很多人会认为 WebRTC 搭 Demo 没问题,正式商用总是有各种困难重重。对此,赵斌谈到了两点,一是构建实时网络的问题,二是音视频的算法处理和算法改进问题。

实时网络是 WebRTC 所缺失的最关键部分,因为互联网本身不是为实时来设计,如果依靠互联网的基础设施,则完全无法进行商用级别的通信。但是,部署构建实时网更是需要解决除了技术外的大量资金问题,靠每个公司自建是不可能的,也会造成极大的资源浪费。

音视频算法也是实时通信的另一个关键环节。一般的工程技术人员以写代码为主,能理解做循环、队列、树等工程代码。但是音视频处理需要的是信号处理算法,和信号本身所谓时率、频率这些特征的分解有关。因此能优化却不能从根本改进者居多,哪怕在全球范围内,能在专门针对互联网的信源信道音频编代码上做出新算法的也屈指可数。

当然,在用容灾性网络架构保证服务的绕行工作方式同时,要将信息延迟从秒级缩短至毫秒级,又好似冲刺最后一公里的最后一百米。用赵斌的话来说——只是「看到了一点曙光」。走过了黑暗之中的大部分摸索期,曙光初现意味着,声网的方向至少选对了。但洞口在远方也证明着,从实时通讯的发展来看,这条隧道太长太艰辛,走完全程并让消费者全部满意,一切竞技者都还只是在行进的路上。

一场与时间的较量

Edward Brakus 曾在一次发言中谈到中美两国技术创业环境的异同,「中国创业公司反应迅速,协同工作,最突出的表现是可以很快搭建出原型产品、很快的根据客户需求做迭代,这是中国创业者的主要特点。美国的关注点则在技术本身的革新,美国在尝试进一步发展之前会在技术上尝试更深入的研究,迭代会慢些。」

声网是一个中美两国的“混血儿”,所以其发展路径在某种程度上融合了上述两类特点。

初创的第一年,它不像一个传统的蒙头赚钱的商业公司,反倒像研究机构和学术机构的集合体。除了主攻编代码算法,部建和拓展虚拟网节点外,几个技术和运营团队的领头人还联合 Daniel Burnett 和 Alan Johnston 编著了《WebRTC 权威指南》,后两位是在 WebRTC 标准化过程中起到重要作用的机构的核心专家,Daniel Burnett 同时也被外界称之为 WebRTC 标准之父,低调做着 RTC 技术的教育和推广工作。

声网著书的举动有点出人意料。虽然国内 WebRTC 技术在 IETF 和 W3C 标准的许多领域已有实质性的进展,但一直缺少一本为其定义的专业书籍。而《WebRTC 权威指南》的诞生或许正见证了赵斌一伙人的创业历程和技术情怀。

他曾说过,「对于全球的开发者来说,下一个风口,一定会是融合了实时通信技术的应用,WebRTC 无疑是推动实时通信技术发展至关重要的技术之一」。那对于中文开发资料和感知应用都几近空白的国内市场,创始团队当初选择文武混合双打方式,起意为何?

很重要的一个原因在于赵斌和声网对实时通信发展的瞭望:即想把国内的实时通信市场这个行业做大做强,让更多有实力的厂商都加入到实时领域来。但迈出从 0 到 1 这一步更多的是需要梦想之外的勇气。

SD-RTN(软件定义实时网),赵斌他们直接称之为虚拟通信网。从成立一年时的 65 家全球数据中心到 2016 年 6 月的近 100 个全球节点,赵斌坦言,声网的构建之路走的很难。「从想法成型到证明可行,再到概念的完全落地实施;从选择在哪些区域布点,再到验证每个布点的有效性,这个过程像是边举重边跟时间赛跑」,他回忆说。

2014 年成立声网那会,国内缺乏可借鉴的经验,建网、选点、甚至该选用 TCP 还是 UDP 协议,都完全是靠初识团队一点点探索。一方面,加注的财力和人力在与日俱增,另一方面,每天都是打脑力战,团队精力全倾注到编码和优化机器对传输路径选择的算法上。这些投入决定了,这是一条容不得回头和放弃的路。可是时间、资源都有限的条件下,大家都明白,一场与「未知」的较量才刚刚拉开帷幕。

而选择必须如此吗?是,亦不是。

WebRTC 提供了 P2P 连接方式,但是如果针对复杂的全球网络,仅仅依靠公共互联网 P2P,质量没法保证。此外,依据电信标准,IP 包传输往返时延的平均时长要≤200 毫秒,语音传输时延平均值要≤400 毫秒,而传统 CDN 的接入服务基本是达到了秒级以上延迟,与实时通话的本质需求相距甚远。所以,光是依靠 WebRTC 的开源技术,并不能保证互联网的实时传输,而搭建全球范围内的音视频传输网络,缩短端到端的时长差,是声网在做实时通信和全互动直播前,必须要直面的一次选择。而现在 76ms 的端到端平均延时,也是选择之后的一次证明。

同时,技术和学术像是一枚硬币的两面。随着信令协议、安全协议、H5 带来的一股“破坏”浪潮,很多技术细节也都开始陆续进入考虑范畴,RTC 所需的标准和协议也仍在开发和发明中。用《WebRTC 权威指南》中的序言来阐述即为,「API 的核心在逐渐稳固,在使用方面,人们正力求理解 WebRTC 的影响和机遇」。

可见,无论是站在用户方,还是开发者方,赵斌和团队是希望建立更全面的一张以 SD-RTN 软件实时定义网为本质的传输来保障音视频和直播的传输。从理论基础到技术实践,没有开路者,那就自己打江山,没有成熟的体系,那就自己动手来搭。

另一个方面,这也极像工程师们追求「开拓」和「极致」的群体共性。或许这也是,赵斌更愿意称自己为「工程师」的一类原因,即永远保持对技术初衷的纯粹信仰和情怀。

在这个标准下,声网实验室里大量的数据测试都是以电信通讯服务为标杆,包括稳定性、音质频响、回声等,按照 IPO 的测试序列和算法做对比和优化,才最终得出他们所期待的方程式结果。

电信对「高质量通话」已有一套成熟的定义和 QoS 标准,包括客观量化的标准都具备详细指标,甚至在通讯服务的定价收费上,电信也提出了严格标准。而在互联网领域,赵斌也是希望通过声网建立起无限接近电信的通信 QoE 标准。因此,声网团队在做遵循严谨科学体系的选择时,更大的意义是树立一种价值和标准典范。

国内用户目前对 WebRTC 价值存在两种有失偏颇的论调。盲目乐观者说,实时通讯就是拿个开源项目,用 WebRTC 去接就可以,两三个月就可以成型;消极悲观者则认为,WebRTC 根本没用,经验证明没人能做好。

辩证来看,声网团队强调,从互联网角度而言,WebRTC 是基于浏览器的开源服务,因此肯定存在技术上的局限性。所以,必须要将自研和 WebRTC 在内的各项技术结合起来,实时的通讯标准也会强化团队对设计目标的制定。比如要降低延时性,解决成千上万终端适配问题,顺应互动方式的切换,就必须聚焦移动设备,做好端到端的整体优化。

整个通讯领域仍处在变革期,极速翻腾的环境意味着创业肯定要经历一番苦痛和挣扎。「从用户不满意到大体满意,是一个革命性的变化」赵斌回应,「因为这种变化会对行业和用户产生巨大的价值,所以很多苦很多路我们必须选择接纳和开拓」。

寻求「两个世界」的对话

「在许多方面,RTC 是网络世界和电话世界之间的一种融合」。

「两个世界」的对话中,在线直播是今年最火的形式之一。

猎豹全球智库上个月通过 2016 年的调查提出,对于直播平台来说,云计算公司的成本是非常大的支出,例如斗鱼一年的宽带费要花掉 3 亿人民币。所以这个行业出现的一个新趋势是:云平台直接入股直播平台。在直播这轮潮流中,做云平台支持和做后台技术支持的可能都是这个行业最大的赢家之一。

不过,英雄迟暮,美人白头。当在线直播仍在叫嚣的同时,很多人开始预言它的衰微之势,认为风口即将转瞬即逝。如果惨烈的厮杀之后迎来大规模洗牌,平台骤减是否会降低对技术上的需求?赵斌的回应是,「行业不论如何发展,技术都要聚焦在实施性,在改善上精进」。

不管风口来和去,技术一定是在有需求的领域提供服务。采访中,赵斌提到最多的一句话是「整个实时通讯领域离成熟还有很远,创新并没有上限」。如果说,从秒级延迟到毫秒级实现的是第一个跨越,可能接下来从 76 毫秒缩短到更短的 50、40 毫秒,包括提升音质频响、节点响应速度等,都将是声网乃至 RTC 行业更大的挑战。

尤其,当以阿里为代表的一批互联网巨头公司竞相掘金直播 SDK 时,专业技术企业该靠怎么突围?

面对行业大环境,声网将切入点压在了「全互动直播」上。

这个过程除了需要达到低延时、全球传输等要求外,技术上还要实现带宽估计、马力控制和自适应、硬件机型或编码适配、抗丢包等一系列的步骤。光是简单介绍一下这些点,CTO 陶思明就可以津津乐道的讲上近一个小时。涉及到更复杂的问题,或许声网的技术演进路径可以雕刻出整个直播时代的变迁。

如今,打开“陌陌”直播平台,7 人同时连麦的互动形式正改变着社交关系链的建立方式。相比四年前一家独大的国内音视频通信市场,其中变革的不止是泛社交的模式,还是背后起支撑作用的技术输出。

四年前,赵斌参与 YY(欢聚时代)创立,作为当时的 CTO,他已经开始在与「实时应用」的设计思路进行“对战”。时隔两年,带着技术人、创业人身份的再次启程时,赵斌无疑需要面对更多来自心理层的挑战。

因为现在的方向不再是沿袭传统的直播,而是在攻占实时通信领域的同时,去探寻一种移动直播在形式、体验、运营上的深度融入。

这既是他自己对未完成的目标的继续追逐,又是对一个堆积无数目光的行业的颠覆。好似一个人和一波人的对话,如果把独立的个、群体看作单独的世界,每个世界都是靠声音在沟通联结,同时又都为了更优质的声音而集结,这才是声网。

真理不掌握在任何人手里

赵斌在 12 月 WISE2.0 创业生态大会上谈到过创业成功的两大因素,一是创造新的价值,二是找到对的人。

关于「对的人」,从不存在唯一且完全准确的定义,但企业家的人才观里都少不了一个「精」字。

曾有风投这么说过,「特别当你是第一次做 CEO 的时候,风险投资人会密切关注你是否建立了一支有高效执行力团队」。换句话说,风投者们想要看到的不是你光有一支几百上千人的强壮队伍,创造着逾 1 亿美元的税收,而是是否拥有才华横溢又认同企业价值的精壮团队。

2014 年 12 月,声网以 17 人的规模完成 B 轮 2600 万美元融资,这在当时国内的融资环境下算比较罕见。不管是资本寒冬还是投资热潮下,国内能融到 B 轮的企业动辄是一百人以上团队。当然,有企业家说了,业务拓展自然需要扩招。这话确实没错,不过更多的是跟业务模式有关,有些企业只是暂时还不知道怎样在「放大」和「缩小」间做平衡而已。

到今年 12 月,声网大约是达到了 50 人左右规模,中、美两国的团队分管技术和核心运营。特殊的是,硅谷的队伍中还有几位多重身份者,例如,顾问 Shie Qian 同时也是《IEEE Signal Processing Magazine》的特邀编辑。这种梯队搭建的方式和国内创业公司的普遍思路也有很大不同。

创立声网时,赵斌曾带着十几人的初始团队到硅谷去做原型、做拓展调研和头脑风暴,亲自拉拢、说服一批美国通讯行业的专业人员一起组建团队。这些「跨文化运营」的思维,在一定程度上与他最初 7 年在 WebEX(网讯) 的工作经历有关。

但「全球化运营」「分布式团队」的成长过程也经历过很多次挣扎。

2014 年,赵斌想要挖 Edward Brakus。可刚开始,Edward 并不了解声网到底能做什么、又凭何说自己的技术很牛。即使电话那头,赵斌给了一连串问题的解答,但对方依然不为所动。第二天早上,赵斌拿着白板和笔,在办公室里纯靠画的方式,给 Edward 讲自己打算「怎样做实时通讯」的想法,讲 SD-RTN,讲声网实现的技术创新……几轮的思维碰撞终于是打到了 Edward 内心深处。交谈几近尾声时,Edward 肯定的告诉赵斌,声网的创新价值不只在技术领先上,更为触动的是,这个团队做着他和整个实时通信行业想做和应该做的事。

同样的情节,也发生在赵斌说服前苹果核心视频算法工程师加入团队的故事里。

因此,成立初期,团队内部还有过定位上的矛盾:究竟应该把声网看作一家中国公司、中国人的公司还是美国公司?怎样的地域分布对实现目标最有价值?不过,后来也通过实际调研发现,其实无论放在全球哪个洲,基础模块的服务对技术所要求的特性都基本相同,更何况国内的市场还远远不够成熟。于是索性,声网就定下了规划,国内团队负责技术,国内外团队分管本土运营。

但很有意思的是,作为技术创业人,该怎样打造「和而不同」的团队?在 90% 都是技术人员的氛围中,该判断谁手里掌握的才是真理?

虽然和而不同是所有团队都要面对和解决的问题,但摆在许多工程师 Leader 面前却成了烫手山芋。赵斌提到一个解决思路——「创业意识」。

多元化提倡发散性思维,也提倡丰富的创造力,但不意味着散漫的自由化。当每个人带着为了创业而非找工作的战斗力来加入团队,「和而不同」就可以实现在多元化基础上为了一个共同目标而合力前行。在团队成长的过程中,没有所谓谁掌握着绝对真理,而是谁运气最好,很恰巧的站在了真理一方。

这是一种鼓励机制,从技术人到创业人,赵斌也经历过商业意识上的认知成长。「创业意识」不需要每个人都把握行业规律和商业成败,但一定需要知道如何有效的发展一项技术或一个企业。他说,「你如果蒙着眼睛就说自己做的最好,就有点自娱自乐, 要真正做好就得耳聪目明」。

所以,「好的企业是在做正确的事情,而不是做容易的事情」。所谓正确,就是离核心的竞争力和价值最近的地方。这个位置上,好的技术人和好的企业都是以创造价值为动力,而且是最大化的创造价值。

“技术客 er”是 InfoQ 上线的一档面向“技术创新”者的全新专栏,旨在通过挖掘技术人在创新或立业过程中的百味体验,揭秘其中的“坑”与解决方案,揭示市场风向和成功者所秉持的价值导向。欢迎每一位迈过“坑”,吃过“苦”的技术人加入本专栏,也欢迎专访线索提供者。如有需求,请联系:cherry@infoq.com

2017-01-04 00:411407
用户头像
Cherry倩芸 InfoQ高级策划编辑

发布了 51 篇内容, 共 19.2 次阅读, 收获喜欢 34 次。

关注

评论 1 条评论

发布
用户头像
好文章
2019-08-02 14:45
回复
没有更多了
发现更多内容

金九银十前端面试题总结(附答案)

loveX001

JavaScript

PriorityQueue源码-成员变量解析

知识浅谈

Priority Queue 10月月更

变量与常量介绍笔记

魏铁锤

10月月更

微信朋友圈架构设计

风行

架构 架构实战训练营9期

C++使用protobuf嵌套结构体总结

中国好公民st

c++ protobuf 10月月更

80%的前端开发都答不上来的js异步面试题

loveX001

JavaScript

JVM诊断工具中的深堆、浅堆、支配树,你都明白吗

JAVA旭阳

Java JVM 10月月更

Java编程之数组

魏铁锤

10月月更

Java对象的使用和对象内存图解

共饮一杯无

Java 对象 10月月更

React循环DOM时为什么需要添加key

beifeng1996

React

【LeetCode】合并两个有序链表Java题解

Albert

算法 LeetCode 10月月更

不同的子序列 II

掘金安东尼

算法 10月月更

Python进阶(二十)Python爬虫实例讲解

No Silver Bullet

Python 数据分析 10月月更

Python进阶(十九)Python3安装第三方爬虫库BeautifulSoup4

No Silver Bullet

Python 字符串 10月月更 BeautifulSoup4

腾讯云继续加码布局云原生,将披露全新产品战略

科技热闻

react高频面试题自测

beifeng1996

React

Java历史与环境搭建笔记

魏铁锤

10月月更

2022-10-13:给定一个只包含三种字符的字符串:( 、) 和 *, 写一个函数来检验这个字符串是否为有效字符串。有效字符串具有如下规则: 任何左括号 ( 必须有相应的右括号 )。 任何右括号 )

福大大架构师每日一题

算法 rust 福大大

cstdio的源码学习分析10-格式化输入输出函数fprintf---宏定义/辅助函数分析01

桑榆

源码刨析 10月月更 C++

最火的物联网技术MQTT,其服务质量QoS的三个级别分别是什么意思,本文一定对您有帮助!

wljslmz

物联网 mqtt QoS 10月月更

大数据ELK(二十四):安装Kibana

Lansonli

10月月更 安装Kibana

「Hive进阶篇」一、详解存储格式及压缩方式

大数据阶梯之路

大数据 hive 面试 数仓

面向对象思想和Java中类的定义

共饮一杯无

Java 面向对象 10月月更

为什么编程第一课都要学Hello World?

博文视点Broadview

给 SAP BTP 创建的 Java 应用添加 Custom Event Handler 支持创建功能

Jerry Wang

spring 云原生 Cloud SAP 10月月更

「Hive进阶篇」二、万字长文超详述hive企业级优化

大数据阶梯之路

大数据 hive 面试 hive优化

开源无国界,从openEuler Maintainer到Spark Committer的贡献开源之路

openEuler

spark 开源 openEuler

【一Go到底】第十四天---break快速入门

指剑

Go golang 10月月更

Jib使用小结(Maven插件版)

程序员欣宸

Docker 10月月更 Jib

22道js输出顺序问题,你能做出几道

loveX001

JavaScript

React组件之间的通信方式总结(下)

beifeng1996

React

技术客er|洞口见曙光:实时通信技术创新谈_语言 & 开发_Cherry倩芸_InfoQ精选文章