ffmpeg can do what you want: https://www.ffmpeg.org/
If all the pictures in the video are shown for the same amount of time:
Code:
ffmpeg -i input -filter:v select='eq(n\,0)+gte(t-prev_selected_t\,5)',format=pix_fmts=rgb24 -vsync 0 output%03d.tif
This will grab the first frame plus one frame every 5 seconds from the input, explicitly convert to rgb24 (most videos are encoded using one of the yuv colorspaces, which many image-processing and viewing software do not like), and then save them as output001.tif, output002.tif, etc.
If the pictures in the video have varying durations:
Code:
ffmpeg -i input -filter:v select='eq(n\,0)+gt(scene\,0.01)',format=pix_fmts=rgb24 -vsync 0 output%03d.tif
This will go through the video, then grab the...