Your Favorite Movie in a Single Picture
Almost seven month ago I wrote about my experiments of “compressing” a whole movie into one single picture. A screenshot of the movie is taken every second and the screenshots are then combined into one big image. 60 frames per row, one row for each minute of film.
I tried this technique with a lot of different movies, but the one that looked most interesting turned out to be Stanley Kubricks 2001: A Space Odyssey. Now I’ve finally got it printed, glued onto a frame and hanging on my wall. I’m very pleased how the print turned out. Every single image is only 11mm wide, but you can still make out a lot of details.
I don’t know what the legal situation here is, but I found that “someone” already uploaded a “similar” image as a PNG file (11367x16232 pixels; 140mb): 2001-13-36-final.png on Rapidshare
Read on for a short tutorial to make your own movie poster like this.
Things you need
- VirtualDub (I used version 1.8.6)
- stitch.exe
- A Movie
- Lots of RAM (2GB seemed to bee enough for most image sizes)
Exporting the screenshots
Your movie must be in AVI format so VirtualDub can load it. Just ask google about how to convert your DVD to an AVI file. There is also a VirtualDub mod that loads MPEG2 files directly, but I haven’t tried it yet. Quality isn’t that important at this point, because the final frames will only be a cm in size anyway.
Open the movie in VirtualDub (File->Open video file…) and add a Resize Filter (Video->Filters…). Scale it down to about 25%, depending on the size of the original. Anything between 100 and 200 pixels width works fine. Choose Lanczos3 as Filter mode. Add the Resize Filter with OK and also close the Filter Window with OK.
Next, go to Video->Frame Rate…, choose Convert to fps at the Frame rate conversion panel and enter 1.0 in the input field. You don’t need the Audio Stream, so disable it at Audio->No audio. Make sure your movie will be saved Uncompressed (Viedo->Compression…). Now save the movie with File->Save as AVI… – this might take a while. Close VirtualDub when it’s done, to reset its setting.
Start VirtualDub again and open the AVI file you just exported. Now go to File->Export->Image Sequence… Choose JPEG with 100% quality as the ouput format (PNG export seems to be buggy my version) and click OK. You should now have a few thousand screenshots somewhere on you HDD.
Putting it all together
Extract the stitch.exe and stitch-create.bat in the parent directory of your screenshots. E.g. my screenshots are saved in E:/poster/images/the-fountain/ and my stitch.exe is in E:/poster/.
Open the stitch-create.bat with a Text-Editor (Rightclick->Edit). The stitch-create.bat just calls the stitch.exe with a few parameters. The first parameter is a file-match to your input images, the second one specifies the name of the output PNG file. The following 3 Parameters are the values for images per row (default 60) and the width and height of the spacing between single frames. The last two parameters are for scaling of the input images – the quality of this rescaling isn’t that good; you should use it for testing only. When you’re done, just save the stitch-create.bat and execute it. Cross your fingers that you’ve got enough RAM and wait a minute.
I did use Photoshop after that to put a frame around my 2001 picture. But that’s totally up to you.
For all the Linux and Mac users out there: Here’s the source file (PHP) for the stitch.exe: stitch.php.zip Since VirtualDub is only available for Windows, you’ll have to find another solution to export the screenshots. I know that mplayer has some command line switches that might work for that.
10 Comments:
I really want to give this a go but so far haven't figured out a good way to do it on my mac. Hopefully someone figures out a decent way to produce these results.
hey
i love the idea.. where did you get it printed out as. I didn't one for Saturday Night Fever I'd like to give to my dad for xmas
you can do the virtualdub step with mplayer (windows, linux, mac osx) : mplayer -vo jpeg -vf framestep=23.960,scale=160:90 -nosound <movie file>
this will generate 1 picture every 23.960 frame, so for a 23.960 frame movie, 1 picture every second. you can adjust the scale factor too.
now, I will search for replacing the stitch step by using imagemagic or netpbm.
Thanks.
I think I have edited the .bat file correctly. Now what? Do I run the .bat file or the .exe? Neither seem to do anything.
After working on writing my own script it turns out there are a lot out there already:
A Mac program called thumber:
www.threewordtitle.com/thumber/
processing sketch (adapted from the original script used by Brendan):
plasticbugs.com/?p=278
A ruby version:
railsloft.com/posts/create-your-own-cinema-redux-poster-with-ruby-and-rmagick
I tried both thumber and it worked fairly well. Though it is picky about the file type you use.
Wow, I didn't know there are already so many programs doing this out there. I guess I just like reinventing the wheel.
@Jon: I had it printed by a friend who works in an ad agency, but there are many services where you can upload an image file and get a print a few days later.
@iXô, @cawlin: you can also use the .php script I linked at the end of my post.
@Douko: You have to run the .bat file. There should at least appear an error message in the dos window if something's wrong.
@Dominic: I have used you php script, and it works very well, but I want to try to use imagemagick because it is it's main purpose, more than php ;)
the link cawlin gave about the ruby version use RMagick 2 that seems to be better than imagemagick.
I too am experimenting with this idea now, and am also going to use 2001 as my film. What solution did you find for framing? did you build or buy the frame. And where did you get the poster printed? (My poster will be 5' high by 10' wide).
hi if you're reading this, it's been 8 years i know. i have an assignment to create cinema redux and i'm stuck with your code. i can't see where the output is. that's first, second how do i run the codes on terminal , what do i type in? i put in the folder where my images are but it said not jpeg or png, my files are png though.
i really hope you could help me, since your code is the nearest i could get from. Thumber doesn't work (nor update for the later OS X, i'm on yosemite)
thanks and cheers, looking forward to your reply
The rapidshare link above is inactive, could you post another one? Thanks