如何使用ffmpeg计算压缩VP8 / VP9视频的ssim值?

时间:2016-02-21 13:05:29

标签: video ffmpeg vp8 vp9

我有一个HEVC视频。我使用下面的FFmpeg命令将其转换为VP8和VP9:

ffmpeg -i ./hevc.mp4 -vcodec libvpx -crf 18 -b:v 0 -speed 1 ./vp8.webm

ffmpeg -i ./hevc.mp4 -vcodec libvpx-vp9 -crf 18 -b:v 0 -speed 1 ./vp9.webm

转换非常成功。但是我通过以下FFmpeg命令计算的ssim值:

ffmpeg -y -i hevc.mp4 -i vp8.webm -filter_complex "ssim" -f hevc /dev/null

ffmpeg -y -i hevc.mp4 -i vp9.webm -filter_complex "ssim" -f hevc /dev/null

VP8和VP9视频的ssim值都小于0.99。这些都是我没想到的糟糕结果。

如果我将HEVC视频转换为x264,则ssim值将正常。

我的命令有问题吗?

1 个答案:

答案 0 :(得分:1)

仅在FFMPEG 4.0及更高版本的参考和比较文件上执行SSIM:

ffmpeg -i test.mp4 -i reference.mp4 -lavfi libvmaf="[0:v][1:v]ssim" -f null -

需要将VMAF过滤器编译为FFMPEG。

有关详细信息,请参阅有关SSIM的FFMPEG文档部分:https://ffmpeg.org/ffmpeg-filters.html#ssim