rolinh / VQMT

VQMT: Video Quality Measurement Tool. Fast implementations of the following objective image quality metrics: PSNR, SSIM, MS-SSIM, VIFp, PSNR-HVS and PSNR-HVS-M.
http://mmspg.epfl.ch/vqmt
Other
361 stars 105 forks source link

readOneFrame: cannot read 3840 bytes from input file, unexpected EOF. #4

Closed stoyanovgeorge closed 7 years ago

stoyanovgeorge commented 7 years ago

I am trying to compare two mp4 videos using the command: ./vqmt bbb_source.mp4 bbb_h264_ultrafast_crf20.mp4 2160 3840 38072 1 results PSNR SSIM MSSSIM VIFP both files are with 3840x2160px resolution and they do not have audio tracks, the pixel format is yuv420p and they the duration is 38072 frames.

When I checked the results I saw couple of result files. It appears I have results only for the first 50 frames:

cat results_psnr.csv
frame,value
0,7.295123
1,7.671892
2,7.670082
3,7.663648
4,7.693020
5,7.671082
6,7.698746
7,7.670381
8,7.689044
9,7.710546
10,7.693920
11,7.681756
12,7.647830
13,7.693138
14,7.679656
15,7.669047
16,7.713078
17,7.772104
18,7.759742
19,7.755799
20,7.698050
21,7.643544
22,7.720232
23,7.744545
24,7.738848
25,7.729941
26,7.746346
27,7.743903
28,7.741730
29,7.745615
30,7.716219
31,7.683934
32,7.743063
33,7.745136
34,7.740988
35,7.729583
36,7.716391
37,7.727443
38,7.740869
39,7.720695
40,7.733064
41,7.715613
42,7.679746
43,7.703423
44,7.715934
45,7.715479
46,7.753919
47,7.677543
48,7.707615
49,7.651045
50,7.539806
rolinh commented 7 years ago

Hi @stoyanovgeorge, To be honest, I would not have expected VQMT to work at all with a non raw video. Does VQMT work with other mp4 videos?

stoyanovgeorge commented 7 years ago

Hi @Rolinh , you are right, it appears that it works only on raw files. It would be really cool if you can make it work on compressed video files. I am looking for a free tool which could calculate those values. Do you know if such program exists? I am also playing a bit with VMAF (Netflix).

rolinh commented 7 years ago

Actually this has already been raised in #2 and my answer was that this is going beyond the scope of VQMT. Now, I believe that you can compute these values with ffmpeg using the video filters and, in particular, the SSIM and PSNR filters.

afzal commented 6 years ago

I have the same problem with yuv. :( I made yuv by following: ffmpeg -i video_MISSY.mp4 -c:v rawvideo -pix_fmt yuv420p -r 25 -s 1920x1080 -y video_MISSY.yuv then I am trying vqmt: ./vqmt video_original.yuv video_MISSY.yuv 1080 1920 15000 420 1 results PSNR SSI And i get readOneFrame: cannot read 1920 bytes from input file, unexpected EOF. Could u please guide me?