Use Backburner to queue renders from non-Autodesk software

Use Backburner to queue renders from non-Autodesk software

In a step-by-step guide, our 3D technical consultant explains how to use Backburner to render with non-Autodesk software, and even provides a few example commands for you to use.

“Backburner is Autodesk’s render farm management solution and will allow you to submit renders from the likes of 3ds Max, Maya and Softimage to a farm of networked machines. Backburner is included for free with the above packages, as well as a few others, such as Smoke. In a completely Autodesk pipeline, Backburner is a cheap way to manage a render farm (you can’t argue with free after all). However, many pipelines also make use of software that isn’t made by Autodesk such as After Effects or CINEMA 4D.

Using a little-known feature of Backburner called the cmdjob, it’s possible to control any software capable of being managed from the command prompt and have these cmdjobs queued by Backburner to make the most efficient use of your farm.

Implementing this will require the writing of batch scripts, so you may need to enlist the help of a script geek to get you up and running. The complexity of these batch scripts will depend on the application you are trying to control as the commands within them will be specific to that application. I tried it with both After Effects and CINEMA 4D, and reckon that the options will be familiar to anyone who uses these applications as you’re simply setting options like which comp to render or the size of the output image – the only difference being that you are just doing it with a command string instead of by ticking a box in the application.

To get started with the cmdjob, you will first need to call cmdjob.exe within your batch script. On a Windows machine this can be found in C:\Program Files\Autodesk\Backburner – on a 64 bit Windows machine substitute ‘Program Files’ with ‘Program Files (x86)’.

A working example: After Effects

We will start with a simple example using After Effects to render a comp called COMP1 within a file called aetest.aep. After Effects contains a command line renderer called aerender.exe. You need to ensure that After Effects is installed on each render node you intend to use for rendering the job. AE Render (and in fact After Effects) has a render option for using multiple machines which, when selected, will cause a machine to ignore any frames that already exist in the output directory. In effect the machine assumes another machine is already working on them and skips them to render other frames in the range. This option is perfect for rendering across multiple machines, as it allows you to run exactly the same command on all machines and have them figure out which frames to render for themselves.

So let’s start building the command:

•    First we call cmdjob.exe with the relevant options. In this case we add the following commands:-jobname “test job” to set the name that will appear for the job in the Backburner monitor, -manager testmanager. This tells cmdjob which Backburner manager to send the job to, and you should replace testmanager with the name of the machine that runs your Backburner manager. Finally we add -perserver to tell Backburner to send exactly the same command to each of our render nodes. So far our command looks like this: “C:\Program Files\Autodesk\Backburner\cmdjob.exe” – jobname “test job” -manager testmanager -perserver

