There are several tools that should be able to extract all frames from a movie file:
avconv -i file.avi -f image2 Out%00d.jpg
ffmpeg -i input.file thumb%04d.png -hide_banner
This can also export BMP, which take much less processing time than PNG or JPG.
There is also a bash script called mov2frame.sh that tries to automate the FFMPEG extraction process.
mplayer -ao null -vo png input.file
or another option:
mplayer -nosound -vo png:z=9 my_file.mp4
This media player apparently can export image sets using its filters, but seems troublesome unless it's your only usage or you have a portable version.
Create a folder to store your frames and copy the path to it. For Mac OSX/Linux users, this must be the full path (no ~).
Click Tools / Preferences in VLC.
Under “show settings”, click “all”.
Under “Video”, select “Filters”. Tick “Scene video filter”.
Expand “Filters” and select “Scene filter”,
Paste the path from earlier into “directory path prefix”.
Choose the fraction of frames to encode in the “recording ratio” box. 1/12 with output every 12, 1/1 will export them all
Click Media / Open Video and find your video. Patiently let the whole thing play.
Click Tools / Preferences. Under “show settings”, click “all”. Under “video”, select “filters”. Uncheck “Scene video filter”. Click “save”. This is so that VLC won’t generate thumbnails the next time you play a video. link
There also appears to be some potential trouble with admin permissions on first program run:
[sudo] password for mint16:
VLC is not supposed to be run as root. Sorry.
If you need to use real-time priorities and/or privileged TCP ports
you can use vlc-wrapper (make sure it is Set-UID root and
cannot be run by non-trusted users first).
VLC also performs much better when extracting to BMP instead of PNG