I have a video training course supplied as AVI files. Most of the screens are shown as slides with a pointer moving around on them.

I'd like to capture a screenshot of the slide automatically when the screen changes (ignoring when the image changes a small amount due to the pointer moving around.)

I want to do this so I can paste the images into a word or html document that I can add notes to as I learn as at the moment I'm taking screenshots but it's very slow and tedious and the course is very long (around 24 hours play time).

Can anyone suggest how to go about doing this?

1 Answer 1


You can do this with Processing. You would have to write a processing sketch to step through the movie frame-by-frame, and calculate how different each was from the previous frame. When the difference is above a certain threshold, save the whole frame as an image file. Here is a forum post about something very similar.

Other than processing, you may also be able to use Max/MSP's Jitter, Quartz Composer, or a bonafide programming language such as Python.

  • Thanks. I've managed to do this with ffmpeg and imagemagik via a python script.
    – zio
    Aug 24, 2012 at 12:24
  • @zio Are you willing to share the python script? If yes, can you get a download link?
    – user3643
    May 4, 2016 at 7:22
  • @zio Do you still have that python script that can automatically takes stills of a slides presentation video?
    – user3643
    Mar 11, 2017 at 16:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.