There’s a manual way to achieve this through totem: you just use ctrl-s to capture a frame. However, I didn’t want to do this for every one of the hundreds of videos that we captured.
Here’s a script that I found somewhere and might work for you, but it didn’t work for me:
dumpvideo foo.ogg | yuv2ppm | pnmsplit - image-%d.ppm; for file in image-*.ppm; do convert $file `basename $file .ppm`.jpeg; done
What worked for me in the end was a nice and simple call to mplayer:
mplayer -ss 120 -frames 1 -vo jpeg $file