2012-02-27 66 views
1

我有一组YUV格式的未压缩视频。如何量化和比较视频质量

我已经使用FFmpeg代码转换从这些yuv文件中以各种格式和分辨率获得了多个衍生副本。 (YUVs ----> X派生副本)

我也做的是,将yuv转码为相同分辨率的AVI,现在获得了将AVI作为主处理的衍生(转码)视频的相同集合。 (AVIs ----> X派生的副本)

现在我想比较从AVI导出的转码视频的质量与从YUV导出的转码视频的质量。

有没有什么办法让我用FFmpeg来做到这一点。怎么样?如果没有,你可以请建议一些好的开源软件来做到这一点。

谢谢

回答

2

如果你有时间,这是我过去所做的。 1.使用ffmpeg的这两个视频文件分割成其分量帧(请确保您有磁盘空间在前):

ffmpeg -i file1.avi -f image2 file1-%015d.bmp 
ffmpeg -i file2.avi -f image2 file2-%015d.bmp 
  • 使用ImageMagick的比较确定每个帧中的差异(替换NNNNNN与帧的数量的ffmpeg给你):
  • for FNAME in {1..NNNNNN}; do 
        compare file1-$FNAME.bmp file2-$FNAME.bmp tmp.png 
        compare -metric PSNR file1-$FNAME.bmp file2-$FNAME.bmp tmp.png >> results 
    done
  • 开启在电子表格文件的结果和计算出的平均值, std-dev等...这会告诉你文件有多少不同。
  • +0

    观看静止图像不会让您轻松识别时间伪像。您可以继续并执行所需的所有指标,但通过实际观看视频来比较视频是一种久经考验的方法。 – LordNeckbeard 2012-11-16 19:53:29

    +0

    @LordNeckbeard:观看视频是最好的,但不幸的是它不容易自动化,也不是客观的;人们对视频质量的看法都是主观的 - 几乎不科学。 – Lelanthran 2012-11-17 17:04:52

    +0

    有几个工具可以为您提供视频质量分数。这些主要有两种类型,一种是带有需要源视频的引用,另一种是无引用。质量已在各种参数下进行测量,并将其置于不同的专利算法中。不幸的是,这些工具都不是免费软件。 – NitinG 2013-01-02 08:15:56