Linux Video Production: the State of the Art
Once you've edited your footage, nailed your CG and tracked your camera, the time comes to marry them all together. Unfortunately, this is where we hit the major hole in the pipeline. There is, simply put, no straightforward way to do compositing on Linux in any straightforward sense. A well-outfitted, if basic, compositing system would provide for HSV adjustment, level calls, histograms, curve adjustments and brightness/contrast controls for color correcting the footage. A really competent system also supplies rotosplines for animated masking and two or three different keyers operating in different color spaces (essential if you want to do blue screen work with MiniDV). Finally, any compositor needs to do multilayer overlays, and do them well.
Our Alien Wedding Guest certainly requires this; sitting an alien in a chair with his spaceship hovering in the blue sky behind a tree requires taking rendered 3-D animation footage of the alien and his ship, using rotosplines to create a foreground mask for the chairs in front of the alien, and using the color keyer to treat the blue sky as a blue screen, laying the spaceship in behind the tree. You then apply color adjustments to each layer so that they all blend together nicely.
As you can see, it's possible to cobble together a more-or-less full suite using the various tools, but it's not a pretty sight. However, this is changing.
Blender is slated for a full-compositing system implementation for Project Orange, which requires Blender to become a full-fledged high bit-depth editing and compositing system; but that isn't due until February 2006 or so. Jahshaka is introducing color keying and splines into its RC2 release, in the fall of 2005/winter of 2006. CinePaint Glasgow's first release is scheduled for December 2005. And MatteLab may soon be extended and developed into a CinePaint or Blender plugin, as well as getting even better keying features.
All of these projects display great promise, and some of them will bear fruit this year, but at the moment, there just ain't no way to pull this off without doing a fair bit of coding, linking GIMP with ImageMagick with FFmpeg and working mostly through the command line. This approach is extremely powerful, but it's far from ideal for the hobbyist.
Titling, from the simple to the complex—anything from a quick fade-in/fade-out in Helvetica to a complicated short film of a title sequence—is the final step in the video part of our pipeline. Complicated title sequences of the sort seen in SE7EN are technically the domain of motion graphics software rather than simple titling programs.
If you want to deal with complicated motion graphics without going all the way and just creating your title sequences in Blender (which can be fun, but is rather like swatting a fly with a sledgehammer), Jahshaka is pretty much where it's at.
If simple fade-in/fade-out titles with dropped shadows are more your forté, you'll be perfectly happy dealing with Kino's DV Titler plugin.
Once your effects are all done, and you've gotten your soundtrack mixed and timed the way you want, it's time to mixdown to the tracks that you'll marry back to your video stream. Assuming that you're going back to DV, it'll need to be a stereo mixdown (as indeed one audio track should be even if you're going to a surround-mixed DVD for final output), which can then just be dubbed back in your editor of choice. Once your mixdown is done, you're ready to marry the audio back to the video (multiplexing). This is accomplished in your video editor by lining the track up with the video and overdubbing the original audio.
Full discussion of the sound tools available for Linux can be found in the excellent articles by Dave Phillips in past issues of Linux Journal (there are far too many to enumerate here, but a search at the Linux Journal Web site will yield good results). For our purposes here, remember that close attention needs to be paid to preserving sound sync. Make sure that your finishing dialog track is timed the same way your source track was, and you'll be most of the way there.
- diff -u: What's New in Kernel Development
- Divx# Watch The Other Woman Full HD Online Streaming Viooz
- Numerical Python
- Use Linux as a SAN Provider
- Great Scott! It's Version 13!
- NSA: Linux Journal is an "extremist forum" and its readers get flagged for extra surveillance
- RSS Feeds
- Adminer—Better Than Awesome!
- Tech Tip: Really Simple HTTP Server with Python
- Linux Kernel Testing and Debugging