How to quantify and compare video quality

How to quantify and compare video quality,video,ffmpeg,transcoding,videoquality,Video,Ffmpeg,Transcoding,Videoquality,I have a set of uncompressed videos in YUV format. I have obtained several derived copies in various formats and resolutions from these yuv files using FFmpeg transcoding. (YUVs ----> X Derived Copies) What I have also done is, transcode the yuv's into same resolution AVIs, and now obtained the same set of derived (transcoded) videos treating the AVIs as master. (AVIs ----> X Derived Copies) Now I wish to compare the quality of transcoded videos, when derived from AVIs to those derived from

I have a set of uncompressed videos in YUV format.

I have obtained several derived copies in various formats and resolutions from these yuv files using FFmpeg transcoding. (YUVs ----> X Derived Copies)

What I have also done is, transcode the yuv's into same resolution AVIs, and now obtained the same set of derived (transcoded) videos treating the AVIs as master. (AVIs ----> X Derived Copies)

Now I wish to compare the quality of transcoded videos, when derived from AVIs to those derived from YUVs.

Is there any way for me to do this using FFmpeg. How? If not, can you please suggest some good open source software to do this.

Thanks


#1

If you have the time this is what I've done in the past. 1. Use ffmpeg to split both the video files into their component frames (make sure that you have the disk space first):

ffmpeg -i file1.avi -f image2 file1-%015d.bmp
ffmpeg -i file2.avi -f image2 file2-%015d.bmp
  1. Use imagemagick compare to determine the differences in each frame (Replace NNNNNN with the number of frames that ffmpeg gave you):
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
  1. Open the file results in a spreadsheet and work out the average, std-dev, etc ... this will tell you how much the files differ.

#2

Viewing stills will not allow you to easily recognize temporal artifacts. You can go ahead and perform all of the metrics that you want, but comparing videos by actually watching them is a tried and true method.

#3

@LordNeckbeard: Watching videos is best but unfortunately it's not easily automated nor is it at all objective; peoples opinions of video quality is all subjective - hardly scientific at all.

#4

there are few tools which can give you the Video Quality score. These are of two types mainly, one is With Reference which needs source video and another is No Reference. The quality has been measured at various parameters and put it in different patented algorithms. Unfortunately, none of the tools are freeware though.