Video Production Stack Exchange is a question and answer site for engineers, producers, editors, and enthusiasts spanning the fields of video, and media creation. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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?

share|improve this question
up vote 1 down vote accepted

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.

share|improve this answer
Thanks. I've managed to do this with ffmpeg and imagemagik via a python script. – zio Aug 24 '12 at 12:24
@zio Are you willing to share the python script? If yes, can you get a download link? – fredsbend May 4 at 7:22

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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