**This is an old revision of the document!**

Blender

Blender is a powerful application that can be used for 3d modeling, graphics, motion graphics, compositing, special effects, game design, and quite a lot more. It is very actively developed, with new features arriving often. Blender is not just in use by movie studios, tv stations, and independent artists around the world, but by the Blender Foundation itself, which produces short films on a regular basis, adding features to the application based directly upon artist needs. Blender is by no means an academic exercise; it is a serious tool for serious production.

Strengths [Weaknesses]

Powerful

Full-featured and mature, capable of nearly anything.

Stable

Quality code that takes reliability seriously.

Efficient

A finely-tuned user interface for fast and fluid control.

Flexible

Rich Python API allows for user customisation.

Weaknesses [Strengths]

Complex

There is a learning curve that some people consider steep.

Misunderstood

Because it is powerful, people often praise it for things that it can technically do, even though it may not be the best application for that task. Alternately, people do not understand what it does.

Install

There are pre-compiled binaries available on the http://blender.org site (with easy installation possible from http://slackbuilds.org) for 32-bit and 64-bit systems. Blender is rapidly developed, and yet the releases are quite stable, so there is probably no harm in checking the site before installing to ensure that you are getting the latest version.

The precompiled binaries from http://blender.org force you to use the bundled version of ffmpeg, which may or may not be the best version of ffmpeg for your needs. For most people, the pre-compiled version of Blender is suitable, but if you want to use your own custom compiled version of ffmpeg, you must compile Blender from source code. It is sensible to start with a pre-compiled version of Blender and then “upgrade” to a custom version only if you find the need to do so.

When installing from slackbuilds.org, Blender is installed to /opt, a standard non-standard location. This will not effect how Blender works or even how you interact with it, but it could effect how you install plugins (especially if you are maintaining a system for multiple users).

Compiling from Source

If you need to compile from source so that you can compile against your own version of ffmpeg, or for any other reason, you can do that, usually without much added effort.

The compilation process of Blender is not as complex as it might seem at first glance over its developer documentation. On a default Slackware system, most of Blender's dependencies are already installed and there is no need for “development” versions of libraries as the dev docs list for distributions like Fedora or Ubuntu.

Most online docs assume that you do not have development libraries installed; keep in mind that you are on Slackware, so there is no separate “dev” package. As long as you install (or already have installed, in many cases) the dependencies, Blender will compile.

