After Effects "grinder" Script

GRINDER - the After Effects Render Productivity Booser

While working on Falling Skies for MastersFX I needed to find an inexpensive way to increase our After Effects render efficiency without access to a render farm. Based on some existing plugins that fed the render queue to “aerender”. For our workflow we needed a way to do collaborative rendering on frame-based projects and the existing plug-ins just didn’t cut it.

The Philosophy

The “grinder” script was written in Python as a front end to aerender which provided interactivity with the After Effects Watch Folder capabilities. In essence, grinder looks for projects that are in a designated watched folder and renders frames as needed by feeding the projects to aerender. By using multiprocessor libraries from Python and eliminating the overhead of running the AE GUI artists were able to maintain full productivity while simultaneously running up to 8 instances of aerender in the background of their Mac Pro workstations.

The Results

Render times were cut by a factor of 4 and a small team was able to produce outstanding visual effects without the expense of a dedicated render farm.

I’ve put the source code on GitHub but haven’t really had time to do anything with it as I was sucked into my next project at BiteSize TV. There is a GUI front-end, written in PyQt that I sent out to a few testers but the command line version just turned out to be much easier to use.