我们目前面临的困难是:日增十万级内容,内容库有千万级内容,并且场景较为复杂,文件格式也比较混乱。所以我们的目标是:1、体验好。起播要快,画质要高。2、成本低。我们要选择最合适的压缩比例,让用户可以感受到最快的起播速度和最高的画质。
因此我们引入了自适应编码。自适应编码的目的是给不同复杂的视频挑选合适的编码方式,达到在相同画质的情况下,起到最低码率的效果。我们的自适应编码有三个特点:第一是基于Per-Segment思想,针对同一个视频划分不同场景,采用不同的编码策略;第二是我们会对原始视频进行一次基准转码,再结合一些特征,来预测“压缩比-质量分”曲线,从而成倍提升转码效率;第三是灵活参数决策,结合实际用户画像和业务特点,来选择合适的编码参数。
自适应编码预测模型部分,重点分享下如何选取视频输入特征。分为四个部分:时空复杂度、码率、基准VMAF分和基准帧信息。时空复杂度代表了整个视频画面的复杂程度,一定程度上可以体现内容和场景的复杂程度;码率是影响视频质量的一个重要因素。码率越低,视频质量的分离程度越大;基准VMAF分帮助我们限定预测的曲线范围;基准帧信息辅助特征提取。
接下来介绍如何解决单视频多场景问题。为了针对同一个视频去切分它的不同场景,首先会采用HSV像素变化阈值,进行场景分割。为了避免部分视频出现快速运动和光线变化带来的误差,我们会使用空间复杂度差值和I帧检测进行辅助。图中的案例即为实现场景分割的效果。