Install Python3 from [http://slackbuilds.org]]. It is safe to have both the default Python2.x and Python3 installed on your Slackware system.

Download the source code from http://blender.org. The development team offers a stable release tarball as well as the development code from svn; a true Slackware multimediatician will use the stable release.

Untar the downloaded archive and cd into it:

$ tar -xzf blender-x.y.tar.gz
$ cd blender-x.y

Create an isolated destination directory so that a Slackware package can be created:

mkdir /tmp/blender

Invoke the build script, redirecting the output to the temporary build location:

$ scons install destdir=/tmp/blender

Create a Slackware package and install:

$ cd /tmp/blender
$ su -c 'makepkg -l y -c n /tmp/blender-x.yy-`uname -m`-1_SMi.tgz'
$ su -c 'installpkg /tmp/blender*1_SMi.tgz'

Unexpected errors are common enough to warrant a note about them. Blender is frequently developed, and building it from source will sometimes render a puzzling error. Chances are, of course, that someone before you has experienced the same error, so simply do an internet search on the error in order to find a solution or work-around.

For best results, search the internet for the exact error that you receive, such as:

yasm: FATAL: unable to open include file `nasm.inc'

Searching for very specific errors often return existing issues and their solutions. Whether it's a bug or simply something that you overlooked when preparing for the compile, the answers are often a simple matter of installing another dependency or commenting out a bad line of code. Errors do happen, but they needn't dissuade you from compiling important applications from source.

Blender Plugins

No small part of Blender's power comes from the wealth of plugins available for it, both for free and for sale. Sites like http://cgcookiemarkets.com/blender and http://blendernpr.org/store provide amazing tools at reasonable rates, and the site http://blenderaddonlist.blogspot.com tracks as many independent and free addons it possibly can.

There are plugin sets that turn Blender into a nearly full-featured video editor, adds Maya-style “pie menus”, provides sculpting brushes, a quick-access asset library, and much more. You have only to identify your need and then search for a plugin that resolves it.

Read a plugin's documentation to find out how to install it, but usually the steps are these:

  1. Download the plugin and unzip or untar it.
  2. Read the plugin documentation for install and usage instructions.
  3. In Blender, navigate to the User Preferences panel.
  4. In the User Preferences window, click the Addons tab.
  5. Click the Install From File… button in the User Preferences panel.
  6. Once installed, search for the addon by name or category.
  7. Click to place a tick mark in the Enable an addon box on the far right of the plugin list entry.

The plugin is now active.

Some plugins only appear in certain Screen layouts, and many of them are quite complex because they add so much functionality, so you may need to research how to use the plugin. Do some tutorials or read the docs, and then get to work.

Renderers

Blender ships with two renderers: the aptly named Blender Render and the newer Cycles. Both of these render engines are production quality, but the exciting new features are going into Cycles. The best way to get to know a renderer, from a user and artist perspective, is to spend time with it; render as often as you can, experimenting with settings, lighting, and time. Find out how the renderer works, what its strengths are, where it is slow or rough, and become fluent with it.

Blender, ever flexible, is not constrained to only its two bundled renderers. There are many more renderers out there, and as long as they are Linux-compatible and have a Blender plugin, they are trivial to install and use.

At least four additional free 3d render engines are available along with Blender plugins to integrate them as seamlessly as Blender Render and Cycles, straight from http://slackbuilds.org:

  • povray (Blender already includes an exporter plugin for POVray, but it requires activation in the User Preferences > Addons panel.
  • mitsuba (the Blender plugin is located in the mitubsa-blender package)

In each case, whether you had to install the Blender plugin separately or whether it was bundled, you must go to User Preferences > Addons and activate the renderer just as you would any other plugin.

Add additional render engines.

Once installed and activated, change which render engine you are using from the Render Engine menu located in the Info panel.

Blender as a Video Editor

TL;DR
Blender is not [yet] the pro video editor you're looking for.

Blender as a 3d modeling application and as an animation tool is, unsurprisingly, commonplace, but there are those who use Blender primarily as a video editing tool. This use case appears to be more popular among Linux users, so it warrants some special attention here.

Blender is perfect. It's just not a perfect video editor yet.

There are several reasons to turn to Blender for non-linear video editing:

  • Blender is a carefully-written stable application designed to handle complex matrices and simulated physics. It makes sense that it can handle video gracefully.
  • The Blender user interface is ultra-efficient, and if you know how to use it then you will find its trademark hybrid of keyboard and mouse interaction just as efficient for moving video around a timeline as it is with 3d sculpting.
  • If you are working in a mixed-platform environment, Blender's ability to run on all of them could prove to be a major advantage. In terms of video editing, it is one of the few cross-platform solutions available.

Allowing for the fact that one editor's advantage is another editor's disadvantage, Blender does have some significant drawbacks as an NLE, as well:

  • Blender cannot mix frame rates. If you have some clips at 25 fps and some clips at 50 fps, you must convert them on your own, outside of Blender.
  • Blender lacks conveniences, such as copying attributes of filters applied to video clips, that makes colour grading so easy on other video editors.
    • Blender has no concept of track-types, and no way of muting or hiding entire tracks.
    • Blender's video export options are limited and can be unreliable (for example, losing frame rate settings, incorrect video-to-video compositing when filters are involved) in extremely long-form edits. If you are editing more than 20 minutes of footage, you should break your project into multiple smaller Blender files and then concatenate the edits together outside of Blender.
    • There is no multi-threaded rendering of video exports (other types of exports have it, but not when the source is video), so exporting video can take far longer than exporting from Kdenlive or similar, by orders of magnitude (an hour of heavily edited and graded footace can take days).

    Those are technical concerns, but additionally there are pragmatic concerns that an experienced video editor may have:

  • Since Blender started life as a 3d modeling application, it is not as finely tuned toward video editing as a longtime video editor might desire. Blender devs are adding native features and users are creating plugins to help create a more NLE-centric environment within Blender, so the situation is only improving.
  • It's not a carbon copy of any editing environment and probably never will be. It's never a good idea to expect or even, arguably, request for an open source clone of a closed source application that you just so happen to be very good at, but it's common for people moving to open source to desire just that: familiarity. Blender is probably never going to be a traditional video editor, so adapting to it and the way it does edit video is a must, if you intend to edit video on it.
  • The workflow tends to be marvelously efficient when an action has a direct analogy to a 3d process (moving clips, deleting clips), but when there are totally unique functions introduced by a plugin, they are frequently menu- or button- oriented, with no keyboard shortcuts. Compared to the rest of Blender, this feels out of place and can bring your editing pace to an almost grinding halt.

The good news is that Blender itself, and most of its features and plugins, are all open source, so you can add functionality yourself, or wait for someone else to add it; as more people start to use Blender for everyday video editing, the more fluid it will become.

Some pertinent video editing addons are these:

  • Easy Logging creates a workspace that uses the File Browser window as a video bin, and adds buttons to allow editing of clips prior to importing them into the video sequence editor. This plugin, more or less, provides three-point editing.
    • Audition adds the ability to preview a clip from the File Browser before importing it into your project. It is intended as an extension of Easy Logging.
    • Jump to Cut enables the playhead to jump from a strip's in- or out- points, and also adds in some convenience trimming functions. This plugin provides, more or less, the most common and basic timeline features of an NLE.
    • VSE Quick Functions provides all the little convenience functions for timeline editing that any NLE would normally have (snapping, muting, locking, parenting or grouping, quick fades, quick titles) plus a few that others do not have (sorting by position in timeline or clip title or clip length).
    • Extra_Sequencer_Actions adds advanced trimming functions to the VSE, including ripple deletes, ripple cuts, insert edits, slides, and more.
    • VSE Transform Tools adds basic motion graphic capabilities to the VSE. Using this tool set, you are able to grab onto the video display itself and resize and re-position it within the frame. With it, you can achieve common effects such as picture-in-picture, split screen, and basic tween-based animation.

    Install these plugins, and any other that appeals to your needs, and you will have a fairly robust and flexible, albeit somewhat un-even in backend and convenience features, video editing environment for short form video.

To be clear: Blender is not yet suited as a general-purpose, production editor. Its situation has improved over the past 6 years but it has serious limitations. If you are seeking a dedicated and professional video editor with all the features you expect from a professional video editing suite, Kdenlive or Lightworks are the answers.

For more information, read the section on Render Farming.