Multitrack Video Editor Roundup
Blender is justly and primarily famous for its standing as the premier free/open-source 3-D graphics package, but that's not all it can do. Because it is intended as an end-to-end finishing system for animation, it has integrated a full-featured, OpenGL-driven video editor called the VSE (Video Sequence Editor).
The VSE is, to say the least, pretty strange. Like all things in Blender, the interface is built for efficiency and speed of use over user-friendliness, so the learning curve is a bit steep, although knowing a good bit about how the rest of Blender works will help out handsomely.
Blender's major shortcomings to this point, as a video editor, have been threefold:
As it started life as an animation editor, it hasn't had support for fractional framerates such as are found in NTSC (29.97), which causes sound sync problems when editing NTSC footage with sound. This is now fixed in CVS, and with any luck, it will be in the next main release before this article goes to press.
Its export paradigm is obtuse and hard to cope with, setting an entry bar too high for most editors to be willing to consider. A bit of practice makes this a non-issue.
It also has no asset management system—all that work has to be done outside the program by editors carefully structuring their directories and assets if they care to keep track of everything. This probably never will be addressed—thus far, there isn't a significant cry from within the user community to change it, and I suspect it would take some nontrivial code refactoring to pull it off.
However, despite these initial weirdnesses, Blender's VSE has a lot to recommend it, not the least of which is its easy integration with the other parts of Blender. It can accept as inputs both rendered and unrendered strips from the animation subsystem and the compositing subsystem—a very powerful bonus. The compositing system itself (reviewed in the November 2007 issue of LJ) is a full-fledged professional nodes-based system that goes far beyond the video effects available in any other Linux editor. Additionally, Blender's VSE is itself a layers-based compositor, with quite a few native and community-generated plugins for color correction, greenscreen compositing, PIP work and so on.
In practice, this means that, when properly used, Blender's VSE has, by one path or another, all the power of After Effects (sans easily usable rotosplines), particularly for plane-based animation, a trick I use regularly to design animated DVD menus. It also has a professional color-correction tool that is totally absent from the other editors in this article, a vectorscope.
For format compatibility, Blender shares the FFmpeg backbone with KDENLIVE and OpenMovieEditor (initially integrated into Blender by Ian Gowen as a Google SoC project), and it deals excellently with image sequences (which is only natural, as it was originally an animation editor). Its audio compatibility also is FFmpeg-based, and although Blender's audio tools are paltry to the point of vanishing, it is quite suitable for video editing where a separately mixed soundtrack is conformed to the video in the VSE.
Like OpenMovieEditor and unlike KDENLIVE, Blender's VSE is format-agnostic—the final output profile being controlled by the output settings in the RenderButtons window.
Alas, Blender VSE has one more shortcoming: unlike KDENLIVE or OpenMovieEditor, it has no option for direct stream copy to prevent generation loss when rendering out to the same format you are using for your source footage. If you're using Blender as a finishing system, this isn't an issue; most of your footage will have effects applied and thus be recompressed on export anyway.
I personally don't use Blender as my primary video editor, though I have found myself using it more and more as a finishing system and may give it a go doing a full project on it sometime in the not-too-distant future. It's an odd mix of best-of-bunch and worst-of-bunch, which might not seem like a glowing recommendation, but it is an indispensable tool for a Linux production pipeline.
Of course, there are a number of projects I haven't mentioned here. Without exception, they are all unusable. They either haven't achieved usability yet (Pitivi and Jahshaka), they are poorly designed, unstable and resource-hungry (Cinelerra), or they are dead on the vine (MainActor and Diva).
- Machine Learning Everywhere
- Own Your DNS Data
- Bash Shell Script: Building a Better March Madness Bracket
- Understanding OpenStack's Success
- Simple Server Hardening
- Returning Values from Bash Functions
- Understanding Firewalld in Multi-Zone Configurations
- From vs. to + for Microsoft and Linux
- Natalie Rusk's Scratch Coding Cards (No Starch Press)
- Tech Tip: Really Simple HTTP Server with Python