我想比较大量的视频和一个好的参考视频,以便找到质量不佳的视频。我想通过调用命令行实用程序在批处理模式下这样做,我已经以这种方式使用ffmpeg来获取视频帧。
如果我转码视频,ffmpg会给我一个PSNR值来比较输入和输出视频。我的印象是,我可以用这样的东西来比较两个不同的视频,但找不到办法去做。
我会更好地从每一个视频中抓取一个帧,并以某种方式比较这些帧吗?PSNR可能不是我最好的选择吗?
我不是在寻找质量上的微小差异,而是寻找重大差异,比如同步问题或大量的雪。
有什么建议吗?预先多谢:-)
发布于 2013-11-07 22:47:00
在编码过程中,ffmpeg可以计算PSNR和SSIM,但是为了比较我使用AVISynth比较的2段视频
发布于 2015-04-08 01:37:47
以下是在ffmpeg中如何使用过滤器来比较两个单独的视频:
ffmpeg -i input_video.mp4 -i reference_video.mp4 -filter_complex "psnr" -f null /dev/null在Windows上,将/dev/null替换为NUL。
文档说,input_video将不改变地传递给output_video,psnr值将显示在命令行上。
发布于 2016-03-08 01:16:39
.\..\ffmpeg -i [Input] -i [Output] -lavfi psnr="stats_file=psnr.log" -f null -我查看了ssim命令(https://ffmpeg.org/ffmpeg-all.html#ssim),并决定对psnr命令进行尝试,看看是否可以获得任何有用的结果。对我来说似乎很有用。日志文件具有一个mse_avg值,我发现该值对于检测我生成的视频中的宏块非常有用。
http://www.mathworks.com/help/vision/ref/psnr.html帮助我理解了mse和psnr的含义。
https://stackoverflow.com/questions/19840960
复制相似问题