I am trying to get representative frames for a video, so as to remove redundant frames which might appear in a video. This is what I use to get the frames.
./ffmpeg -i video.mp4 -vf select="eq(pict_type\,PICT_TYPE_I)" -vsync 2 -s 320x240 thumb-%02d.png
I have also tried
./ffmpeg -i video.mp4 -f image2 -vf "select=gt(scene\,.4)" -vsync vfr thumb%04d.png
The major issue in this is blur. If I just sample frames every 5 seconds, I don't see any blur, however using the above two commands I get a lot of blur.
The video can be found here, http://www.cs.umd.edu/~bharat/video.mp4
In order to sample the video every 10 seconds, I use the following:
./ffmpeg -i video.mp4 -r 1/10 filename%03d.jpg
Output using normal sampling:
Output using select:
However, normal sampling may be bad for some videos, and may create redundant frames. Is there a way I could use some option in ffmpeg and get frames without this blur? If normal sampling can get good frames, there should be frames in the vicinity without blur. I have looked at options such as scenecut in ffmpeg however I am not familiar with using them for this application.