Update: Still using this 8 years later, but in the form of a quick script, which is useful if you are doing it more than once.
Update 2: DHM points out the way this was written no longer works in modern versions of ffmpeg. Instead of
-t 1, use
Update 3: Yet another update to frame selection, thanks Thelo!
Dead handy, this:
ffmpeg -ss 0.5 -i inputfile.mp4 -frames:v 1 -s 480x300 -f image2 imagefile.jpg
The various options:
-frames:v 1: limit to 1 frame extracted
-ss 0.5: point of movie to extract from (ie seek to 0.5 seconds; you can also use HH:MM:SS.ZZZZ sexagesimal format)
-s 480x300: frame size of image to output (image resized to fit dimensions)
-f image2: forces format
I use this to generate preview stills for jwplayer to use. Dead handy!
Edit: Thanks to DieBagger who pointed out it is much faster to place the seek argument before the input file, and Matthias his point about the seek time.