我跟马云先生赌一把: 2020 年,如果电商在中国零售市场占50%,我给他一个亿;如果没到,他给我一个亿。
这是王健林的“世纪赌局”。
2019 年,赌局结束倒计时还有一年,天朝线上零售占比只冲到了20%,所有人都认定马爸爸输定了,已经在脑海里把这个赌局标记为“已完成”状态。
2020 年骨骼清奇,带着一股“妖风”拍面而来。我死宅在家里送走情人节迎来儿童节,终日以网购为生,就没出门买过东西。一天早上我垂死病中惊坐起:那个赌局。。。。好像。。。。有可能逆风翻盘。。。。
这世界比玄幻小说还玄幻一百倍,太刺激了。
正好前两天,我看到一个新闻:
有一位叫姜雪英的漂亮姐姐,是个大老板,她有 13 家童装连锁门店。本来她的人生已经板上钉钉——在土豪的路上越走越远。不料,从 2020 年春节门店放假之后,就放假至今。
租着 13 个门店,囤了 13 家店的货,然后就没有然后了,你感受一下她的心情。。。
眼看人生巅峰就要变成破产清算,姜雪英姐姐小宇宙原地爆发了,她冲上了快手,打开直播间,开始直播带货。本来想着是能挽回点损失就挽回点损失。没想到,从大年初四开始播,每天至少卖掉1w多的货,第一个月就卖掉了43w的童装。。。。
这位女司机,从土豪高速路,突然开到破产小土道,又一个急转弯回到秋名山还越飙越快。
一年前别人要是给我讲这个故事,我肯定白他一眼:“老铁,几个菜啊,喝成这样?”今年,啥剧情我都信。
这个新闻里,有一个细节成功引起了我的注意,那就是姜雪英姐姐选择了上“快手”直播带货。为啥是快手?说实话,中哥不是快手的活跃用户。在我心里,快手的形象就是个短视频 App。
一查数据,我惊了。现在快手居然已经成为了中国最大的直播平台,无论是在线人数,还是直播收入,都是第一,没有之一。而且,单独在“直播卖货”这个领域,快手也已经和淘宝分庭抗礼。
我决定御驾亲征,刷了几天快手。
我截了几张图,你感受一下画风。
我发现一个有趣的事儿:在快手上有成千上万“奇形怪状”的平民主播,他们粉丝不那么多,却个顶个是铁粉儿,如果带货的话也颇能卖出去不少,我脑海里出现一个词:“万蚁蚀象”。
于是,作为一个科普作者,我立刻 决定转行直播带货 注意到一个剑走偏锋的问题:
有人在山沟农家院里吃得嗨,有人在郊区仓库里卖轮胎,还有人在十八线城市喊麦,有人用移动网络有人用 Wi-Fi,信号估计时好时坏;主播的手机有品牌有山寨,视频解析能力也有好有赖,但是我无论刷到谁,直播信号好像都很“坚强”,无一失败。。。
老司机的嗅觉告诉我,这背后肯定有个牛X的技术团队做了一整套黑科技。于是我戴上口罩,冲进晚霞中的西二旗快手总部,跟快手“音视频技术团队”的老铁们切磋了一夜。
(一)看直播就是“收快递”
于冰,是快手音视频技术团队的负责人。等会要讲的骚操作,大部分都是他和同事们研发的。
为人低调的他,其实是中国“音视频技术”领域的早期专家, 2006 年中国第一批视频网站成立时,某一家的核心后台系统和直播系统,就是他和一群同学们一针一线搭起来的。
2016 年,于冰加入了快手,开始为快手网罗天下豪杰,建起一支音视频技术的“海豹突击队”。
说了这么多,终于到了浅友们喜闻乐见的科普环节:直播到底是个啥技术???
通俗地讲,直播其实像极了“网上购物”——主播就是卖家,看直播的老铁就是买家。直播信号从卖家到买家拢共分三步:
第一步,发货:主播的画面通过摄像头进入他的手机,手机会迅速对它压缩转码,推流到快手服务器——这就像快递员给商品打包然后取走。
第二步,运输:视频数据会顺着互联网在神州大地上奔流,最终送到离你家最近的分发节点——这就像快递经过一路运输,到达你家附近的货仓。
第三步,收货:视频从最近的分发节点通过 Wi-Fi 或 4G 拉流到你的手机上,你的手机对它解码,然后播放——这就像快递员把快递送到你家,你迫不及待开箱验货。
发快递,运快递,收快递,That"s it。听上去很简单吧?
但是你想想,几千万人在广袤的土地上同时发快递收快递,编制出一张极其细密的信息洪流之网,同时,还要保证每一个快递都在最短时间送到,不能损坏,更不能丢件,这个事情的难度就冲上天际了。(说句八卦,一个音视频传输技术的老司机年薪都是七位数起步的,足见这个技术的含金量了。)
实际情况比这个还要复杂几万倍,中哥我画得眼睛都快瞎了,你自己脑补一下吧。。。。
2016 年快手上的老铁们,正像“铀235”一样迅速裂变。如果技术上控制得好,人人都能愉快地玩耍,这就是可控核反应堆;如果控制得不好,短视频直播都卡成狗,很可能就是一场核爆炸惨剧。。。
快手音视频团队,正站在这个历史的风口之上。再老的司机,手心也难免出汗。
(二)二营长,拿我的“作战地图”来
讲真, 2016 年时快手直播的体验只能用“差强人意”来形容,多是用的第三方技术方案。
这时候,团队里一位直播技术的老司机站了出来,他叫罗喆。
当时快手有个产品体验群,同事们发现了什么问题,都可以在里面提出来。结果,天天在里面吐槽最凶的哥们不是别人,正是 CEO 宿华。
“那时候宿华经常看一个主播直播,可是很奇怪,这个主播的视频很不给面子,动不动就卡住。。。”罗喆回忆。
团队同事们赶快调出这个主播视频传输全链路的数据,他们发现:主播家的网不卡,说明第一步“发货”没问题;宿华家的网也不卡,说明第三步“收货”也没问题。问题主要出在“第二步”——运输——上。
这里注意,中哥又要科普了:
运输商品的机构叫“快递公司”,运输直播信号的机构叫“内容分发网络”(英语简称叫:CDN)。
CDN 的原理和快递差不多,先分发到省级大仓,再分发到离你最近的小仓。
说回当时具体的情况。给宿华喜欢的这位主播承担视频运送的 CDN 厂商,那几天表现就很屎。。。
你也许会说,这还不简单,谁家“快递”送得好,就把所有的快递都交给它不就得了?
你太年轻了。实际上这些 CDN 厂商的表现非常不稳定,今天 A 厂在黑龙江分发地很慢,明天也许就好了;明天B厂在浙江网络抖动大,后天也许又好了。一共就这么几家 CDN 大厂,你横不能全给拉黑了吧?
这咋办?
到底是老司机,于冰带着罗喆合计出了一个骚操作:建立一套“流媒体大数据系统”。
别看听上去很复杂,这其实就是一个“收货评价系统”:
每个快手 App 都会反馈直播质量的数据,哪里不好一目了然。
能体现用户看直播体验好不好的数据有很多,我们不说那么复杂,只说最主要的两个“黄金指标”:
记住这两个黄金指标,接下来会反复提到。
半年时间,团队加班加点,终于搞定了“流媒体大数据系统”。
2017 年这个系统上线后,全国各个区域的“首屏时间”和“卡顿”大数据都被实时汇总在一起,就像作战地图一样。哪家 CDN 在哪个区域掉了链子,系统几秒种后就能知道,马上自动切换成其他 CDN 来顶住。
俯瞰这张作战地图,真相一目了然:自从“自动调度 CDN”功能上线以后,全国快手老铁们可谓“普天同庆”,绝大多数用户观看时长和流畅度都有肉眼可见的提升。
但是,于冰却并没有特别开心。因为这幅作战地图里,清晰地分布着很多顽固的“敌军小要塞”——这意味着“一小撮”老铁并没有在“普天同庆”的范围里,他们的观看体验并没有随着新技术上线而提高。
《霸王别姬》里程蝶衣有句名言:说好的是一辈子,少一年、一个月、一天、一个时辰,都不算是一辈子!
罗喆和团队们相信另一句话:说好的是解放全中国,少一个地区,少一家人,少一个老铁,都不算是全中国!
你可能会说,这个疗效已经很好了呀,为什么非要解放全中国?
这里不妨讲个小故事,窥探一下快手的理想。
宿华的老家在湖南的一个偏远小山村,他从小不是没有电视的问题,而是连电都没有。每天太阳下山,就被迫睡觉。就是在这样的环境里,他奋发考上了清华。几经沉浮他遇到了产品大牛程一笑,二人合作把快手从一个GIF剪辑工具变成短视频平台。
从一开始,宿华就憋着一股劲,想让自己老家这种曾经连电都没有的地方,这些淳朴的人们的生活能够被全世界每一个人看到。
当年没有电的村子如今通了网,但是网络质量终归不那么好,直播信号也就不稳定。你可能明白了,那些“作战地图”里难啃的据点,很多都是像宿华老家一样的地方,他们恰恰最需要用直播来向外界传递信息。
这个大大的梦想被压在了快手稚嫩的肩膀上,于冰和技术团队也深受感染。他们手握钢枪,决定一试。
(三)PK引发的”血案“
2017 年,快手直播低调地上线了一个新功能:PK直播。
这个PK直播大概就像这样:
PK 对于技术的要求其实很高。你可能会问:不就是把两个人的直播信号捏在一起,然后推给观众吗?
话是这样说,但是就是这个“捏在一起”的动作本身,就是个高难度的。我们还用快递来打比方,假设有一个从乌鲁木齐寄到你家的包裹,还有一个成都寄到你家的包裹。“PK”就相当于他们两个要在运输的路途中被放进同一辆卡车,然后同时交到你的手上。
用技术名词来说,这个就叫“实时音视频通信”。
实时音视频通信
你想想看,如果主播A的传输链路好,主播B的传输链路差。那么他们两股信号在网线里奔走的时候,A信号就要等着B信号,以防止出现“A说完话B半天才回答”的尴尬场面。
两个主播之间的通信延时要低到什么程度呢?经过测算,要 400 毫秒以内。也就是不论快递路线多么困难,多么遥远,到货时间不能相差超过半秒钟。。。
这还不算完。
刚才说到,“流媒体大数据系统”会根据网络状况,给不同的人分配不同的快递公司(CDN 网络)来送。明明不是一家快递公司,却还要两件商品同时到货,奇怪的难度又增加了。。。
其实,就在 PK 上线之前,这个问题已经有了解法。因为于冰请来了另一位直播技术的高人,郭亮。他负责组建更强大的团队,把直播技术升级到了 2.0。
直播技术2. 0 里的一个重头戏——“源站”——恰恰可以解决 PK 的问题。
啥是源站?就是快手挽起袖子自己上:
简单来说,这就相当于自建了一套物流体系。它的好处归根结底就是一个字:特别地可控!
“自建物流 “可是个大工程,至少要解决 3 个大难题。
于是,接下来一年时间内,曾供职百度的资深架构师林杰和同事在全国各地“施工”,建起了好多源站,而且这些源站分散使用了阿里云、腾讯云、Ucloud 等等主流云计算厂商的云计算,成为了一套靠的“分布式源站架构”。
这么一波操作下来,不仅PK的体验非常稳定,就连单人直播的视频也可以进入源站,清晰度从360P做到了720P,卡顿和首屏时间这两个黄金指标却下降了不少。
有人说,既然源站这么好,怎么早不建呢?
其实,源站好是好,但还有三个缺点:1、贵;2、特别贵;3、贵死了。。。
本来,出于给公司节省成本考虑,快手音视频团队还制定了一个计划,就是把相对关注量大一点的主播推上源站,这样大多数观众老铁会感觉更好,快手花的钱也不至于特别多。但是,宿华听到了这个计划,思考了好久,还是拍了板儿:所有主播,无论大小,都要上源站。
宿华的出发点还是快手的哲学:
于是,从 2018 年开始,绝大多数的主播影像,无论一个粉丝还是百万流量,都会通过源站用同样顶级的技术传递到他老铁的手机里。
在《时间的朋友》 2017 跨年演讲上,罗振宇分享了一个故事,宿华曾经在快手上关注一位拉二胡的老人,他可能独居,每天唯一的事情就是对着镜头给大伙儿拉二胡。最终也没有人知道他叫什么,但是快手上,有 6 万多名粉丝一直这样陪着他。
你还记得不,我们之前说过 直播技术分三步:“发货、运输、收货”。目前为止,我们说的技术还都集中在第二步“运输”阶段。
事实上,就在源站如火如荼地建设时,快手音视频团队已经把目光移到了另外两端——他们决定从“发货”下手。
就是如下这个阶段:
(四)“凶猛”的协议
有句话叫“兵怂怂一个,将怂怂一窝”。在直播技术中,这句话可以改改——观众网卡卡一个,主播网卡卡一窝。
道理很简单,如果主播的直播信号在发出时就卡了,那么所有观众看到的必然都是卡顿的画面。
这其实就是文章最开头我思考的那个问题:快手的主播们,很多都是在田间地头、树林河沟、郊区小楼上就开播了。他们的姿势可谓九天揽月,五洋捉鳖。对于这些上行网络本身就不好的主播,快手要怎么保证他们直播顺畅呢?
其实自建了源站之后,团队里另一位老司机周超注意到:总有那么极少数的主播推流信号卡顿,造成了相应的观众看到卡顿画面。当时快手的用户已经上亿了,就算有5%,也有 500 万人,这可不是小事儿。
既然网络质量无法改变,这群大牛们可以操作的空间就只剩下“传输协议”了。
如果把网络比作高速路的话,每一段数据就是一辆车,传输协议就是开车的司机。
目前,世界上最通用的底层传输协议叫做 TCP 协议。基本上你日常看的所有网页、视频、微博、聊天,这些内容都是基于 TCP 协议传输的。
快手也不例外,在 2018 年之前,所有主播视频推流的协议都是 TCP。
但是问题来了!
TCP 协议其实是一种比较“懦弱”的司机——它一旦遇到拥堵就会选择刹车,等路上车少一些了,再前进。
一般网络情况下,TCP 协议这种驾驶风格完全没问题,文明礼让方便你我他。但是,一旦网络本身很弱很不稳定,也就是高速路本身就坑坑洼洼的时候,你再刹车等待,那等到死路也不会变好,车就不用开了。
既然如此,那只有一个办法:把 TCP 这个“懦弱的司机”换成“秋名山车神”。
于是,周超所负责的团队开始研发一个新的协议:KTP。其实,KTP 的核心奥义并不在于这个协议本身,而是在于不同情况下,它会变脸:
具体怎么冲过坑呢?
信号弱的姿势有很多种(网络延迟、丢包、带宽不足、抖动),有的是因为路由器质量差,有的是因为宽带服务商出口拥堵,还有的地方是距离4G基站比较远,总之千奇百怪,不一而足。
于是,针对不同的网络类型和特征,需要设计一套综合策略。周超给我简单举例:
所有的策略加在一起,在KTP里被统称为“网络控制策略”。
为了保证策略的足够完善,周超他们搞来了几台叫做“网损仪”的东西,专门用各种姿势模拟弱网。基于它的模拟,同学们兵来将挡,水来土掩,每研究出一种策略,就加入拥塞算法全家桶,就这样一点点升级迭代。
其实,KTP 的宏伟构想早就在周超脑海里思考多年了,一直没能找到战场来施展。快手遇到这个问题对周超来说并不是负担,反而像是送了好几年豆腐的藤原拓海总算找到了飙车赛道。
为了进一步提升 KTP 的火力,在KTP的“网络控制策略”基础之上,周超还搞出了KTP的第二大核心模块——“智能流控策略”,其基本想法就是让业务需求与网络特性完美融合。例如,在直播推流时,当主播网络好时,智能流控策略配合网络控制策略,就以更低的延迟推更清晰的视频流;当主播网络差时,就无缝切换到低清晰模式,以保证流畅为第一准则。
听到周超讲 KTP 时津津有味,中哥心里其实有问号——这 KTP 最多是个幕后英雄吧,普通人能感受到吗?没想到就在写这篇文章的时候,还真发生了一件有意思的事情:
2020 年 4 月,格力集团的董事长董明珠决定开启她的“带货生涯”。
4 月 24 日,她去了抖音直播。虽然我知道抖音的攻城狮们一定也加班加点做了技术保障,但这次直播还是得用“事故”来形容。。。
大众这么关注的一场直播首秀,却因为网络卡顿而翻车,损失得有多大啊。我突然意识到,直播流畅度这事儿,事关生死。
快手抓住机会,赶紧邀请董明珠再来快手播一次。没想到 5 月 10 日这一次在快手的直播异常顺利, 3 个小时成交3. 1 亿。
没有人能随随便便成功。
普通人可能难以想象,就在这短短 3 个小时的直播里,快手使用了包括 KTP 协议、5G网络专线,无线图传质量保障,移动网络QoS保障等等一堆黑科技。每一个技术背后,都是老司机们不下十年“艺术人生”的积累。
格力一直以来的 Slogan 就是:格力掌握核心科技。这次直播以后,快手的同学告诉我:快手也掌握核心科技——直播不卡的核心科技。
回到我们的故事。
你可能已经发现了快手音视频技术团队的基本节奏——每次上线一大技术改进,都能解决大部分的问题,留下小部分难啃的骨头;下一次技术改进,再解决剩下问题中的大部分,留下小部分;下一次技术改进,再解决大部分。。。
“再少见的问题都是大问题,每一个老铁都是老铁。”用于冰的话说,这么多年他们都在用做“基础设施”的要求来做快手的技术。
于冰说。
(五)沉默的老铁
实际上,几大技术都上线之后,“直播卡顿”已经成为了稀有物种。
只剩下5%的5%的5%的5%。。。的用户看直播时仍然会遇到卡顿。这些用户数量并不多,遇到的问题又各不相同,没办法集中吐槽,所以一般很难听到他们的声音。我把他们称为“沉默的老铁”。
团队这些老司机面对“沉默的老铁”们的特殊问题,就像医生面临疑难杂症,往往需要慎之又慎。之所以谨慎对待,不是因为开药方难,而是因为药方是通用的——一旦开出来就会作用到每一个快手 App 上。吃了同一副药,有的人体验确实变好了,有的人体验却有副作用。。。
我问你:如果有人变好,有人变差,按下葫芦浮起瓢,那你说这个改动是上还是不上呢?
答:上不上,快手的老司机说了不算,你我这样的用户说了也不算。疗效说了算。
其实,早在快手推出之初,技术团队就开发了一套“A/B 测试系统”。
任何一个技术升级,理论上都要把用户分成两组,A组用户做升级,B组用户维持现状,几天以后,用后台的数据说话,究竟A组用户有没有比B组用户有“肉眼可见”的提升。
“A/B 测试”有点像真假美猴王,让他俩打一架,比比谁厉害。
实际上在最初的“自动切换 CDN”、“自建源站”、“自研协议”等等大升级时,团队也做了“A/B 测试”,只不过这些测试结果都是一边倒的巨大提升。但是到了 2019 年,很多改进都是为了那些“沉默的老铁”所做的“特殊疗法”,堪称高手在紫禁之巅的细致拿捏,所以在“A/B 测试”里,时常会出现“上了策略之后效果不升反降”的情况。
每当这时,就意味着技术团队过去一两个星期的努力付之东流,唯一留下的就是“此路不通”的教训。
你还记得我们最开始的比喻吗?直播技术分为三段:发货、运输、收货。
之前我们把”发货“和”运输“的黑科技都说了,现在只剩下“收货”。可能你也猜到了,在这三个阶段里,“收货”是最后一公里,是情况最纷繁,也是技术上最复杂的。
这里的技术非常非常多,我们只举一个“DNS 优化”。
虽然使用了KTP协议,建立了源站,但是视频数据的“最后一公里”还是由 CDN 厂商负责运送到你的手上。所以,想要把“首屏速度”提到极致,这最后一步必须由 CDN 厂商来做优化。
CDN 分发内容的时候,最费时间的一步叫做“DNS 解析”。还用送快递来类比,这一步就相当于“查询哪个快递点是离你家最近的”过程。
这其实很重要。假设你住在北京王府井,结果快递被误送到了大兴机场附件的派送点,那么快递员就得开着电动车跨越大半个北京给你送来,这自然会慢。
传统的“DNS 解析”方法多多少少会不准确。所以快手的做法是,在启动 App 时,就预先解析 DNS,然后对各个站点做个测速。然后选出最近的几个站点洗净备用,在你点选某个主播之后,就从中随机分配一个站点给你。
你可能会问,为什么在最快的几个里面随机选择?只选最快的那一个不就好了?
一开始团队确实是这样做的,但是“A/B 测试”下来,效果不升反降。。。原因是,对你来说最优的派送点,对于你的邻居来说也是最优的派送点。如果大家都选择这个点,这里就会“爆仓”,本来最快的点就变成最慢的,大家都拿不到快递。。。
经过好多轮实践测试,他们最终才确定了“在最优站点中随机分配”的策略。
1、先测出最近的几个站点;2、在最近的几个站点中随机选择一个给你“发货”。
你还记得主播推流的时候有一个“智能流控策略”吗?就是根据主播网络的好坏选择上传的图像清晰度。
在你收货的时候,同样有一个类似的技术。这就叫“直播自适应多码率”,简称LAS(Live Adaptive Streaming)。
这个技术可以在不增加额外直播延迟的情况下,根据用户的实时网络情况,自动选择最佳的视频质量。
这一整套黑科技配合起来,就会让卡顿的概率降到极低极低。
一贯冷静低调的周超博士,在说到这些黑科技的时候,掩饰不住自豪。
(六)当直播成为“生产力”
五年来,快手的音视频技术团队只做了一件事:把直播技术当做“基础设施”一砖一瓦地认真修砌。据我观察,技术人的目的很单纯,只是为了让人们能在视频里清晰而流畅地看到彼此的生活,从而了解彼此,善待彼此。
没想到的是,这个庞大的“社交基础设施”,却在 2020 年摇身一变成为了“生产力基础设施”。
还记得最开始我讲的在快手直播卖童装的姜雪英姐姐吗?她并不是特例。疫情就像小行星一样突然撞进我们的世界,把大家封印在了玻璃窗内。很多人的工作都没办法用以往的方式进行下去,他们主动或者被动选择了“直播复工”。
快手的同学给我讲了一些故事。
冰冰是沈阳大众4S店的一位销售经理,年后4S店虽然开门了,但是客流量却很惨淡。冰冰怒了:我这么美,我可以直播呀!从 2 月份开始,她就在店里用快手直播,每天坚持两场雷打不动。凭着十年的专业销售功底,半个月下来涨了1w多个粉丝。有老铁看了十天直播,就定好了要在她这里下单。
冰冰
冰冰的同事涛哥从 2019 年就开始直播卖车,也有1w多粉丝,他已经在直播里卖出去了 100 辆车。他说有一个内蒙古赤峰的客户,不远万里冲到沈阳他们店里来找他提车。涛哥惊了:“你知道我卖多少钱你就过来?”这位老铁回答:“我关注你四个月了,我相信你绝不会加价的。”
涛哥
2020 年春节之后,云南西双版纳勐海县的茶农们照例准备好迎接茶商,但是疫情影响,客商特别少。一些寨子刚脱贫,眼看收入又没了着落,别提多着急了。 3 月份,一个名为杨佛海的人注册了快手号,连着发了很多勐海茶叶的短视频。此人不是路人甲,他是勐海县副县长。 3 月 31 号,杨佛海更是开始了茶叶带货直播。副县长一边直播一边秀才艺, 35 万观众们现场秒光了价值 4 万多元的普洱茶和傣家手工红糖。
杨佛海
2020 年 4 月 12 号,央视新闻直播间和快手直播间里,欧阳夏丹、王祖蓝、蔡明、郑爽、陈小春一起为武汉带货,短短两小时,卖出了 6100 万元的武汉产品。
直播临危受命,成为了生产力。
在这些故事里,快手的音视频技术成为一个坚硬的底色,是众多直播平台里对网络要求最低,传输质量最稳的那个基础设施。这似乎并不来自商人的无心插柳,而是来自一种稀有的属于技术人的执拗。
当直播成为生产力的时候,它便不再是可有可无的玩物,成千上万人的事业前程、箪食瓢饮、妻儿老小都与之有关。据此,每一帧画面都是沉甸甸的责任,不容有失。
几天前,我看到《人类简史》的作者尤瓦尔·赫拉利这样评价这次疫情:
这让我想到了《流浪地球》。有朝一日,太阳的死亡氦闪终会发生,只是没有人知道确切的日期。当灾难真的不期而至时,幸而那些能帮助我们流浪远方的行星发动机已经落成。
疫情之下,每个人都在家开始了新的生活,这些奔腾在大地上的直播信号,不正在成为我们新生活的一部分么?
我仍想用尤瓦尔·赫拉利的一句话作为结束: