实时语音视频出海,如何覆盖迪拜乃至全球

  • 内容
  • 评论
  • 相关

来源: 即构科技        时间: 2017-09-26


在大航海之前,世界地图对人们来说是蒙查查的一片黑。即使互联网全球化的今天,网络世界的国际地图对开发者来说依然是蒙查查的一片黑。

文科妹子有幸参与了即构实时视频SDK的全球效果测试,见证了工程师们一点一滴地绘画世界网络地图的艰辛和不易,也亲历了和迪拜美女测试视频的场景。

那一阵子,天有点灰蒙蒙,开发团队在没日没夜地忙着验证实时语音视频在全球范围的效果。听闻他们每晚熬到两三点,白天还打着鸡血一样写代码。

我隐隐约约感觉到即将会城门失火殃及池鱼,我就是那条护城河里的那条鱼。

果不其然,有一天,老大对我说:“要升级全球网络的直播后台规则,你负责协调测试。”

当时的我一脸茫然:“额……这么重要的任务,交给一个文科妹子真的好吗?”

虽然我是个文科妹子,可能老大看中我能说会道的体质,让我进了技术支持的坑。当时我进即构科技才刚过一个月,对即构产品的架构只是大致了解,好在背后有几位技术大神顶着。我以为主要的任务只是找人聊聊天,计算一下延迟时间和卡顿率就够了。然而,事情并没有我预期的那么简单。

首先,全球测试有个大麻烦得搞定:时差。

我们快下班的时候,美国和欧洲那边刚起床。阿联酋和非洲那边终于有时间做视频通话了,我们这里正处在漆黑的凌晨一两点。对专门负责这一项目的团队来说,确实麻烦不小,因为时差就意味着熬夜……为了完成全球测试,整个团队拿出“签生死状”死磕到底的态度,不搞定问题绝不回家……所以那段时间我基本都是晚睡晚起。这是我最近距离接触理科生死脑筋的时刻,原来传说中不把问题搞定不吃饭不睡觉不休息的拼命十三郎真实存在,还很多,多到可以组队成立一家叫即构科技的公司。(不过也不能天天这么熬吧,否则年纪不小的老大非把自己熬坏了不可。)

环球到处约朋友帮忙测试

最初阶段主要的测试点是北非和中东(特别是阿联酋迪拜及其附近区域)。帮忙测试的主要有三位朋友:大型中资企业的职员小哥哥,帮我们烧流量测试的导游大叔,同样做导游工作的两位小姐姐。

最先找到的是中资企业的小哥哥。第一次测试的体验不理想。他使用的是家庭网络,网速是非常不错的。但刚打开视频时,画面卡得只有图片,偶尔有一段时间能语音聊聊天,紧接着又卡得只剩下PPT了。测试的那时候已经是深夜了,瞌睡虫上脑的我把效果记录下来。晚睡晚起,第二天中午才去上班,老大笑我笨:你当时就该几个电话把测试相关的所有人通通都叫起来,不把问题搞定不许睡觉。

“有时差啊,那时候都半夜了,你们要熬夜哦。”我怯怯地说。

“本来就是我们的活,搞不定睡什么觉啊。”老大大手一挥,如此回答。

坐在即构深圳的办公室里,通过视频感受迪拜的异国风光

于是,这天晚上,再把那位小哥哥叫出来,又测试了一把。这次测试就规范多了,我负责和小哥哥聊天吹水,后台几位攻城狮实时盯着数据。当天晚上,整个团队都在家里盯着电脑办公。我一边和对方交流,一边记录数据,几位后台攻城狮盯着连绵不断的数据找问题。老大则忙着协调后台,凭借多年经验寻找卡顿的原因,如果可能与其他部门有关,立刻电话把人闹醒叫起来一起盯着。

最后查出了问题的原因,就是某个节点有问题。我这才知道,原来网络上看似简单的两个人实时视频聊天,背后其实需要一个复杂且全面的实时海量数据传输系统来支撑。

打个比方,我们聊天时交换的音视频数据就像马匹背上的货物,网络就像马匹奔跑的道路,而节点就是道路交叉点上更换马匹和分发货物的驿站。和普通的马匹不一样的是,网络的传播速度基本相同,都是接近光速。所以距离对音视频数据传递来说并不是难题,真正的难题,其实是网络路径上的交通条件。

正常情况下,网络传输到哪都很快,上一秒发出的邮件下一秒就能送达,以人类感官来说基本就是一瞬间发生的事。但麻烦就在于,网络有时候也可能会堵车,有时候会经过泥巴路,有时候会莫名其妙绕远路,更有甚者,有时候连路都没有,马匹被堵在半路上,简直开始怀疑马生。视频通话另一边的用户收不到音视频数据,就开始抓脸发狂,怒吼花了冤枉钱。(境外视频服务的用户,大部分依据时长收费。视频卡一下试试,用户分分钟要求退款)

中东美女和中国美女一样爱自拍爱直播

