Automating rendering with aerender

The executable file aerender.exe is a program with a command-line interface with which you can automate rendering. The executable file is located in the same folder as the primary After Effects application. The default locations for this file are:

  • Windows: \Program Files\Adobe\Adobe After Effects CC\Support Files

  • Mac OS: /Applications/Adobe After Effects CC

You can use the aerender application to perform rendering operations on multiple computers as part of a render farm, or you can use the aerender application on a single computer as part of a batch operation.

You use the program by entering the command aerender on the command line (or in a batch script), followed by a series of optional arguments. Some of the arguments are simple options that take no arguments of their own (for example, -reuse), whereas others take arguments of their own (for example, -project project_path).

Note:

Enter the command aerender -help to show usage information.

The version and build number of the application are written to standard output (stdout).

The render may be performed either by an already running instance of After Effects or by a newly started instance. By default, aerender starts a new instance of After Effects, even if one is already running. To instead use the currently running instance, use the –reuse argument.

This example command tells After Effects to render frames 1 through 10 of Composition_1 in project_1.aep to a numbered sequence of Photoshop files using a multi-computer render:

aerender -project c:\projects\project_1.aep -comp "Composition_1" -s 1 -e 10 
-RStemplate "Multi-Machine Settings" -OMtemplate "Multi-Machine Sequence" 
-output c:\output\project_1\frames[####].psd

To render just Composition_1 to a specified file, enter this command:

aerender -project c:\projects\project_1.aep -comp "Composition_1" -output c :\output\project_1\project_1.avi

To render everything in the render queue with current settings in the project file, enter this command:

aerender -project c:\projects\project_1.aep

Argument

Description

–help

Print usage message.

–version

Display the version number of aerender to the console. Does not render.

–v verbose_flag

verbose_flag specifies the kind of messages reported:

ERRORS : Reports only fatal and problem errors.

ERRORS_AND_PROGRESS : (default) Reports errors and progress of rendering.

–reuse

Reuse the currently running instance of After Effects (if found) to perform the render. When an already running instance is used, aerender saves preferences to disk when rendering has completed, but does not quit After Effects. If this argument is not used, aerender starts a new instance of After Effects, even if one is already running. It quits that instance when rendering has completed, and does not save preferences.

–mem_usage image_cache_percentmax_mem_percent

image_cache_percent specifies the maximum percentage of memory used to cache already rendered images and footage. max_mem_percent specifies the total percentage of memory that After Effects can use. For both values, if installed RAM is less than a given amount (n gigabytes), the value is a percentage of the installed RAM, and is otherwise a percentage of n. The value of n is 2 GB for 32-bit Windows, 4 GB for 64-bit Windows, and 3.5 GB for Mac OS.

–project project_path

project_path is a file path or URI specifying a project file to open. If this argument is not used, aerender works with the currently open project. If no project is specified and no project is open, the result is an error.

–comp comp_name

comp_name specifies a composition to render. If the composition is in the render queue already, then the first instance of that composition in the render queue is rendered. If the composition is in the project but not in the render queue, then it is added to the render queue and rendered. If this argument is not used, aerender renders the entire render queue; in this case, only the –project, –log, –output, –v, –mem_usage, and –close arguments are used, and all other arguments are ignored.

–s start_frame

start_frame is the first frame to render. If this argument is not used, aerender uses the start frame in the file.

–e end_frame

end_frame is the last frame to render. If this argument is not provided, aerender uses the end frame in the file.

–i increment

increment is the number of frames to advance before rendering a new frame. A value of 1 (the default) causes normal rendering of all frames. Higher values render a frame and use it increment times in output, and then skip ahead increment frames to begin the cycle again. Higher values result in faster renders but choppier motion.

–OMtemplate output_module_template

output_module_template is the name of a template to apply to the output module. If the template does not exist, using this argument causes an error. If this argument is not used, aerender uses the template already defined for the output module.

–RStemplate render_sett ings_template

render_settings_template is the name of a template to apply to the render item. If the template does not exist, using this argument causes an error. If this argument is not used, aerender uses the render template already defined for the item.

–output output_path

output_path is a file path or URI specifying the destination for the final output file. If this argument is not used, aerender uses the path defined in the project file.

–log log_file_path

log_file_path is a file path or URI specifying the location of the log file. If this argument is not used, aerender uses standard output (stdout).

–sound sound_flag

If sound_flag is ON, a sound is played when rendering is complete. Default is OFF.

–close close_flag

close_flag specifies whether or not to close the project when rendering is complete, and whether or not to save changes:

DO_NOT_SAVE_CHANGES : (default) The project is closed without saving changes.

SAVE_CHANGES : The project is closed and changes are saved.

DO_NOT_CLOSE : The project is left open if using an already-running instance of After Effects. (New instances of After Effects must always quit when done.)

-rqindex index_in_render_queue

-rqindex works just like -comp, except that it won’t create a render item from the composition automatically.

-mp

Additional processes may be created to render multiple frames simultaneously, depending on system configuration and preference settings. (See Memory & Multiprocessing preferences.)

-continueOnMissingFootage

The render operation continues even if a source footage item is missing.

Lloyd Alvarez provides a script on his After Effects Scripts website that takes items that are ready to render in the render queue and sends them to render in the background using aerender.

Network rendering with watch folders and render engines

You can render one or more compositions from a project using multiple computers over a network in a fraction of the time that a single computer would require. Network rendering involves copying the project and source files to a networked folder, and then rendering the project. (A network of computers used together to render a single composition is sometimes called a render farm.) You can set this up to work with render-only versions of After Effects called render engines.

You install render engines in the same manner as the full version of the application. You run the render engine using the Adobe After Effects Render Engine shortcut in the Adobe After Effects CC folder. (See Setup and installation.)

After Effects CS5.5 had to be serialized on render-only machines (e.g., in a render farm) due to licensing issues. In After Effects CS6 and later, you can now run aerender or use Watch Folder in a non-royalty bearing mode, so serialization not required.

To enable non-royalty bearing mode, place a blank file named ae_render_only_node.txt into one of the following locations, depending on the user account type:��

  1. Install After Effects on the render-only machine.

  2. Place a blank file named ae_render_only_node.txt into one of the following locations, depending on the user account type:

    • Mac locations:

      /Users/<username>/Documents/

      /Users/Shared/Adobe/

    • Windows locations:

      C:\Users\<username>\Documents

      C:\Users\Public\Documents\Adobe

You cannot use a watch folder and multiple render engines to simultaneously render a single movie file. However, you can use multiple render engines to render a movie as a sequence of still-image files. You can then use a post-render action to create a single movie file from that still-image sequence. (See Post-render actions.)

When you have multiple render engines on multiple computers monitoring a watch folder, they cooperate to achieve optimal efficiency. If your queued render items are set to Skip Existing Files (a Render Settings option), the render engines all work on a single render item at once—no render engine renders any frame another render engine has already worked on. If this option is not selected, each render engine handles a render item itself.

Network rendering setup
Computer with full version of After Effects (A) saves a project and all source files to a folder (B) on a server. Computers with the render engine installed (C) open the project and render a still-frame sequence to a designated output folder (D) on the server.

Network considerations

When working with multiple render engines on multiple computers, keep in mind the following guidelines:

  • When possible, identify folders using absolute file paths so that the paths are correctly identified for all render engines. Identifying folders using absolute file paths may mean mapping network drives to a particular drive letter on all computers (for example, H:\renders\watch\). Avoid using relative paths (for example, \\renders\watch).

  • Each Macintosh computer monitoring the watch folder must have a unique name. Because the default names of computers are often identical, you should rename your computers to not use the default name.

  • Make sure that all servers and clients (computers monitoring the watch folder) have hard drives with unique names.

  • Do not use the same computer to serve a watch folder and to run After Effects in Watch Folder mode. Use a dedicated server that’s accessible to all render engines to serve your watch folder.

  • Do not render to or initiate Watch Folder mode on the root of a volume or a shared folder that appears as the root when viewed from another computer. Specify a subfolder instead. Also, avoid using high-ASCII or other extended characters and slashes in filenames. For multiple-computer rendering, After Effects includes the Multi-Machine sample template that you can use as a starting point.

Note:

When rendering across a network that includes volumes using different network or operating systems, such as Windows, Mac OS, Novell, and UNIX, make sure that you specify output files using a file-naming convention that’s compatible with all rendering or destination volumes.

Project considerations

Make sure that you install all fonts, effects, and encoders (compressors) used in the project on all computers monitoring the watch folder. If a computer monitoring the watch folder can’t find fonts, effects, or encoders used in a project, the render fails.

When you install an After Effects render engine on a computer, it contains all the plug-ins included with After Effects. If a composition uses a plug-in from another manufacturer, the plug-in must be present on all computers that will render the composition. However, support for network rendering varies among plug-in manufacturers. Before you set up a network to render effects created by third-party plug-ins, see the documentation for your plug-ins or contact the plug-in manufacturers and get answers to the following questions:

  • Does the license agreement for the plug-in allow installing multiple copies on a network for the purposes of rendering?

  • Are there any other limitations or tips that apply to using the plug-in for network rendering?

Collect Files folder considerations

When you use the File > Collect Files command, files relevant to a project are copied to a single folder. This folder includes a copy of the project file, a render control file (RCF), and other files, depending on the options you choose in the Collect Files dialog box. If you save the Collect Files folder to a networked computer other than a server, don’t run a render engine on that computer. Avoid saving the Collect Files folder to a local disk, the root level of a disk (such as C: in Windows or the Macintosh HD in Mac OS), or a shared folder, all of which can signify different locations to each render engine. All render engines must interpret the path in the same way.

Note:

Once the collected files appear in the watch folder, all monitoring render engines start rendering automatically. If you prefer, you can use the Collect Files command to store compositions and their source footage to a specified location and then initiate the watch-folder rendering process later. Doing so renders the projects in alphabetical order, rather than the order in which they were saved to the location.

Track dependencies of a watch-folder render

You can track render dependencies when you render over a network by setting Post-Render Action options. When you set these options, After Effects confirms that all of the items that it needs to render are ready and available. For example, if one item depends on another to render, and the first has not finished rendering or has received an error, the second does not render.

You can use this process to render a single QuickTime or AVI movie from a watch-folder render. The movie is actually created on only one computer.

Note:

This procedure assumes that you have already created a multiple-computer watch-folder.

  1. In the Render Queue panel, drag the output module to the Project panel. After Effects creates a placeholder for that item’s output.
  2. Drag the placeholder back to the Render Queue panel.
  3. Set the render settings and output module settings for the placeholder, and click Render.

Start in watch-folder mode

Watch-folder mode applies only to rendering from a folder on your local computer.

  • To start After Effects in watch-folder mode automatically, save a project with the filename Watch This Folder.aep. After Effects watches the folder containing the project if you open that project.
  • To start After Effects in watch-folder mode when you start your computer, create a shortcut (Windows) or alias (Mac OS) to the Watch This Folder.aep project and move it to your Startup folder (Windows) or your Startup Items folder (Mac OS). After Effects watches the folder containing the project if you open that project.
  • (Windows only) To start After Effects in watch-folder mode from the command line, choose Start > Run, and then enter the following, modifying the application path to the exact name of the folder in which you installed After Effects, and replacing C:\[temp] with the path to your watch folder: "C:\Program Files\Adobe\Adobe After Effects CC\Support Files\afterfx.exe" -wf C:\[temp]

Note:

To start the After Effects render engine rather than the full version of After Effects, use the -re option with the command.

Note:

You can also use this command line in batch files.

Render a still-image sequence with multiple computers

You can use multiple computers and multiple copies of After Effects to render a composition across a network. You can use multiple computers to render only still-image sequences; you cannot use multiple computers to render a single movie.

When you render a still-image sequence with multiple computers, rendering in each copy of After Effects starts at approximately the same time. By specifying that each copy skip existing frames or frames in progress, multiple computers can render the project simultaneously, writing the still-image sequence to a single folder.

You can use any number of computers for rendering; in general, the more computers, the faster the rendering. However, if too many computers are used across a busy network, network traffic may slow down the entire process. You can detect network slowdown by observing the time spent in the Compressing & Writing stage in the Current Render section of the Render Queue panel.

Note:

Adobe does not provide technical support for general network configuration; consult your network administrator.

Aharon Rabinowitz provides a video tutorial on the Creative COW website that goes through and explains the steps for rendering a still-image sequence with multiple computers.

  1. Install After Effects on each computer that will be used to render the project. Make sure that you have the same fonts installed on each computer.

    Note:

    Do not share plug-ins across a network. Make sure that you have a copy of the plug-ins folder on each computer that is running After Effects. When using third-party plug-ins, also be sure that the same plug-ins are available on all computers and that you have sufficient licenses for the plug-ins.

  2. Open the project on one computer, select the composition, and then choose Composition > Add To Render Queue.
  3. Specify a sequence format in the Output Module area, and specify a folder in the Output To area. This folder must be available for all the computers that are rendering.
  4. In the Render Queue panel, select Skip Existing Files in the Render Settings section so that multiple computers do not render the same frames. Do not use multiple output modules for one render item when using Skip Existing Files.
  5. Save the project on the computer where you opened it in step 2.
  6. On each computer that will be rendering, open and save the project. Saving the project ensures that After Effects records the new relative paths to each computer in the following step.
  7. Unless the network can handle large file transfers rapidly, copy the project file and all its source footage to each rendering computer.
  8. Open the Render Queue panel on each computer and click Render. You do not need to start rendering on each computer simultaneously, but to ensure equal workloads, start them at approximately the same time. As each computer finishes rendering a frame, After Effects searches the Output folder for the next unrendered frame and starts rendering again.
  9. You can stop and start any computer at any time. However, if you stop a computer without starting it again, the frame that it was rendering may not be finished. If one or more computers stop during rendering, starting any one computer ensures that all frames in the sequence get rendered.

Segment settings

Segment settings are in the Output preferences category.

Note:

Choose Edit > Preferences > Output (Windows) or After Effects > Preferences > Output (Mac OS).

After Effects can render sequences and movie files into segments that are limited to a specified number of files or by file size. This is useful when preparing a movie for a medium such as CD-ROM, for which file or folder size may need to be limited to chunks of 650 MB or less. Use the Segment Video-only Movie Files At value to set the maximum size for segments in megabytes. Use the Segment Sequences At value to set the maximum number of still-image files in a folder.

If you are exporting a movie that is larger than the maximum file size for your hard disk formatting scheme, then you can set the Segment Video-only Movie Files At value to a value under this maximum. Hard disks formatted for Windows can be formatted using the FAT, FAT32, or NTFS scheme. The maximum file size in the FAT scheme is 2 GB, and the maximum file size in the FAT32 scheme is 4 GB. The maximum size for a file for NTFS is very large (approximately 16 terabytes), so you are unlikely to reach this limit with a single movie.

Only movies that do not contain audio can be segmented. If an output module includes audio, the Segment Video-only Movie Files At preference is ignored for that item.

The Segment Sequences At preference is ignored for any render item for which Skip Existing Files is selected in the render settings. (See Render settings reference.)

Note:

After Effects won’t render and export a segmented movie to the root directory (e.g., C:\). To render and export a segmented movie, choose an output directory other than the root directory. (See Specify filenames and locations for rendered output.)

This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License  Twitter™ and Facebook posts are not covered under the terms of Creative Commons.

Legal Notices   |   Online Privacy Policy