不卡不崩的TT Player
首先,来看看提供点播能力的播放器本身。
TT Player是一个用在安卓和iOS端的播放器SDK,它可以实现首帧秒开的效果——也就是说,在打开视频的时候不需要加载,只要等0.2秒左右,第一帧视频画面就已经显示在你的屏幕上了。
其实,字节跳动系产品的移动端播放器最早用的是安卓系统的ijk开源播放器和iOS上的苹果系统播放器,但效果并不如意。2016年,每天有100多名用户反馈出现了黑屏、无法播放的情况,视频打开后,手机就黑屏了,视频内容根本显示不出来。
于是,火山引擎智能视频云团队开始自研移动端播放器,完成了大量播放策略优化,比如预加载策略、播放控制策略、缓冲优化和面向 络的自适应等等,新的播放器TT Player面世了。
TT Player自研完成后陆续用到了今日头条、抖音上。此前,用户打开一个视频要0.8秒左右,经过多次测试优化,已经缩短至0.2秒。
团队的一位工程师解释,首帧打开时间每缩短0.05秒都对用户体验影响巨大,半秒多的速度提升就是非常明显的进步了。
现在,TT Player播放15秒以内的小视频,卡顿率已经降低到了0.58%,差不多每打开172个视频,才会遇到一次卡顿的情况。
崩溃率也降到百万分之一以下,也就是说平均每100万次播放里,最多只出现一次播放器崩溃的情况,假设一名用户每天刷1000个短视频,平均也要大约3年才能遇到一次播放器崩溃的情况,比此前使用的ijk开源播放器和苹果系统播放器低得多。
这是怎么做到的/p>
比如,为了保证用户看刷短视频的流畅体验,工程师们做了预加载,提前下载用户即将刷到的下一个短视频,还把下一个短视频的第一帧渲染出来,并且让这个视频的声音不播放。这样等用户刷到下一个短视频,它就可以直接播放出来。
火山引擎智能视频云团队工程师介绍,在一般业务场景里,如果视频首帧没有加载出来,系统就会直接使用封面图,采用了这种预加载的方式,就不需要下载封面图了,可以帮用户节省一张封面图的流量和带宽。
再比如,为了在硬件解码器方面适配全世界不同手机的机型,工程师们联系了大量SoC厂商、手机厂商进行调优,能解决就适配,不能适配就转用软件解码器。目前TT Player的硬件解码器覆盖率在安卓机型达到了80%以上,iOS机型则是近乎100%覆盖。
而拿移动端用户切换清晰度来说,有些播放器会遇到清晰度切换时卡顿的问题,为此火山引擎智能视频云解决方案团队的工程师们想到了关键帧对齐的方法,也就是把上一个清晰度的最后一帧和新的清晰度第一帧完全对齐。
在实际的播放中,每个视频按照一定的时长被切成了几个视频片段,比如1分钟的视频可能被切成了6个10秒钟的视频片段,每个片段有360p、480p、720p、1080p等几种不同清晰度的版本。
关键帧对齐的方式就是,从720p切换到1080p的时候,把720p的最后一帧和1080p的第一帧完全对齐,保证一模一样,这样在播完前面720p的10秒钟片段之后,就可以流畅切换到之后1080p的10秒钟片段里,不会出现卡顿问题。
智能高清低码:高清视频不怕卡顿
除了播放器本身,另一个影响用户体验的要点就是 络传输。如今的视频清晰度都变高了,传输它的带宽成本就会提升,如果用户在 络状况不好的地铁、地下室、山区等场景看视频,就容易出现卡顿的情况,或者被迫只能看标清。
为此,火山引擎多媒体实验室还训练了智能高清低码相关的算法,也就是通过智能编码的方式,在提升视频质量的同时,把视频的码率降低,这样就可以用最低的码率传输最清晰的视频。
如何才能实现这样的功能呢/p>
首先,要去除噪声和失真的部分,压缩效率可以节约20%以上,对应的传输带宽需求也只需要不到原来的4/5,还能提升视频的质量。
其次,要对人眼在看视频时的兴趣点进行针对性的优化。比如我们在看讲座时,注意力放在了主讲人的面部;看美食视频时,注意力重点在食物上。这样,只要提高人眼关心部分的画质,弱化人眼不容易注意到的区域,就可以保证在码率降低10%的情况下用户体验一样优秀。
最后,要实现内容自适应编码,根据视频的领域、情感、对象特征,自适应地选择视频编码配置,从而在保持视频质量的情况下,节省带宽10%以上。
说到视频编码,就不得不提到到字节跳动自主研发的视频编码器BVC1。这款视频编码器在同样的清晰度下,带宽降低了30%。
BVC1也可以针对手机、PC、平板电脑等不同的设备进行定制化,利用现有的算力,最优化质量提升和带宽节约。
而在视频会议中屏幕共享的场景下,借助独创的视频上采样方案和超分辨率技术,也可以实现更清晰的文字显示。
当然,字节跳动先进视频团队也一直在迭代编码器技术,2020年,BVC1编码器就比前一年实现了20%的码率节约。
满分100分,在AI看来,AI给出的评分是86.54分,算法也觉得画面美观。
再看这张非专业摄影师的随手拍:
这样,把大量图片和对应的分数作为训练数据输入神经 络,成为AI的学习资料,它就可以自己从美术风格、画面构图、色彩应用等多个方面来评估一张照片或一段视频在人类眼中够不够美了。
比如上面这样的视频,看起来相当模糊,有大量噪点,算法给的清晰度评分是40.23分。
视频质量高一些的话,就可以拿到75.17分了。
除此之外,对于视频压缩失真、噪声大小、对比度是否过低等情况,VQScore都可以给出按照人类视觉的判断,来自动分析视频质量。
1994年的港片《精武英雄》中的场景,同样也可以实现类似的效果。
而在更广泛的用户测试中,也有80%的人能看出,经过修复的版本清晰度有明显提高。
这项技术来自火山引擎多媒体实验室,目前团队已经为此付出了1年多的努力。
2020年初,在深圳市人民政府主办的首届“全国人工智能大赛”AI+4K HDR赛项中,这个实验室的工程师们组成的队伍拿下了比赛第三名的成绩,也是工业界所有参赛队伍中的成绩最高的。
↓点击「阅读原文」,加入字节跳动技术团队
文章知识点与官方知识档案匹配,可进一步学习相关知识算法技能树首页概览33896 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!