许知远,最顽固的“知识分子”,终于走进直播间。
刺猬公社的一篇文章如此开头:许知远的前面站着很多人,比如约翰·斯图亚特·密尔、伯兰特·罗素、埃德蒙·威尔逊、沃尔特·李普曼、让·保尔·萨特等等。不过这次,许知远前面矗立着一部手机。2020年后,许知远的头衔,或许要加上一个“人气主播”。手机里的一场直播,一个人对着十几万人表演,货币数字不断在互联网空间里膨胀,几十万元、几百万元,甚至几千万元。太疯狂了,是不?普罗大众惊叹于薇娅、李佳琦等人气主播的魔力,可有谁知道,如今已成现象级的淘宝直播在5年前只是一个“可以试试”的项目。谷歌定义了搜索,苹果定义了智能手机,淘宝直播重新定义了电商。无一例外,变革和创新的背后都充满技术的张力。在商业进化和社会浪潮的轮番推送下,淘宝直播一次次走进技术的“无人区”。造基建、建集群,降延时……一次次艰难而孤独的拓荒,造就了一个“新物种”,并且不可逆地走进新时代。
o1云栖小镇的空气被晒出土壤和芳草的味道。2015年,阿里云5k丰碑立成,(5K,阿里云“飞天”集群正式运营服务器规模达到5000台),算力开始像水、电和煤气一样的存在,普惠人类。实时视频通讯成为可能。淘宝产品经理岱妍动起了一个念头,想试着把直播搬上淘宝。她当时负责淘宝达人业务,觉得以图文形式进行商品销售太过低效,而直播让这一切都变得简单。淘系高级无线开发专家管裕鸿也觉得可以试试。他拉上罗中柱和其他三位同事,成为了最早的技术团队。
罗中柱(左)与管裕鸿(右)
但除了阿里云ECS服务器(无需硬件设施,可根据需要随时释放和增加算力)之外,其他直播所需的基础设施都很弱。“条件真的太简陋了”摸排后,管裕鸿惊呆了。端上推流和播放器SDK都不成熟,互动的消息通道也是刚刚完工,CDN上分发链路的节点也不多,导致的结果是延迟长达30s,卡顿、黑屏,无法秒开,还有各种千奇百怪的异常。愿意入驻的达人只有个位数,观看人数寥寥无几,直播间最积极的评论都来自开发工程师——“看得到我的评论吗?”“试试看宝贝功能”“再播一会儿”……问题太多,管裕鸿甚至想,实在不行就算了。
o2磕磕绊绊地走到2015年底,第一版淘宝直播上线,它被安排在手机淘宝尾部,在一堆五光十色的栏目中毫不起眼。功能颇为单一,用户只能看直播、点赞、评论和打开宝贝口袋,卡顿和长延时依然严峻。
早期的淘宝直播
“常常半夜起来解bug。”淘系无线开放专家罗中柱说,当时安卓和iOS端口各自只有一人维护。没有多少人看好这个项目,甚至连他们自己都不是很有信心。罗中柱找到群聊团队商讨用户容量时,对方不假思索,“你不用考虑那么多,肯定不到一万人”。他想想也是,当时入驻的主播只有二三十人,观看人数徘徊在几百。容量做到一万,绰绰有余了没承想一天晚上,一个美妆达人的直播间人数突然暴涨。8000,12000……技术团队开始兴奋,忙不迭地将观看人数截图到群里,最终这个数字停留在两万,破了纪录。但大家紧接着就开始慌了——系统根本承载不了2万人同时看直播。新用户涌入房间的消息一跳出来,直播就开始卡顿,最后画面直接就不动了。团队连夜扩容、补救、解bug,直到画面恢复,才松了口气。这场意外终于让淘宝直播被看见,也彻底暴露了自身的基建短板。地基不稳,何谈高楼?
o32016年开始,淘宝直播技术团队联手阿里云自造地基。直播链路分为三部分——
上行:录制-编码-推流节点-网络传输阿里云中心:转码,安全服务,审核,录制存储等下行:CDN分发-播放器(解码播放)
要造地基,从上到下,缺一不可。首先是推流,作为直播的第一公里,视频编码封装后经过推流节点进入网络。推流点若太少,天南地北的视频都要经过同个站点,卡顿自然不可避免。阿里云遂在各个要塞进行部署,连成一张属于自己的网络,名为阿里巴巴RTC集群,今已遍布六大洲。然后是CDN分发网络,被称为直播的最后一公里,视频流经过CDN推送到用户端的播放器,跟推流类似,节点越多,分发越快。2016年双11前夕,阿里云建设了大规模的CDN节点。
阿里云在全球拥有2800+节点,覆盖70多个国家和地区。
如果说兴建节点靠的是底气与魄力,那为了降低苹果端的延时而自行研发播放器,靠的更多是勇气。因为适用于苹果端播放器的HLS视频传输协议会带来15-30s的延时,工程师们决定借助一个通用的开源库,定制自己的播放器。把开源变为自己的商用,这就像把一个野生凶猛的藏獒驯养成温顺的宠物,要考虑诸多的细节:移动端怎么样做裁剪,架构怎样设计,iOS包大小的控制……每个部分都要精心部署,否则一不小心就要会被这只藏獒反咬一口。历时3个月,自研播放器问世。当技术团队正大刀阔斧地造地基时,淘宝直播在业务上却陷入泥沼。
o4继O2O领域的“千团大战”之后,互联网史上另一场血战拉开序幕。2016年初,“千播大战”硝烟弥漫,虎牙、YY、陌陌……400多家平台纷纷发力秀场直播。“打赏”、“火箭”、“游艇”……各式秀场词汇冲破圈层、狂轰乱炸,大平台的头部主播一场秀动辄千万观众,某游戏平台的主播甚至能吸引了上亿流量。眼看他人宴宾客,星光闪耀,说不羡慕肯定是假的。淘宝直播肯定要做,但怎么做?往左是大热的秀场,往右是冷清的电商,没人敢下定论。两条路都走的结果则是需求满天飞,焦头烂额。开发急了,每个月几十项新需求,这边还没完善,那边又来新的,于是和产品吵:“你们需求太多了,做的都是啥!?”测试也疯了,新需求落地要测试,bug频出,还要求日日清,就跟开发吵:“你bug太多了,写的都是啥?!”但秀场直播却在一片混沌中冒出头来。大主播入驻,打赏收入一天高达几十万。罗中柱为了提升打赏体验,还特意找淘宝特效团队做了3D的高跟鞋和海景房。可不到一个月,秀场直播就被叫停了。“你们别做歪了。”时任阿里巴巴CEO张勇在一次会上提醒。所谓的歪,包含了太多考虑,就像潘多拉的魔盒,一旦打开,覆水难收。得知消息的罗中柱颇感委屈,核心代码是他一行行敲下的,势头正好却戛然而止,但他也明白,“逍遥子(张勇)想通过直播继续实现‘天下没有难做的生意’。”不过,那个时候没有人相信直播是可以做生意,岱研说。4月,她写PPT向时任淘宝副总裁蒋凡汇报,一下子站在主播视角,还原主播心理,一会儿角色转变,又变成了用户。蒋凡听完后打趣说:“你们拿到天使轮了”。淘宝直播,最终往右走。
o5美国诗人罗伯特·弗罗斯特说:“林子里有两条路,我——选择了行人稀少的那一条,它改变了我的一生。”许多许多年以后,淘宝直播技术团队将轻轻叹息,叙述这一切。右边那条路真不好走。和秀场和游戏主播相比,阿里巴巴的这个产品显得另类且佛系,主打带货的知识型主播,也没有打赏。这里的直播没有过度美颜功能,因为主角是商品,为了让粉丝“所见即所得”,颜色、质地力求真实,不能扭曲。镜头拍摄视角也往丑的方向扭,不采用俯拍压缩脸型,而是大多采用仰角,牺牲颜值,让商品好看。究其根本,产品功能设计上是要为电商服务。
技术团队把宝贝编号,在用户点击查看宝贝时,小窗口会跟随,直到进入下一个页面。发放优惠券的功能也在此时出现。罗中柱回忆,那时主播讲解时身上都会写上号码,加上个人魅力,能起到很好的沟通作用。淘宝直播在这场无人的道路上越走越远,虽然冷清,但那时日均5万场的直播中,其中4万场都是懂商品和吆喝的卖家。“人家说谢谢哥哥送我大火箭,我们说宝宝们,赶紧下单。”当时场景,岱研记忆尤深。一名东北主播结束一场四百多人观看的直播以后,表现得兴奋不已,在他眼里,四百多人放在线下门店,已经是人山人海,“全是买东西的,不是瞎凑热闹。”拼的是专业,不是颜值。平台算法参数导致的结果是人在镜头前,还不如镜子好看。“重心还是在电商基础,直播是产业升级。” 淘宝内容电商事业部总经理玄德说。
o6淘宝直播真正出圈还是因为杭州本土一家电商公司借助网红直播带货迅速崛起。2016年,淘宝直播地基还未完善,管裕鸿和运营同事来到现场维护保障。他担心推流不稳定,准备了3个各种型号的手机,一个不成功就换另一个。晚上8点,网红现身直播,带粉丝参观打板房、仓库、面料室。镜头前,她每发出一个链接,就有41万人在点赞、评论、购买;镜头后,管裕鸿监控着后台的各项数据,保证直播没有卡顿。直播历时2小时,除了上下楼网络有些抖动外,一切都很顺利,最终成交接近2000万。这个数据在当时刷新了纪录,以至于在阿里投资者大会上,来自其他国家的投资人都不敢置信,请求翻译反复确认。不过管裕鸿并不意外,网红本身就有极强的号召力,而直播进一步放大了她的个人魅力。但淘宝直播的价值,绝不仅是服务网红,而是让千千万万的卖家拥有属于自己的粉丝和平台。主播要和观众互动,让直播本身成为有趣的内容,用户才能停留,成为粉丝。从7月份开始,互动率成为了技术团队的核心指标。淘系高级测试开放专家马俊一直担任着直播业务的测试保障,他印象很深刻,工位边上的看板上写着7、8、9月互动目标,从20%到25%,再到十月份飙升至30%,这意味着,直播间每3个观众,就要有一个要跟主播互动。
马俊
“太高了,不敢看”。每次经过看板,技术团队压力陡增。没有前人经验可参考,没有数据可佐证,因为他们自己就是前人。抽奖、红包、连麦pk,冲榜……各种新互动陆续出炉。“你也不知道什么好,只能一个个试”马俊说。到了2016年的双11,淘系资深无线开发专家,直播技术负责人陈举锋和马俊因为一个功能上线与否大吵了一顿。业务迭代太快,为了确保新需求上线没有大问题,马俊会提出一些规则,但研发侧的陈举锋不愿意被束缚,一心想有技术突破。他觉得新功能上线会助推业务,那些担心没有必要,落下狠话“大不了我来扛!”“你一个人能扛?出了事我也得进来扛!”马俊简直要把桌子掀翻,一旦影响系统稳定,谁能扛得了。最后陈举锋妥协了,淘宝直播还太年轻,需要稳扎稳打。这也让马俊意识到,必须要有一套系统的保障体系,来满足业务的飞速成长。
o7不同于娱乐性直播,电商直播除了要保证观看体验外,还要保证互动和下单的流畅。整条链路很长,不同节点之间架构也不一样,有的用C++,有的用Java,客户端有安卓和iOS两套系统,此外还有PC端,不同端口的环节也完全不同。这意味着,直播一旦出现异常,测试团队很难及时锁定修复,例如直播出现黑屏,原因可能在主播本身、CDN传输节点,服务器和客户端抑或是网络。随着直播用户的爆发,靠传统方式进行质量监控显得越发吃力。马俊萌生一个大胆的想法——通过数据分析做全链路排查。这又是一条没有人走过的路。每一天线上直播,链路上的每个节点都会上报几亿条数据。同样是分析卡顿,把每一个环节的数据拿来作相互的关联度和因果分析,加上本身经验和算法规则,就能快速锁定问题所在。但这对于测试团队而言是全新的领域,“一开始完全是懵的,大家完全不知道怎么做。”马俊让组里两位成员从零开始攻坚。
“这么多的客户端,一天几亿条数据存在哪里?”“怎么分析?”“今天和明天的数据怎么理出来?”“最终怎么生成报表?”
攻坚小队的冰心是名孕妇,为了早点啃下数据分析,几乎废寝忘食,天天加班到12点。马俊慌得不行,到九点就赶人回家,但她嘴上答应,身子还是牢牢钉在椅子上。冰心坚持到了生产的最后两天。半年时间,记不清到底绕了多少弯路,方案推翻又重做了几次,大家才终于拿出一个靠谱的方案。如今测试团队已形成工具建设、链路排查、数据分析、媒体质量四大保障方案,宛如定海神针,保障了直播的稳定。但直播带来的延时问题却一直盘亘在大家的心头。
o8关键时刻,阿里云又顶上去了,谁让他们是阿里巴巴的技术底座呢。2018年中,陈举锋和阿里云相关团队组成一支20人攻坚部队,准备攻克这个由来已久的行业难题——直播延时。
陈举锋
当时淘宝直播延迟停留在5-7秒。这已是最短的延时。甚至业内都已经默认,视频直播就是会有7秒左右的延迟。但这既满足不了对实时要求极高的连麦需求,也让用户体验卡在了瓶颈。为了把延时降低到2s内,陈举锋孤注一掷,决定做自己的推流协议。没有先例,谁也不确定这个对业务是否有帮助,甚至有人质疑,这是阿里在炫技。可淘宝直播自打成立以来,就是在质疑中前进。陈举锋和团队选择一个开源框架WebRTC进行改造。但其原本是为一对一通话场景所设计,能力限制较多,比如不支持AAC音频编码等。开发团队拓宽了WebRTC的能力,同时将其从原本的一对一,做到了百万级的大规模直播分发。这就像改造一辆老爷车,不仅提高了作为车本身的性能,还接入了机翼,让其能上天入地。
o9想法很美好,现实很骨感。新协议ARTP的表现却让众人大跌眼镜。虽然延时达到惊人的1.2秒,却让其他指标恶化、卡顿率和传统协议相比高了80%。“完全不能用,你得重做。”马俊将惨烈的测试结果告诉陈举锋。这位痴迷技术的工程师听后一言不发,沉默半晌后回头继续扎进了研发。其实问题不在新协议。原本直播能做到秒开和不卡顿,是因为各个上链路(如边缘节点和播放器)的缓冲能极大地改善公网传输不稳定所带来的问题,而新协议把时延降低至1秒左右,意味着再也无法靠单纯地加大缓冲来对抗弱网的抖动。既要时延低,又要能应对弱网的表现,还要能支持大规模的分发机制,这在技术上实在难以平衡,就像按下葫芦浮起瓢。当务之急,只能依赖流控算法。当视频被切割成无数个小包传输时,网络时好时坏,有丢包的可能性。流控算法则决定着什么时候发快一点,什么时候发慢一点,甚至什么时候要丢包,以保证画质、流畅、实时性三者的平衡。传统的流控算法已经很难满足陈举锋团队的要求,于是团队又开始优化算法。质疑的声音从未停过,“延时低能带来什么?”“有必要投入这么大人力物力吗?”陈举锋自己都有些迷茫,让大家跟着自己忙活了大半年,到头来却没有结果,值得吗?“你要坚持下来。”阿里淘系技术研究员长恭拍拍陈举锋的肩膀,“业界没有人提过不代表这件事就是不合理的。”但问题从来不给人喘息的时间,优化流控策略后,整个边缘节点所需的算力一下子上升了70%。于是团队又开始裁剪算法,优化编码、解码……终于建成一个,既低延时、又能应对弱网抖动,还能把整个算力降到最低的链路。超低延时经过多轮的验证,确定对成交转化率有提升,这意味着数亿的成交增长。陈举锋不敢相信,他请业务团队再进行反转性验证。经过五个轮次,三个月的AB验证,这个结论依然不变。知道结果的那一刻,研发团队先是沉默,而后爆发出欢呼,所有的投入与坚持终于得到了回报。
10是骡子是马得拉出来遛遛。对于阿里技术人而言,双11就是最惊心动魄的练武场。2019年双11,淘宝直播迎来高光时刻。那天,主播们竭尽所能地推介琳琅满目的商品。当晚十点,流量洪峰就以肉眼可见的速度飙升。数亿人涌入直播间,推流节点以最快的速度将视频流推进网络。它们在居民楼边,在道路旁,在旷野中,在荒漠里,在雪山之巅,甚至在海外。经过一连串指令解析后,视频到达阿里云中心,完成一系列转码、审核、录制存储后,经过几万公里的传输到达CDN分发网络和边缘节点,在播放器中解码播出。在不到2秒的时间内,直播链路在云上完成。一切尽在掌握中。
阿里巴巴核心系统100%上云,抗住了全球最高流量洪峰。淘宝直播引导了200亿的交易,接近双11总额的10%。李佳琦和薇娅横空出世。淘宝直播肇始的直播带货模式一时蔚为大观,乃至浩浩荡荡,不可阻挡。许知远到底是走进了薇娅的直播间,吆喝叫卖日历。那之前,他精心打磨的《梁启超传》刚刚出版。“如果梁启超生活在现代生活,他会是一个非常重要的新媒体的缔造者,新浪潮的缔造者,他也会使用微博或者推特,也会关心世界的图景,也会批评和改造那些他不满意的现象。”许知远想象。连梁启超都没准“下场”直播,许知远的心理会多一点安慰吧。
11全民直播时代,丰富了现代文明的底色。迎头赶上去!2020疫情爆发,开学频频推迟,钉钉开通线上课堂,在线服务5000万学生。鲜为人知的是,钉钉的实时通信技术,背后就有淘宝直播团队的输出和支撑。管裕鸿还记得,2016年淘宝直播帮农户带货。他透过直播间看到渔民在海边打鱼,鸡在撒着欢奔腾,这种新奇而真实让他觉得激动。无论是一呼百应的大V达人,还是粉丝寥寥的素人小白,只要有一部手机,进入直播间,他们就是平等的。他们中有中国最大的公约数,也有小众的奇数。纵使那时,电商直播这片土地还是荒烟蔓草,但管裕鸿和罗中柱隐约觉得,这就是未来。因为相信,所以坚持。他们走进了无人区,用一行行代码,敲下了未来。