I killed most of the afternoon writing a Ruby script that takes a directory full of video files, goes through them one at a time plucking out a frame every X seconds, and then averages the frames into a single image. My guinea pig? lonelygirl15. The YouTube-ingenue-
The technical details I can handle, however: The above image is a mathematical average of 25 videos (all of lonelygirl15’s videos to date except the first two, which you might consider “non-canon”) which total about 49 minutes. One frame was taken every 15 seconds, for a total of 209 frames. The script is about 75 lines of Ruby code, but the real heavy lifting is done by the spectacular RMagick and FFmpeg (sadly, there were no rmovie binaries available for Windows, so I had to talk to the command line). After the script grabbed the frames and averaged them, all I did was up the contrast a bit in Paint Shop Pro.
The script is theoretically limited only by memory and processor cycles. The image above took six or seven minutes to “render,” about half of which was capturing the frames, but the averaging itself ate up pretty much all of my memory, so working with more frames or higher resolution captures would require a bigger commitment, or at least a spare Linux box (working on that).
To be perfectly clear, I’m not at all the first person to do this sort of thing. Jason Salavon has done it with Playboy centerfolds, real estate, talk show hosts, and even porn, and Meggan Gould has averaged the results of Google Images searches to fascinating effect.

©1999-2006 Jordan B. Running
I must say that I like this concept a WHOLE LOT! Any chance of releasing the source code? :D
Also, thank you so much for having that link to Salavon… his work is amazing. I love his self portraits particularly. Beautiful work as a whole.
M.T.
Thanks for the praise, Matt. The first version of the source code was shamefully ugly, but I’m working on a much more Ruby-like (and speedy, thanks to the folks at #ffmpeg on Freenode) version that hopefully I’ll be able to release soon…ish.
Jesus, that’s hot. I really like it. It’s really nice to see some more artists working in Ruby right now. [I’ve got a project in the works but it’s nowhere near showable at the moment.]
Hopefully rmovie will port to a gem soon and a Windows-friendlier version as well.
[…] Since yesterday’s post I’ve spent a lot more time beating on my video averaging script. It’s really starting to shape up. For my second proof-of-concept I used all 28 Ask a Ninja videos available on Revver. Thanks to the fine folks in #ffmpeg on Freenode, I managed to really speed up the video capture portion of the script. This time I went for 800×600 and captured a frame every 20 seconds. Capturing 272 frames from almost four hours of video took six and a half minutes and averaging them took just over four minutes. Once again, I tweaked the contrast of the final image a bit. […]