|
Project Information
Featured
Links
|
IntroductionIn January 2010, in several blog posts (1, 2, 3, 4) I discussed my progress toward automating the workflow of creating time-lapse movies from still image sequences on Windows. I used JScript+WSH for the original scripts because that's how the samples I started with were written. Then I rewrote the system in Python and extended it to provide "seamless" automation from end to end of the QuickTime part of my process. What It Doesseq-to-qt provides a set of functions that I am finding useful for automating my workflow in producing timelapse movies. My camera software saves images in separate folders for each day and numbers the images sequentially. That's where seq_to_qt enters the picture. I can give it a simple list of folders that need to processed and it will take care of everything else involved in generating a QuickTime movie for each sequence. Key Benefits- Saves me time, errors, and drudgery. Fire it off once to handle multiple image sequences and leave for the day (or weekend).
- Splits long image sequences into chunks, if necessary, so that QuickTime doesn't choke.
- The sequence splitter itself is very general and could be used to divide any sequence of numbered files.
- Flexible Python implementation is relatively easy to extend and modify.
Getting Started- Download and install Apple QuickTime.
- You must also pay some money (about $US 30) for the QuickTime "Pro" license. This is required to unlock the functionality you need.
- Download and install compatible versions of Python and PyWin32. I have tested seq_to_qt with Python 2.6.
- Download the seq-to-qt Python files seq_to_qt (links to zip file) and put them in a convenient place.
Running The ScriptsPython is flexible and there are a lot of things you can do. But here is a simple way to get started. My working folders are organized like this: <code>Project
scripts (this is where I put seq_to_qt and any others)
seq1 (each set of image sequence files is in its own folder)
XXX_0001.jpg (numbered sequentially with a common prefix)
XXX_0002.jpg
...
seq2
seq3
...
Unknown end tag for </code> You don't have to set yours up the same way, but I thought it might help to see how I'm using it. - Create a "test" sequence with no more than about 200 frames. To do this, create a new folder in your Project folder and there copy the first 1-200 frames of your favorite sequence.
- Make a copy of seq_batch_convert.py and edit it to provide the file paths for your image sequences. If you want to see how the chunk splitting works, set the chunk_size to something small, like 50.
- Now run your script! From a command window, your command will look something like this:
<code>c:\Python26\python scripts\seq_batch_convert.pyUnknown end tag for </code> - And if all goes well a QuickTime movie will be produced.
The output of the scripts is quite verbose, so you should get a good view into what is being done. Future Work- I want to extend the automation tools to include image processing prior to movie production. But I haven't decided which image processing tools I want to use.
- I may want to automate more of the production work that takes place in my video editor (Sony Vegas) after the QuickTime portion is done.
- I'm interested in Linux-based alternatives to QuickTime for generating a movie from stills.
References
|