Extract I-frames to images quickly
Solution 1:
Use
ffmpeg -skip_frame nokey -i file -vsync 0 -frame_pts true out%d.png
skip_frame
tells the decoder to process only keyframes. -vsync 0
(in this command) preserves timestamps. -frame_pts
sets the numeral portion of the output image filename to represent the timestamp. The interpretation of the number requires you to know the framerate e.g. if the framerate is 30 then an image name of out75 corresponds to a timestamp of 75/30 = 2.50 seconds. You can add -r 1000
if you want numbers to represent milliseconds.