专栏文章 视频质量参数 PSNR SSIM 计算值偏差问题

剪烛 · 2020年05月22日 · 995 次阅读

ffmpeg 有个比较方便的计算 psnr ssim 的命令

ffmpeg -i main.mp4 -i ref.mp4 -lavfi psnr="stats_file=psnr.log" -f null -
ffmpeg -i main.mp4 -i ref.mp4 -lavfi ssim="stats_file=ssim.log" -f null -

但是在对比编码优化时,发现画质实际优化,但是 psnr 反而降低的情况。
跟开发沟通以后,是因为在编码策略中有可能包含自动降帧的情况,以上命令计算 psnr,ssim 的原理是逐帧计算,然后计算平均值,在自动降帧时,对比文件相比原始文件缺少对应帧,因此降低了最终数值。
最后在转码时加入命令直接计算出 psnr,ssim

# x264opts参数 属性中加入
ssim=1 
#加入psnr参数
psnr

但是这种方式,如果控制不了命令行参数,只有原始文件和转码文件,会变得很难搞。

目前想法是,给原始视频的每个帧打上标记,过滤掉无法对应的帧,实践中(😂 具体还没有特别好的实践方法),不知道是否有现成可用的轮子

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册