这就是中国境内外视频直播互通主要面对的问题了。对于国内的网络情况还好,大家都习惯了国内的网络交通情况,哪里“桥断了”,“哪个时段堵车”,“哪里有坑”,“哪里有土匪强行换掉马背上的音视频数据”之类,什么时候什么情况发生,大部分做语音视频的团队都心里有数。但国外的网络情况不同,谁知道什么时候是高峰期,谁知道哪个地方网络交通条件好,哪个地方交通条件差?中国再大也只是地球上的其中一块土地,“外国”这个词可不是一个简单的国家,而是包含地球92.8%的土地范围和千奇百怪天知道长什么样的网络环境。一不小心走错路,你的音视频数据就栽坑里去了,导致视频通话的对方撕脸抓狂。

因此,境外视频直播所需要的并不仅仅是技术那么简单,还有长期部署和运营境外节点的经验和持续不断的监控测试。没有深厚技术底子和经验积累,恐怕是做不出来的。(插一句题外话,我们把全球各大洲的情况都摸了一遍,做到全球无死角覆盖,过程说起来容易,事实上整个团队在这段时间都熬了不少夜的。倒不是故意加班,确实是因为时差缘故,得等到对方有时间才能测试。磕磕绊绊的小事故不断,特别是项目刚开始的一段时间,几乎每一次通话都出现这样或者那样的问题。再次惊叹一下理科生的执着,这帮理工男不是为了工资或绩效之类,是真的问题没解决连饭都吃不下。亲眼所见,这帮人不像混职场的上班族,反而像只专注手中玩具刨根问题的孩子。)

言归测试,刚开始走不通的原因,就是节点有问题。一开始我们选择从深圳节点走香港节点,再转阿联酋节点,效果并不好。香港节点到阿联酋节点的这段路不知道出了什么问题,总之卡顿得很厉害。于是我们换了一条路,从深圳节点直接奔去阿联酋节点再转中东其它地方(此处省略技术细节两万字,其实我也表示不懂),效果一下子就好多了。线路调整之后,我们又与烧流量的大叔视频通话,效果非常好,简直好得不得了,居然和使用wifi效果差不多!大叔比较耿直,脱口而出就嚷嚷:“我擦,这个甩了微信视频好几条街啊!”两位小姐姐不但帮我们视频,还测试了迪拜节点和迪拜节点本地视频的效果,和深圳节点与迪拜节点视频的流畅度差不多。

优选国际网络链路,绕着弯走往往是更快的

最开始时,迪拜的卡顿情况比较严重,有多次明显的卡顿,并且一定程度影响到交流。但经过路线优化和节点调整后,卡顿情况几乎消失了。接着,我开始精细记录:迪拜连深圳,延迟一般400ms以下,偶尔升至680ms(烧流量的那位大叔),最低的时候达到100ms左右。总体交流情况非常好,画面一直都是高清的状态,交流能感觉到非常微妙的延迟。(拿一个基准做对比,即构科技的方案一般国内连国内的延迟是100ms到200ms,感觉就是跟站在对面说话差不多。)

接着,我们又忙着测试美国,然后欧洲,最后非洲。美国和欧洲其实困难不大,毕竟是老牌的资本主义,网络基建是杆杆的。“运送音视频数据的马匹”无论走哪条路都很顺畅,不过,在精益求精的要求下,为了提高“延迟毫秒数”、“流畅观感”和“画质音质”的主观体验,我们还是选择了一条最优的线路。过程流畅迅速,很愉快地把欧美“交通地图”绘画出来了。

即构全球的服务器节点和CDN节点分布

纽约节点连深圳节点的延迟,好的情况下只有200ms左右的延迟,稍差一点到达500ms,偶尔会出现600ms以上的延迟。比迪拜的流畅度要稍高一点,基本感觉不到延迟了,但画面差不多,都十分清晰。(其实网络条件不差的情况下,美国和迪拜差不多,如果用肉眼识别,100ms的差别实在很难区分。只有在画面动作很剧烈的时候才会出现明显区别。一般两个人隔空通话,基本感觉不到什么延迟的区别。)

另外,值得一提的是,我们还测试了纽约本地用户连接另外一个纽约用户的情况,延迟100ms到200ms左右,跟国内视频的延迟一样。在纽约远隔重洋协助我测试的小叔叔说:视频非常顺畅和清晰,就像在中国国内跟与国内的朋友视频通话差不多一样顺畅。

最后,我们开始专注非洲大陆的无死角覆盖测试。篇幅有点太长了,那么,非洲测试发生的浪漫故事就放在下篇吧。这真是一篇神奇的黑色大陆啊,先通过几个关键词剧透一下:在非洲买菜、豪车在沙漠狂奔、华人的超级豪宅、和感人的网速……

即构科技的环球测试数据记录


请期待文科妹子的下一篇
       通过即构的实时语音视频APP
       带你深度游历黑色非洲

获取和文科妹子同款视频聊天APP

请访问即构 https://www.zego.im/

评论

0条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注