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).
|Non-Linux FOSS: libnotify, OS X Style||Jun 18, 2013|
|Containers—Not Virtual Machines—Are the Future Cloud||Jun 17, 2013|
|Lock-Free Multi-Producer Multi-Consumer Queue on Ring Buffer||Jun 12, 2013|
|Weechat, Irssi's Little Brother||Jun 11, 2013|
|One Tail Just Isn't Enough||Jun 07, 2013|
|Introduction to MapReduce with Hadoop on Linux||Jun 05, 2013|
- Containers—Not Virtual Machines—Are the Future Cloud
- Non-Linux FOSS: libnotify, OS X Style
- Linux Systems Administrator
- Validate an E-Mail Address with PHP, the Right Way
- Lock-Free Multi-Producer Multi-Consumer Queue on Ring Buffer
- Senior Perl Developer
- Technical Support Rep
- UX Designer
- RSS Feeds
- Introduction to MapReduce with Hadoop on Linux
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?