在LiveVideoStackCon2018音视频技术大会上,快手音视频技术负责人于冰分享了题为《用户导向的音视频体验优化》的主题演讲,从用户的角度来去谈音视频的体验优化。
文 / 于冰
大家好,这次分享主要从用户的角度来去谈音视频的体验优化,做技术的公司通常都喜欢从技术角度出发去讲问题,如编解码算法、AI技术等。但是我们不妨反过来想一下,什么是用户最需要的,对用户而言什么是真正的好的体验,这也是快手的一个基本原则。
今天的演讲主要分三个部分:
一是移动视频大时代的快手;
二是用户导向的音视频体验优化;
三是移动音视频技术趋势探讨。
一、移动视频大时代的快手
移动视频大时代已经到来,从CNNIC最新的互联网发展状况统计报告可以看到,2015年下半年到现在,移动互联网接入流量已经涨了5倍,固定宽带和4G平均下载速率已经达到了21M,21M是什么样的概念?就是4K视频用手机看已经没有太大问题了。现在制约4G视频发展的主要因素就是资费问题,而各个运营商也在解决这个问题,推出大王卡、免流套餐等等,相信这会让4G的视频消费越来越猛。
这是快手短视频下载速率分布的数据图,和CNNIC的数据差不多。其中辽宁、河北、山东这些省份速度是最快的,可以看出这些省份运营商优化的比较好。另外看右侧图,联通大数据2018年8月份的户均月消耗流量排行榜数据显示,快手排名第一,一位用户一个月要耗掉1.7GB的流量。快手数据显示,部分用户一天就要消耗掉1个G的流量。
在这个移动视频大时代背景下,短视频为什么异军突起,而不是长视频继续独领风骚?这就要分析长视频和短视频之间的巨大区别。
首先,内容摄制方面,长视频通常以头部PGC内容为主,由专业设备拍摄、专业人员制作后期,比如由大IP改编的作品。而短视频UGC内容是移动端拍摄,移动端制作,随时随地上传。
第二,长视频通常是横屏,1080P或者4K的分辨率,适合在大屏幕的电视、电脑上观看。而短视频都是竖屏,540P或者720P的分辨率,更适合手机的分辨率及使用习惯。
第三,长视频以头部内容为主,是集中的热点内容,数量相对较有限但会覆盖到大量的用户,通常人们能看到的、喜欢看的电影差别不会特别大。但是短视频内容是非常长尾的,单个视频播放量会相对比较小,不过会有更多视频被消费者看到。
第四,从消费频次上看,长视频的观看是中低频的,需要用户用固定时间去消费,看一部电影或追剧需要预留大块、持续的时间,一般只能在周末假期集中消费。但是短视频却可以随时随地刷,却非常高频。
第五,从商业模式上看,长视频一般都采用广告、订阅或付费等相对成熟的商业模式,而短视频则是采用免费观看的模式,并在其中拓展多种商业模式如直播打赏、信息流广告、电商等。
因此,正是由于短视频在体验上的诸多优势,使得更多用户愿意花费更多时间使用快手等短视频app。
快手的使命是“用科技提升每一个人独特的幸福感”。在快手,每个人都能够看到更广阔的世界,也能够被更广阔的世界看到,这就要求平台坚持普惠、去头部化,不然普通用户发布的视频是无法被更多人看到的。
二、用户导向的音视频体验优化
什么是用户导向的思维方式?接下来我们一起了解一下,技术导向与用户导向思维模式的差异。上边这张著名的图来自于《跨越鸿沟(Crossing the Chasm)》这本书,一个技术在处于图中Early Adopters阶段与Early Majority阶段中会有很大的鸿沟,要想跨越这个鸿沟是很有挑战的,首先需要技术本身非常靠谱,其次要非常理解用户的诉求,能够满足大量用户的刚需。从技术或用户两个角度入手,满足上述要点,都可以取得成功。
首先看一些技术导向的案例,比如搜索引擎、无人机、谷歌Chrome浏览器,都是通过非常强的技术手段实现,并且恰好满足了用户的需求,才会获得成功。代表性公司是Google,以技术洞见带来的革命性进展推动市场。也有一些待验证的技术,处于Early Adopters阶段,比如3D电视,需要戴上3D眼镜才能看观看,使用率很低;VR视频,我买了很多VR的头显设备,但用过一次后放在抽屉里再没有拿出来;4K电视也是类似的困境,很多用户并不能看出4K和1080P的区别。这些技术之所以没有大规模普及,主要是因为没有从用户角度思考问题。
而用户导向代表性的公司是Apple,其思维方式是从用户需求出发,做出超出用户预期的产品和技术。我个人认为,对用户的理解其实是更有助于跨越鸿沟的。
再举个音视频领域的例子,十多年前我跟优酷合作做过一次大规模的音乐会在线直播,是业界最早采用H264 FLV分发技术的案例,支持多机位切换,实时回看。虽然该技术方案与今天所采用的主流方案没什么不同,但由于web端大型活动直播的频次低,用户粘性不高,并未引起多大的市场反响。直到七八年以后,随着移动直播体验的普及,相关技术才真正的走入大众市场,变成爆炸性增长的产品。
看完直播,再来看下传统视频点播App,目前多数影音App是类似YouTube、Netflix这样界面的传统交互模式,通过分类、搜索、推荐等形式构成了复杂交互体验,对于中低频的影视剧长视频观看是比较适合的。但是在移动端碎片化消费的时代,类似快手这种操作界面简洁、主要通过算法实现个性化推荐的短视频APP,操作更简便,反而更受用户欢迎。
快手是一家用户导向、技术驱动的公司,这是公司的定位。现在快手属于已跨越鸿沟且处于上升期的阶段,主要优势有三点:
一是用户场景简单,短视频、直播两种形式的内容,通过推荐做个性化分发,十分易于理解。
二是从用户使用场景出发设定优先级,这样技术落地时就会比较稳、比较准。举例而言,假如你先研发了一项技术,然后再去找技术的落地点,就如同拿了一把锤子(技术)到处去敲矿石(用户使用场景),很可能会找不到适合的石头,或者找到的石头里边没有好东西;但假如我们手上有很多优质翡翠的原石,再去找锤子,即使可能找到的不是最好最先进的锤子,甚至是石器时代的锤子,也能够敲开藏着翡翠的原石。
第三个优势是通过数据验证你的假设,快手用户行为样本量大,数据置信度高。算法好与不好,上线AB试一下便知道,一切用数据说话。
用户导向也带来了很大挑战,技术人员通常喜欢从技术角度出发想问题,但是现在要换位思考,从用户角度、需求去考虑,反向思维,这是非常难的事,很多技术人员需要经历一段时间的转变才能做到。
另外如刚才我们提及的,一把石器时代的锤子,只要能砸开玉石就是一把好锤子,所以解决问题时并不一定需要最先进的技术。具体而言,解决一个很难的技术问题,可以有不同分数的方案。我们团队很多同学都是成绩优秀的学生,喜欢追求90分的方案,投入了大量的时间和资源,却可能因为算法、系统复杂度或其他各种各样的问题,最后迟迟上不了线;而我们很多线上体验一开始可能只有30分,采用一个非常简单的方案就能让你达到60分,为什么不先去做一个60分的方案呢?
我们的解决方案就是让研发人员成为产品的深度用户,自己从用户角度推敲优化。同时做很多的技术储备,当用户需求来了,随时可以拿出来用。如果自己的技术储备不够,又十分着急的话,要考虑采用成熟的第三方技术。技术好不好要用实际数据来说话,看用户是否接受它,而不是盲目上线技术上看起来很牛却曲高和寡的东西。
举个实际例子,快手有个很重要的体验,直播连麦,也就是主播与粉丝实时音视频连线。2016年,很多直播产品上线了3连麦、4连麦,甚至8连麦、16连麦。快手刚上线直播时,产品团队从用户的角度做了评估,考虑直接上线视频连麦可能会给用户带来社交压力,因为被连麦的用户往往不是主播,不是都喜欢露脸。那么如何最小化用户开通连麦的压力?最易接受的形式就是语音连麦,所以我们最先上线的是技术上简单一些的语音连麦,也有充足时间把体验优化到最好。事实证明用户接受度也特别高,等用户完全接受了语音连麦,并且反馈了需要“露脸”的需求,我们才在2017年上线视频连麦;2018年,视频连麦也无法满足用户需求了,进一步上线了视频直播PK的功能,直播PK是一个非常复杂的玩法,而此时快手在技术方面已经做足了储备,迅速上线满足了用户的需求。
接下来介绍下快手的音视频技术体系建设历程,首先是要从用户场景的痛点出发;第二是端到端的流程打通;第三是做科学化、精细化的流程管理;第四,介绍一下我们是如何抓重点解决若干核心问题的。
接下来是移动端直播体验,其中直播端涉及推流、连麦,观众端就是简单的观看。理想中的移动端直播,需要清晰流畅、低延时,观看端要极速加载、清晰流畅。
我们在实际优化过程中会遇到很多的挑战,比如连麦的体验,用户一连上就卡,该如何改进?这里放了一张《火星救援》的图,Science the shit out of it,我们相信科学的力量。
怎么样才叫科学的方法呢,就是要做到可描述,可衡量,可验证,具体执行下来必须有分析痛点(确认问题)、提出方案(假设)、本地验证、线上AB、确认收益几个环节。首先要分析用户的痛点,产品、研发、运营等各个团队都会反馈用户遇到的问题,之后研发团队会深入实际的用户案例,提出通用的解决方案,然后要做本地验证。谁来验证呢?就是医生团队,我们有专门的音视频质量实验室,他们来验证我们的方案是否靠谱。为什么要本地验证?因为经常有算法工程师做了一个算法,自己验证过觉得非常好,结果上线后大家说没效果,这就是缺了一个非常重要的本地验证的环节。因为算法可能在线上系统没有被调用,或者参数输出有问题,要想非常精细化地验证画质、音质是否有改善,需要专业团队专业设备来做。之后才能去做线上做AB测试,通过数据分析QoS和QoE的指标是否改善。QoS是技术指标比如卡顿,QoE更复杂些,如用户观看时长有无变化,而影响时长的因素非常多,想要确认QoE收益需要大量独立的数据实验。
各个环节的QoS、QoE数据都会上报到我们的流媒体大数据平台上,平台可以做实时多维的日志分析、监测和报警,任何区域任何运营商有播放、上传、推流的问题,在5分钟之内就可以报警。还可以通过深入的数据分析去找出用户的痛点,上线优化方案,做AB测试,验证我们的优化是否有效。
接下来分享一些我们重点解决的核心问题。
2、优化拍摄画质
优化拍摄画质方面,为了改善低端机的画质,快手开发了自动增强滤镜,能够自动调节色彩亮度,处理画面偏色偏灰的问题,让拍摄功能不太好的国产手机获得跟iPhone差媲美的效果。另外一个效果叫暗光增强,是我们跟北大合作的一个算法,本来是光线很差、一团漆黑的视频,暗光增强优化后细节都非常清楚。
3、优化上传体验
快手拥有自研的KTP协议,在短视频90%的丢包下还可以正常传输数据。理论有效带宽在不同的丢包率下肯定是逐次降低的,例如90%的丢包率下,可用带宽可能只有10%,但10%中我们还能用到6%;然而用TCP,丢包率降到20%就不行了,所以用TCP是完全不行的。上线AB验证的结果,可以看到KTP上传失败率降低了27%,取消率降低了23%,还是很有效的。
4、优化清晰度、流畅度
清晰度流畅度的矛盾大家应该都遇到过,如何解决呢?视频压的越小越流畅;而保持同样视频文件的大小,压缩比越高,视频就会越清楚。所以最重要的就是智能压缩的算法。短视频不需要一个恒定的码率,我们可以针对不同的内容和场景复杂度,输出不同的码率,自动根据内容做适配。如果是非常复杂的场景,我们会把码率调高,如果是非常简单的场景码率可以压得低一些。另外,我们选择在云端做非常高复杂度的压缩,追求极致的压缩比。
还有什么手段来优化清晰度呢?可以让系统把不清晰的视频先过滤掉,例如上图最左边的图片系统可判断大概率是很清楚的,中间的图片大概率是模糊的,右边可判断实际上是镜头脏污监测。很多用户的手机拍出来的视频不清楚,主要是因为摄像头不擦,这些我们系统都能检测出来。
下面介绍直播场景。快手直播的特点是以移动端推流、播放为主,我们也支持PC端的推流,主要是做游戏直播。还有一个特点是规模大,是世界上最大的直播平台,场景非常丰富,玩法多样,吃饭、钓鱼、玩个跳舞机都可以随时随地直播。这对我们系统的挑战也非常大,因为用户并不只是坐在家里用固定网络直播,移动端推流的网络、位置都是不确定的。
另外直播玩法多种多样,比如最近的PK特别火。用户痛点在于,主播端推流卡顿很多,如果主播很卡,所有用户都会卡,所以主播卡顿是我们要重点解决的问题。
直播有几个细分的场景,首先是互动直播,就是我们经常说的观众和主播之间的实时互动,它的延迟要求是小于5秒,对流畅性要求特别高,对可靠性要求也非常高,对清晰度要求较高。
其次是游戏直播,对延迟要求更宽松一点,为什么有的主播其实希望延迟高一点?如果游戏主播延迟很低,主播在游戏中就暴露了实时位置,容易被游戏中的敌人伏击,所以游戏主播通常希望延迟在10秒以上,这就是基于用户个性化体验的需求,技术人员不做产品可能就理解不了。游戏直播对流畅性、可靠性要求比较高,清晰度则是要求最高的,因为很多游戏直播是1080P甚至是蓝光的体验。
最后是PK和连麦场景,延迟要求是在400毫秒以内,对流畅性要求高,可靠性要求不高,能够容忍一定的丢包。主要是保证低延迟,因为延迟一旦高了,相当于没有实时性,连麦体验很差;连麦清晰度方面其实可以做得更高,但是为了保证延迟低,清晰度可能会做一些牺牲。
基于上述分析,我们重点优化的方向就是直播上行,这个上行是用KTP推流来解决的,把直播流通过UDP协议推到快手源站,这样在各种弱网下都可以顺畅的直播。然后通过多家CDN去做智能调度和码率自适应,让观众端也更流畅。
上图是优化的一个例子,左边是TCP,右边是KTP,视频码率大概为3-6M,带宽限制最高5M,丢包率是10%,这时候可以看到TCP会经常卡顿,KTP则非常流畅。
首先,传输和编解码要做到延迟低于400毫秒,在400毫秒以内做所有的算法,要实现20%的丢包无感知。另外直播连麦要实现无缝切换,不能连麦以后让所有观众卡一下,所以要做很多工程的优化。
音频处理也非常复杂,要做噪声、回声、增益的控制算法。例如PK场景中,两个主播要一起唱歌,就需要支持高音质的K歌,混响、音效等很多方面也要做相应处理。所以这个架构看起来比较简单,但是里面有很多非常复杂的算法。快手的这套体系全是自主研发,没有使用开源,便于我们根据业务需求深度定制。
无论直播还是短视频,怎么才能保证线上的体验最好?我们的大数据系统负责实时分析、监测和智能调度,这是快手音视频技术栈的一个突出特点:音视频团队里面有一个大数据团队。我们一开始做的是离线分析系统,做由于数据量太大,做一个实验,需要跑10个小时数据才能出结果,效率特别低。于是我们开发了实时多维监测报警平台,能够实时监测线上的数据到底怎么样,任何细分地区都可以看到。我们后面还实现了实时多维AB测试,以前做AB测试需跑两天才能在线上查数据。现在AB测试上了以后,马上就能在线看结果、继续做调优。
下一步我们在做的是实时多CDN智能调度。过去我们做实时多维监测报警,如果半夜有报警过来,我们要人工看是哪个区域CDN有问题,把它切掉,晚上没法睡觉很痛苦。有了这个系统以后,切量操作或者量级的配比等优化局部卡顿的操作,都可以让系统自动去做。
另外,我们还做了故障自动归因,当一个区域视频发生卡顿了,问题在哪,是运营商的原因还是CDN的原因?如果是CDN的原因我们就找CDN去优化,如果CDN没有问题要通过渠道找运营商去优化。归因非常重要,之前都是要人工排查原因,现在用智能的算法就能自动找到原因,直接报警给CDN或运营商方面。
三、移动音视频技术趋势探讨
编解码是一个基础技术,我们所有的工程优化都是围绕着编解码在做,编解码可谓是音视频的核心引擎。
跟AI的结合方面,我们比较看好的是通过AI来做主观质量评价。现在很多公司用的都是VMAF,VMAF其实是用传统图像算法来做feature extraction(特征提取)、用SVM来做预测。有没有办法用深度学习来做特征提取和预测?可不可以比VMAF更准更符合人的主观直觉? 在有了好的主观评价方法基础上,视频的前后处理,也就是视频增强用AI实现也会很有收益。
另外就是针对视频的特点,如何精细地做分析,很多做多媒体分析的同学都是从图像角度来分析的,但如果结合视频特征做内容理解收益会很大,也就是结合做编解码的同学对视频模型的理解,以及成熟快速的编解码算法,可能对视频内容的理解会非常有帮助。
下面是智能影像技术。视频的拍摄实际上是一个非常大的领域,跟编解码算法要做非常多的结合。如果在快手APP里面做一个普惠的算法,能够覆盖很多的机型,覆盖非常多的普通用户,让计算摄影学这样高深的技术走向大众。这其中有一些推动力量,比如Camera2接口,有了Camera2的接口实际上能获得更多的信息,包括更丰富的色彩信息、更广的亮度信息,感知空间的深度信息,在此基础之上,可以利用更好的算法替代传统的ISP。
快手也在构建自己的Software ISP引擎,希望能够随着CPU、NPU算力的增加,AI的能力会让手机越来越强,可以用这些计算资源做很多复杂的东西,比如场景识别、物体识别;比如针对不同场景物体对图像做有针对性的调优;比如可以做以前移动端做不了的Super Resolution,Denoising, Low Light Enhancement。如果这些算法如果能够在移动端跑起来,未来对拍摄体验的改进会非常大。
这两年4G在进一步普及,原来很多用户比较担心流量费用较高,出门会手动关掉4G流量。最近运营商都在推4G免流套餐,让用户能够放心刷视频,我们预计用户在线的时长会显著增加。在更多的场景,比如原来没办刷视频的地铁、高铁、户外、人员密集的地方现在都可以刷视频,这对我们的要求就是针对不同的细分网络场景做算法优化。
传输和分发怎么与AI结合呢?我们看好智能流控,其中包括带宽预测,还有CDN调度,用强化学习等方法做预测。我们更看重这些算法能否上线,上线的效果怎么样。
智能音频处理。这是快手另外一块很重要的算法,我们会做更高音质的回声消除、噪声抑制和增益控制,这方面我们有专业的团队在做。音频的编码传输需要在实时传输和弱网丢包的情况下做很多的优化。
我们也在利用AI技术做音频理解和生成。比如短视频拍摄的一个痛点是给视频的配乐要花很长时间,我们希望算法能够通过用户的视频内容、场景乃至情绪理解,实现自动选取配乐,甚至自动生成配乐。
我的演讲内容如上,感谢LiveVideoStack会方的精心组织,这是一年一度音视频技术爱好者的大聚会,也希望今后有更多的同学参与分享音视频优化的经验,谢谢大家!