Linux Video Production: the State of the Art

From box-office hits to home movies, Linux is ready, set, action.
Color Correction and Compositing—Jahshaka, Cinelerra, Blender, ImageMagick, CinePaint Glasgow, Mattelab

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.

Table 2. Compositing Tools

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—Jahshaka, Kino, Blender

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.

Mixdown and Multiplexing

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.



Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

A new actor on the stage...

Kdenlive's picture

The readers may also have a look at Kdenlive a fresh MLT based video editor for KDE which is so easy to use and fast...


Anonymous's picture

Your review is incomplete - you don't even mention LiVES:


Nickowen's picture

Thanks for a great article. I've been trying to ditch windows for quite a while now, but the big stumbling block has been video editing. The first program I tried was Kino, but due to a lack of tutorials and a confusing interface I lost interest. Next came Cinelerra, I had a lot more luck with this program, but the final render left a lot to be desired. The program I'm trying at the moment is Lives, this seems to convert all my clips to image sequences and as a result is very slow. All I need is a program that joins all the video clips together and is capable of putting a simple fade between them.

Quick fact check...

Anonymous's picture

Actually...and speaking as a filmmaker here...Linux is a valuable part of the workflow in movie production, but its not the only OS (or even the primary OS in a lot of cases) floating around independent and Hollywood movie studios. Linux is best used in render farms, as it is a cheap and reliable means of pulling together a lot of processing horsepower to deal with the massive amount of data behind the thousand of frames in every film. But, your introduction is still a little misleading.

That said, thanks for the great breakdown of the movie editing software available for Linux. Personally, I think Kino has the brightest future for home users, and I sincerely hope it finds its way to other platforms. A Quartz version of Kino on OS X with an improved interface and Quicktime and CoreAudio under the hood would be sweet. (And, no, Quicktime for Linux is not the same.)

adding sound to mpegs

kgoess's picture

Great article, but somehow you managed to not answer the one question I've had on the subject for over a year.

My six-year-old and I have had great fun making stop-action movies using mpeg2encode and the Gimp ('convert *.jpg movie.mpeg'), but I've never been able to find a free way to add sound to the resulting mpeg.

You explicitly skipped talking about the audio pipeline part, and I haven't seen Dave Philips answer that particular question yet. Do you know of a simple (and command-line?) way to add sound to an mpeg video?

Asuming you got a sound file

Slawek's picture

Asuming you got a sound file in proper format (that is mpeg2 or ac3) you need use mplex. To editing sound you can use audiacity, encoding to mpeg or ac3: ffmpeg


fel3232's picture

how does ffmpeg work? thanks, I'll bookmark