背景
在视频质量检测中,检测视频是否卡顿也属于视频质量检测的标准之一,在构建视频检测平台中,这一步至关重要。
本文要说明的是把视频转换为帧序列,根据计算帧之间的差值,寻找帧序列中是否有断层,来判断当前视频是否存在卡顿的现象。
结果为一个数据, 0 代表无卡顿现象, 1代表存在卡顿现象
壹
技术与架构
用户上传视频文件后,使用ffmpeg 转换为图片序列,抽取图片信息,计算所有序列帧的图片运动像素,计算所有序列图片的平均运动水平,动态计算动态因子,输出判断结果, 0表示当前不存在卡顿点, 1表示当前存在卡顿点。
整体方案主要分为六个部分
-
图片处理
-
图像相邻帧像素计算
-
计算所有图片运动量,组合为运动集合
-
消除视频图片场景剪辑比例,计算平均运动量
-
计算动态因子
-
返回结果
** 技术优势:**
不需要准备大量的数据集来训练模型,只针对当前要处理的视频进行计算;
不会因为大量的动态场景和静态场景影响卡顿检测的结果;
精准高效,计算量相对较低
贰
技术实现
1、图片处理
这里采用灰度图片来作为视频卡顿检测的输入序列图片数据,重新设置当前图片的大小为 360*640,当前区域为我们后面计算的兴趣区域.设定兴趣区域,可以有效的避免一些像素点计算的噪声影响。
2、图像相邻帧计算
A.遍历当前图像集,使用t+1(下一时刻帧) 的像素减去