•    Now that we have the job set up we must add the aerender command that we want Backburner to run. AE Render (for CS5.5) is located in C:\Program Files\Adobe\Adobe After Effects CS5.5\Support Files so we must call that first. Next we must tell aerender which project we want it to render using -project \\shareddrive\aetest.aep. Note that, as with any render farm job, the project must be in a shared location accessible to all of the render nodes. Then we specify the composition that we want to render from our project using -comp COMP1, the frame range we want to render (in this case 1 -10) using -s 1 -e 10. Next we enable the multi-machine settings that make all of this possible with -RStemplate “Multi-Machine Settings” -OMtemplate “Multi-Machine Sequence”. Finally we specify the output path, frame padding and output format with a single command, in this case rendering out Photoshop files with 2 digits of padding-output \\shareddrive\output\test[##].psd. AE Render is intelligent enough to know that putting .psd on the end means you want Photoshop files and will replace the # signs with your frame numbers. Again the output file must be on a network location that can be seen by all of your render nodes.

Our final command looks like this:

“C:\Program Files\Autodesk\Backburner\cmdjob.exe” – jobname “test job” -manager testmanager -perserver “C:\Program Files\Adobe\Adobe After Effects CS5.5\Support Files\aerender.exe” -project \\shareddrive\aetest.aep -comp COMP1 -s 1 -e 10 -RStemplate “Multi-Machine Settings” -OMtemplate “Multi-Machine Sequence” -output \\shareddrive\output\test[##].psd

You should paste this command into Notepad and save the file as something.cmd. If you then double-click this command to run it you should see the job appear in your Backburner monitor and start to run on your render nodes.

 [] But what if we have a more complex program (for example CINEMA 4D) where we would need to specify a different frame range for each node? To get this functionality we can use something Backburner refers to as a taskfile. This is a simple tab delimited text file, created in any text editor or spreadsheet program. The taskfile contains three columns. Column 1 is the taskname, which will appear in the Backburner monitor. Columns 2 and 3 are the start and end frames respectively. An example taskfile for ten render nodes working on a 250 frame scene is below:

  • frames 0-24    0    24
  • frames 25-49    25    49
  • frames 50-74    50    74
  • frames 75-99    75    99
  • frames 100-124    100    124
  • frames 125-149    125    149
  • frames 150-174    150    174
  • frames 175-199    175    199
  • frames 200-224    200    224
  • frames 225-250    225    250

We would save this taskfile on the same network location as our scene file and specify slightly different options within our batch file. First we would name the cmdjob as before but, instead of using the -perserver switch, we use the -taskfile switch and point it towards out taskfile and tell cmdjob that our tasknames are in column 1:

“C:\Program Files\Autodesk\Backburner\cmdjob.exe” – jobname “test job” -manager testmanager -taskfile \\shareddrive\taskfile.txt – taskname 1

Next we would call the CINEMA 4D command line renderer but replace the start and end frames with pointers to our tasklist file. This will cause Backburner to generate a slightly different command for each node only containing the frames that node is required to render:

“C:\Program Files\MAXON\CINEMA 4D\CINEMA 4D.exe” -nogui -render \\shareddrive\myscene.c4d  -frame %tp2 %tp3

Note the %tp2 and %tp3 these options tell Backburner to read from the tasklist file and replace these strings with the relevant frame range before running the command so the command sent to the first render node would contain -frame 0 24, the command to the second node would contain -frame 25 49 and so on.

So the final command for our batch file would look like this:

“C:\Program Files\Autodesk\Backburner\cmdjob.exe” – jobname “test job” -manager testmanager -taskfile \\shareddrive\taskfile.txt – taskname 1 “C:\Program Files\MAXON\CINEMA 4D\CINEMA 4D.exe” -nogui -render \\shareddrive\myscene.c4d  -frame %tp2 %tp3

Running this batch file would queue up your CINEMA 4D job within Backburner – once again you must ensure that CINEMA 4D is installed on each render node and that you have enough net render licences to cover the amount of nodes on your farm.

Further Information

These basic theories can be extended to allow Backburner to make use of any software that allows rendering through the command line. While generating the batch files can look a bit scary, you soon find that the options available match those you would be setting within the scene file anyway. If you need to do a lot of queuing of multiple programs on your render farm, I would recommend something more advanced like Qube! as it wraps all of this functionality in a more user-friendly GUI. For those that need this functionality occasionally or don’t have the budget for something like Qube!, Backburner’s cmdjob is a great option.

A full list of the commandline options for cmdjob, aerender and CINEMA 4D can be found by following these links:

Autodesk Support

MAXON Support

aerender Support

For more information on using Backburner, call our 3D modelling and animation team on 03332 409 306 or email Alternatively, leave a comment below and we’ll get back to you shortly.

Network Rendering II: Management Software

Network Rendering II: Management Software

Last time, I discussed the hardware requirements for a render farm and drew the conclusion that CPU power is still king for dedicated render machines. I will now take a look at some of the software management solutions that are available to manage all of that hardware.

Most popular rendering packages ship with a solution for managing network rendering. This section will look at some of those options:

NET Render – Maxon’s solution for rendering Cinema4D jobs across a network is NET Render. It will distribute the rendering of animations on a frame-by-frame basis or still images using the tiled camera. It can also be used to batch render multiple jobs from multiple machines. NET Render is available as a chargeable add-on to Cinema4D or is included with the XL (three client licenses) and Studio (unlimited client licenses) bundles.

NET Render will run on OS X, on Windows clients, or even a mixture of the two. It is relatively easy to set up and, because jobs are submitted through a web interface, they can theoretically be submitted from any internet connected computer. To submit a job to NET Render, you have to open the interface and upload not only your scene file, but any associated assets such as textures or externally referenced models one by one to the NET Render server. While this ensures that all of the assets are in the right place, it can become tedious if you have many assets.

ScreamerNet – This represents NewTek’s solution for network rendering with LightWave. It is capable of distributing the rendering of an animation by having each node in your farm render complete frames. ScreamerNet ships with LightWave for no extra cost and can batch render jobs but only from a single machine. It is compatible with Windows or Mac machines.

ScreamerNet requires shared folders to be set up on your network for it to work properly, which means it cannot work in mixed environments. All render nodes should be running the same operating system as the machine that created the scene files. ScreamerNet gives a good speed advantage but it can be difficult and confusing to set up.

Aerender – Also known as the After Effects Render Engine, this is Adobe’s command line renderer for After Effects and can be used to set up an After Effects render farm. The render engine is included with every After Effects license and can be used to render multiple jobs from multiple machines. There is no queuing system; jobs are rendered on a first-come, first-served basis. Setting this up requires a watch folder to be shared out over the network and the project, and all associated assets must be copied here before rendering. This watch folder can make setting up cross-platform render farms difficult, although it is possible.

Backburner – Autodesk’s solution for network rendering supports several Autodesk products, including 3ds Max, Maya, Smoke for Mac, and Cleaner. Backburner can render multiple jobs from multiple machines and includes a facility for queuing and managing these jobs. It can even render jobs submitted from several different supported applications, provided those applications are running under the same operating system.

Backburner is supported on Windows, OS X, and Linux, but all render nodes must have the same operating system as the submitting workstations; mixed environments are not supported. Backburner is powerful, fairly easy to set up and expandable.

Mental Ray Satellite – Another Autodesk technology that allows distributed rendering. Mental Ray Satellite is designed to allow several machines to lend their CPU power to a designated workstation. Renders are started as if processing locally, and networked workstations help out with producing the final image(s) – this is then displayed and saved on the creating workstation. Mental Ray Satellite works best when there is only a single workstation creating content on each set of render nodes. It is compatible with any Autodesk software, making use of Mental Ray, and will run on Windows, OS X or Linux. Different packages ship with differing numbers of Mental Ray Satellite licenses, ranging from three to eight machines. This number can be extended by purchasing standalone Mental Ray Licenses.

Next week, I will look at third party management software and make some predictions about the future of network rendering.

For more information about render farms or any of the products mentioned above, give me a call on 03332 409 309 or email Visit us on Facebook and Twitter (@Jigsaw24video).