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:
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.
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:
For more information on using Backburner, call our 3D modelling and animation team on 03332 409 306 or email sales@Jigsaw24.com.