史中:法国队夺冠!央视转播背后的骚操作
2018 世界杯,法国队第二次夺冠了。(我从没见过法国队夺冠,上次法国队夺冠的时候,你中哥还没出生呢。)
我和几位朋友,是在不同地方看的法国和克罗地亚这场决赛:
一位壕,直接带着几个妹子飞到了莫斯科,坐镇中央看台 VIP 中 P 欣赏比赛。
另一位壕,带着妹子包了一个酒吧,在100寸4K大电视面前给法国加油。
你中哥,趴在小屋的床上,一只手举着手机,另一只手捏着半罐啤酒。
怎么说呢,我得承认这三种看球方式的感受不太一样。
别幸灾乐祸。根据中哥对大浅友们的了解,你等技术宅大概率也是独自一人在床上拿手机看的比赛。
拿手机看的人只分成三种:
1、用央视 App 看;
2、用优酷看;
3、用咪咕视频看。
因为据我所知,央视把版权买来之后,只分销给了优酷和咪咕。
作为一个严谨的人,世界杯一开赛,我就下载了三家的 App 作对比。最终我选择了央视主推的“CCTV5” App。(据说这个 App 从开赛前的路人甲,到后来直线蹿升到各大应用商场的前几位。)
经过体验,最终选择它的理由有三个:
1、“CCTV5” 会比其他 App 快几十秒,这样就不至于隔壁看球的都开始欢呼了,我这边半天才看到这个进球。
2、虽然三个 App 都不卡顿,但是“CCTV5” 清晰度莫名感觉更好一点。
3、细节做得好。比如看球过程中需要回个微信,再切换回来之后,一秒不到,视频就出现了。
讲真,作为一个技术流的中哥,这次世界杯,我对央视的技术能力刮宫相看。
就在决赛前两天,我和腾讯云的盆友聊天,说到世界杯,他轻描淡写地说:“这次央视 App 的网络视频转播,用的是我们的人工智能技术啊~”
我大吃一惊:“纳尼?用的是你们的技术?还是人工智能?你们怎么证明,有发票吗?你能把这里面用到的技术,说上三样五样来,我就相信是你们给央视提供的技术。”
于是,我就被“押送”到李海琦和卢林两位大牛面前,被强势科普了一波腾讯云帮央视转播世界杯的“黑科技”。(李海琦是腾讯云高级产品经理,卢林是腾讯云技术专家)
下面中哥就给你们唠唠。
一、“无码”的世界杯
每次看完一场比赛,我满脑子都是:旅游之前,为什么要上 Boss 直聘?
之所以广告要这么玩命轰炸,不就是因为看球的人多么。卢林给我一个数据:在有精彩比赛的晚上,世界杯的流量会占到全国流量的 20-30%。
这里涉及到一个知识点:无论是视频 App 还是球迷,都希望看球的时候尽量“少占带宽”。
有两个原因:
1、对于 视频 App 来说,是很心疼的。
你想想,一边球是免费给大家看的,但另一边把视频推给球迷的流量费用要交给网络运营商的,一分钱也不能少掏。 这种推流的费用单价不高,但总量大啊。打个比方,就像全国球迷分别打开水龙头放90分钟水,每个人平均费用不多,总水费加起来肯定是个天文数字。
2、对于球迷来说,是很蛋疼的。
至于看球的人,反正自己都是包月的带宽,不会因为看球额外花钱。但是,如果视频占用带宽太大,就会慢的一比,卡得蛋疼。想想看,苦苦坚持 89 分钟,就在最后一分钟卡了,结果错过绝杀进球,你是不是想掰手机?
所以,腾讯云就是央视请来的逗比,要帮央视的世界杯视频流“省带宽”。央视的要求有两个:
1、降低码率(降低单位时间内传输的数据,从而省带宽);
2、别降清晰度。
我给你翻译一下,这两句的意思是:“既要马儿快点跑,还要马儿不吃草。”不,这么说不太准确,更准确的说法是:马儿跑得速度可以不变,但是要少吃草。这简直是周扒皮啊有木有。
腾讯云接受了这个任务,赶紧回家翻箱倒柜,看看有神马黑科技可以帮助央视老哥。
结果还果真让他们找到了。
二、“骚操作”来了
说到这,中哥先扯两句历史。
早年间,阿里通过收购优酷、百度通过收购爱奇艺拿下视频市场,但腾讯是生了一个不怕任何亲子鉴定的亲儿子:腾讯视频。最近的《创造101》有多火,你是亲眼见过的。
我的意思是,从比较早的时候开始,腾讯在视频这一行就有积累和口碑,所以,在后来的腾讯云上才有了如此多的视频客户。
腾讯云上各类有视频业务的客户,当然也面临带宽太贵想省流量的问题。所以从几年前,腾讯工程师们就憋着各种心思想做编码优化。但受限于技术发展,前几年整个行业都主要是通过一些死板的算法来实现。这就有很大的问题:
如果原画面镜头固定,色彩丰富,那么岁月静好,但如果画面一抖动,这种算法马上就蒙圈。要么就模糊、要么就出现锯齿,要么就有失真噪点。
一遇到特殊情况,就各种乱套
死板的算法虽然不够好,但确实能省一笔带宽费啊。于是各路视频企业,也都在“凑合着用”。
不过,随着最近人工智能的发展,腾讯云发现了一片新大陆。这次给央视用到的,就是最新研发的“压箱底”黑科技。这种技术被他们称为“极速高清技术”。
乍一听起来,这个“极速高清技术”有一种浓浓的街边贴膜既视感,不过当我听完李海琦的介绍以后,不禁露出了赞许的围笑。这居然是一个超叼的“人工智能系统”,它的关键技术都是由背后的“大脑”来支持的。
“极速高清技术”这种骚操作的具体原理是什么呢?简单来说分三步:
第一步、你要先知道自己转播的是个啥场景。
你可能会说,转播的是个啥场景,这还用说吗?足球啊!
我指的不是这个场景,而是在一场足球比赛里,现在的镜头具体是远景、中景还是近景;画面里展示的是赛场还是观众还是场外教练;画面的内容是球员跑动还是头球争顶还是起脚射门。
这样分下来,光是场景就恨不得有几十种。这样的场景分类工作无聊又机械,不过它却是人工智能的强项。只要给 AI 看几百场球赛,它分分钟就能掌握这种操作。
第二步、针对这个场景做优化处理。
判断出当前镜头属于哪一类之后,接下来就是对这个镜头进行精确地优化。高能预警,接下来就要说到这里面的黑科技了。
举两个例子:
1)先给你说个“残差补偿”
视频是由一帧一帧的静态图片组成的。在同一个镜头里,上一帧的图像和下一帧图像也许有90%的地方都是相同的。
随便翻出一部教学电影,浅友们找找不同~
足球赛也是一样,如果是一个全景镜头,每一帧之间,也许只有球员移动了位置,而草坪的位置肯定不会变化。
这个变化了的地方就叫“残差”,而一段镜头里,最有信息量的就是“残差”部分。如果只统计“残差”部分的数据,并不会占很大的存储空间。就像你看球时吃的小龙虾,看起来很大,但大多东西都是没用的,关键部位只有虾尾那三分之一处。。。
这种情况就给视频编码提供了压缩的空间:
首先,人工智能像玩“大家来找茬”的游戏似的,找出两帧之间的不同之处。
然后,在每一帧的编码里,只需要标记出和上一帧的“残差”就 OK 啦。
2)再给你讲个“区域画质增强”
由于视频传输,一定会经过压缩。只要有“压缩”这两个字,就一定有画面损失。
损失不要紧,我们有办法补救啊。
如果是一个全景镜头里,球迷最关心的肯定是跑动的球员。所以,系统只要对这些球员的位置进行特殊的“锐化”“色阶补偿”,就会大大提升观众的观感。这大概就像把球员单独拎出来,给他们每个人都做一下“美图秀秀”,至于背景嘛,就不用特别在意了。
如果是一个射门的中景镜头,那么观众可能不仅会注意球员的动作,还会注意球飞行的弧线,会注意球门的位置。那么,在这种镜头里,就要对所有观众关心的东西都做加强。
当然,在各种优化的方式里,还有去块、降帧、反交错、视频降噪等等技术,限于篇幅我就不展开说了。
第三步、整装粗发
经过刚刚那些优化处理,不同场景的画面,已经被用不同的编码参数进行了编码,他们就像不同颜色、不同款式、不同大小的服装,被统一打包装进了集装箱,然后从 CCAV 的港口出发,漂洋过海向用户的手机开进。
为了解释清楚这些技术,我刚才细致地写了一千多字,但是在现实中时间可不等人:从人工智能判断这个镜头是什么类型,到用不同的套路为它做好优化,到分别编码统一整装待发,整个过程不超过 0.1 秒。
从用户的角度看,整个球赛比原始信号推迟了 0.1秒,是几乎感受不到的。
技术宅卢林打了一个有趣的比喻:
这种技术就像是老师帮学生批改作文,学生每写一句,你当时就要做出批改。如果等到他全写完了再批改,比赛就结束了,黄花菜就凉凉了。这就要求你这个系统有对未来的预测能力,学生作文刚写了开头,你就能知道它未来的脉络。这种预测能力,就是靠人工智能算法实现的。
这位就是技术宅,卢林
这是李海琦
三、看看“疗效”
吹了这么多屌炸天的牛,实际疗效怎么样呢?
李海琦给我看了两段对比视频,我截图给你体会一下:
不知道你是不是能看出来,左边是经过处理的,右边是没有经过处理的。目测稍微有些区别。
我相信一定有人会说,我就觉得右边的画质更好,你咬我啊。
没错,这是因为,对一个视频的观感,人们是见仁见智的。难道央视自己说好,就是真的好吗?有没有一个公正的裁判呢?
说到这里我得给你介绍一位新朋友: VMAF。
VMAF 是一个用来判断视频质量的神器。它是美国视频公司 Netflix 开发出来的一个工具,基本的原理是:它用很多视频专家的经验训练出了一套系统,你只要把视频导入进去,系统就能自动为它的观感来个“权威打分”。
李海琦说,在1080P 和 3M 带宽的情况下,经过“极速高清技术”处理的视频,VMAF值可以从80多分到达90多分,提高 10分(满分100)。
如果视频 App 说,这多出来的10分我不要了,你给我省点带宽吧。(央视就是这么跟腾讯云说的)那么就可以通过“极速高清系统”在保证视频观感不变的情况下降低码率。降低多少呢?根据李海琦的说法,大概可以降低30%。这就意味着,视频 App 可以比处理之前节省30%的带宽费用。
视频处理前,大概是10Mbps。
视频处理后,大概是6Mbps。
当然,对于美食主播、颜值主播等等相对没那么闹腾的视频,可以节省最多 70% 的带宽。
李海琦给了我这张图片,是两种视频技术在转播同一场足球赛时进行对比的数据。
红色的是央视和腾讯云技术的码率,比绿色的要小一些。
这个数据可以从两个角度看:
1)作为用户,如果你的网速很慢,那么央视的 App 比其他 App 卡顿的几率更低。
2)作为播出平台,央视通过网络直播付出的带宽费,平均到每个球迷身上,应该更便宜。
四、他们为之付出的努力
没想到看个球,背后有这么多麻烦事儿。
其实刚才我只给你讲了这套技术的原理,技术之外还有挺多有趣的八卦。
大概在世界杯以前一个月,央视经过竞标,决定了要采用腾讯云的直播技术。但是,有个小要求:“你们的机房有点远,我们喜欢眼见为实,你懂的。。。”
于是,一个搭载了“极速高清”系统的服务器就直接被搬进了央视大楼。
卢林亲手把设备安装调试完毕,然后拍拍手说:撒由那拉。央视的老师一把拽住他,亲切地说:别走,一起看球。如果系统出了问题,我们就把你炖了。
于是,整整一个月,卢林晚上都瑟瑟发抖地在央视大楼和技术老师一起看球。
话说,这套系统在搬进央视以前,已经经受了一些考验:
2018年4月,腾讯云用这套系统帮助龙珠直播优化了中超的比赛转播,这是系统第一次在实战环境中工作,效果还不错。
于是4月底,腾讯云又接了个大活儿,转播英超。结果系统上线以后,发现之前训练出来的人工智能技术没有那么好用了,攻城狮们研究了好久才发现,原来是英超比赛的节奏比中超快多了。在人工智眼里,这几乎就是两种东西。。。还好经过调整,很快“极速高清系统”就适应了英超的快节奏。
有了这么多经验垫底,转播世界杯应该是成竹在胸了。
然而,天有不测风云。
四分之一决赛,乌拉圭对法国那场比赛,正踢得好好的,突然腾讯云支持的网络转播画面黑屏、绿屏。。。
卢林冷汗直流,眼看央视的技术老师就要生火架锅了。他突然发现,不仅央视自己的信号花了,其他 App 的信号也花了。这才恍然大悟,原来是传来的卫星信号本身出了问题。这只是虚惊一场。
现在,世界杯结束了。目测卢林仍然生龙活虎。
他们干得不错。
李海琦说,这套直播的模型是通用的,并不是单独为世界杯准备的。
最开始它是用来满足游戏直播的,后来被扩展到了足球转播上。目测龙珠直播的负责人也会把这套系统推广到母公司 PPTV 上。我们也会把这种技术推广到更多的直播场景,也许包括 F1,包括 NBA。
也许以后,你看到的更多比赛,都是“极速高清技术”支持的。
过去的一个月,每次我夜里两点端着手机,都感觉有点孤独。现在回想起来,在网络那头都有卢林这帮兄弟陪着我,我并不是一个人在看球。想到这些,我也没有那么羡慕土豪朋友了。