After Effects

Job Submission

You can submit jobs from within After Effects by installing the integrated submission script, or you can submit them from the Monitor. The instructions for installing the integrated submission script can be found further down this page.

To submit from within After Effects, select File -> Run Script -> DeadlineAfterEffectsClient.jsx.

integrated monitor

Project Configuration

In After Effects, place the comps you want to render in the Render Queue (CTRL+ALT+0). Due to an issue with the Render Queue, if you have more than one comp with the same name, only the settings from the first one will be used (whether they are checked or not). It is important that all comps in the Render Queue have unique names, and our submission script will notify you if they do not. Each comp that is in the Render Queue and that has a check mark next to it will be submitted as separate job to Deadline.

../_images/ae_render_queue.png

Note that under the comp’s Output Module settings, the Use Comp Frame Number check box must be checked. If this is not done, every frame in the submitted comp will try to write to the same file.

../_images/ae_module_settings.png

Submission Options

The general Deadline options are explained in the Job Submission documentation, and the Draft/Integration options are explained in the Draft and Integration documentation. Note that the Draft/Integration options are only available in After Effects CS4 and later.

The After Effects specific options are:

  • Use Comp Name As Job Name: If enabled, the job’s name will be the Comp name.
  • Use Frame List From The Comp: Check this option to use the frame range defined for the comp.
  • Comps Are Dependent On Previous Comps: If enabled, the job for each comp in the render queue will be dependent on the job for the comp ahead of it. This is useful if a comp in the render queue uses footage rendered by a comp ahead of it.
  • Render The First And Last Frames Of The First: Enable this option to render the first and last frames first, followed by the the remaining frames in the comp’s frame list. Note that this ignores the Frame List setting in the submission dialog.
  • Submit The Entire Render Queue As One Job With A Single Task: Use this option when the entire render queue needs to be rendered all at once because some queue items are dependent on others or use proxies. Note though that only one machine will be able to work on this job.
  • Multi-Process Rendering: Enable multi-process rendering.
  • Submit Project File With Job: If enabled, the After Effects Project File will be submitted with the job.
  • Ignore Missing Layer Dependencies: If enabled, Deadline will ignore errors due to missing layer dependencies.
  • Fail On Warning Messages: If enabled, Deadline will fail the job whenever After Effects prints out a warning message.
  • Export XML Project File: Enable to export the project file as an XML file for Deadline to render (After Effects CS4 and later). The original project file will be restored after submission. If the current project file is already an XML file, this will do nothing.
  • Ignore Missing Effects References: If enabled, Deadline will ignore errors due to missing effect references.
  • Continue On Missing Footage: If enabled, rendering will not stop when missing footage is detected.
  • Enable Local Rendering: If enabled, Deadline will render the frames locally before copying them over to the final network location.
  • Override Fail On Existing AE Process: If enabled, the global repository setting “Fail on Existing AE Process” will be overridden.
  • Fail on Existing AE Process: If enabled, the job will be failed if any After Effects instances are currently running on the slave. Existing After Effects instances can sometimes cause 3rd party AE plugins to malfunction during network rendering.

The following After Effects specific options are only available in After Effects CS4 and later:

  • Multi-Machine Rendering: This mode submits a special job where each task represents the full frame range. The slaves will all work on the same frame range, but if “Skip existing frames” is enabled for the comps, they will skip frames that other slaves are already rendering.

    • This mode requires “Skip existing frames” to be enabled for each comp in the Render Queue.
    • Set the number of tasks to be the number of slaves you want working simultaneously on the render.
    • This mode ignores the Frame List, Machine Limit, and Frames Per Task settings.
    • This mode does not support Local Rendering or Output File Checking.
  • Minimum Output File Size: If an output image’s file size is less than what’s specified, the task is requeued (specify 0 for no limit).

  • Enable Memory Management: Whether or not to use the memory management options.

  • Image Cache %: The maximum amount of memory after effects will use to cache frames.

  • Max Memory %: The maximum amount of memory After Effects can use overall.

Layer Submission

In addition to normal job submission, you also have the option to submit layers in your After Effects project as separate jobs. To do so, first select the layers you want to submit. Then run the submission script, set the submission options mentioned above as usual, and press the Submit Selected Layers button. This will bring up the layers window.

../_images/ae_submit_layers.png

The layer submission options are:

  • Render With Unselected Layers: Specify the unselected layers that will render with each of the selected layers.
  • Layer Name Parsing: Allows you to specify how the layer names should be formatted. You can then grab parts of the formatting and stick them in either the output name or the subfolder format box with square brackets. So, for example, if you’re naming your layers something like “ops024_a_diff”, you could put “<graphic>_<layer>_<pass>” in this box. Then in the subfoler box, you could put “[graphic]\[layer]\v001\[pass]”, which would give you “ops024\a\v001\diff” as the subfolder structure.
  • Render Settings: Which render settings to use.
  • Output Module: Which output module to use.
  • Output Format: How the output file name should be formatted.
  • Output Folder: Where the output files should be rendered to.
  • Use Subfolders: Enable this to render each layer to its own subfolder. If this is enabled, you must also specify the subfolder format.

Cross-Platform Rendering Considerations

In order to perform cross-platform rendering with After Effects, you must setup Mapped Paths so that Deadline can swap out the Project and Output file paths where appropriate. You can access the Mapped Paths Setup in the Monitor while in super user mode by selecting Tools -> Configure Repository. You’ll find the Mapped Paths Setup in the list on the left.

You then have two options on how to set up your After Effects project file. The traditional way is to ensure that your After Effects project file is on a network shared location, and that any footage or assets that the project uses is in the same folder or in sub-folders. Then when you submit the job, you must make sure that the option to submit the project file with the job is disabled. If you leave it enabled, the project file will be copied to and loaded from the Slave’s local machine, and thus won’t be able to find the footage.

You also have the option to save your After Effects project as an AEPX file, which is just an XML file. Deadline will automatically detect that an AEPX file has been submitted, and will swap out paths within the file itself (because it is just plain text). This way, you don’t have to worry about setting up the project structure described in the first option. Note though that all the asset paths still need to be network accessible.

Plug-in Configuration

You can configure the After Effects plug-in settings from the Monitor. While in super user mode, select Tools -> Configure Plugins and select the After Effects plug-in from the list on the left.

../_images/cp_ae.png

Render Executables

  • After Effects Executable: The path to the After Effects aerender executable file used for rendering. Enter alternative paths on separate lines. Different executable paths can be configured for each version installed on your render nodes.

Render Options

  • Fail On Existing After Effects Process: Prevent Deadline from rendering when After Effects is already open.
  • Force Rendering In English: You can configure the After Effects plug-in to force After Effects to render in English. This is useful if you are rendering with a non-English version of After Effects, because it ensures that Deadline’s progress gathering and error checking function properly (since they are currently based on English output from the After Effects renderer).

Font Folder Synchronization

The new FontSync event plugin that ships with Deadline v7.1 can be used to synchronize fonts on Mac OS X and Windows before the Slave application starts rendering any job, or when the Slave first starts up. This general FontSync Python based event plugin replaces the font synchronization options here in the After Effects plugin and now works for ALL plugin types in Deadline. This FontSync event plugin is located at <Repository>/events/FontSync

Path Mapping For aepx Project Files (For Mixed Farms)

  • Enable Path Mapping For aepx Files: If enabled, a temporary aepx file will be created locally on the slave for rendering and Deadline will do path mapping directly in the aepx file.

Integrated Submission Script Setup

The following procedures describe how to install the integrated After Effects submission script. This script allows for submitting After Effects render jobs to Deadline directly from within the After Effects editing GUI. The script and the following installation procedure has been tested with with After Effects CS3 and later.

You can either run the Submitter installer or manually install the submission script

Submitter Installer

Manual Installation of the Submission Script

  • Copy [Repository]\submission\AfterEffects\Client\DeadlineAfterEffectsClient.jsx to [After Effects Install Directory]\Support Files\Scripts
  • After starting up After Effects, make sure that under Edit -> Preferences -> General, the Allow Scripts to Write Files and Access Network option is enabled. This is necessary so that the submission script can create the necessary files to submit to Deadline.
../_images/ae_allow_scripts.png

Custom Sanity Check

A CustomSanityChecks.jsx file can be created alongside the main SubmitAEToDeadline.jsx submission script (in [Repository]\submission\AfterEffects\Main), and will be evaluated if it exists. This script will let you set any of the initial properties in the submission script prior to displaying the submission window. You can also use it to run your own checks and display errors or warnings to the user. Here is a very simple example of what this script could look like:

{
    initDepartment = "The Best Department";
    initPriority = 33;
    initConcurrentTasks = 2;

    alert( "You are in a custom sanity check!" );
}

FAQ

Which versions of After Effects are supported?

After Effects CS3 and later are supported.

Why is there no Advanced tab in the integrated submission script for After Effects CS3?

Tabs are only supported in CS4 and later, so the Advanced tab and its options are not available in CS3 and earlier.

Does network rendering with After Effects require a full After Effects license?

In After Effects CS5.0 and earlier, a license is not required. In After Effects CS5.5, a full license is required. In After Effects CS6.0 and later, a license isn’t required if you enable “non-royalty-bearing” mode.

Rendering through Deadline seems to take longer than rendering through After Effects locally.

After Effects needs to be restarted at the beginning of each frame, and this loading time results in the render taking longer than expected. If you know ahead of time that your frames will render quickly, it is recommended to submit your frames in groups of 5 or 10. This way, After Effects will only load at the beginning of each group of frames, instead of at the beginning of every frame.

When rendering a job, only the images from the first task are saved, and subsequent tasks just seem to overwrite those initial image files.

In the comp’s Output Module Settings, make sure that the “Use Comp Frame Number” checkbox is checked. Check out step 1 here for complete details.

I get the error that the specified comp cannot be found when rendering, but it is in the render queue.

This can occur for a number of reasons, most of which are related to the name of the comp. Examples are names with two spaces next to each other, or names with apostrophes in them. Try using only alphanumeric characters and underscores in comp names and output paths to see if that resolves the issue.

Why do the comps in the After Effects Render Queue require unique names?

Due to an issue with the Render Queue, if you have more than one comp with the same name, only the settings from the first one will be used (whether they are checked or not). It is important that all comps in the Render Queue have unique names, and our submission script will notify you if they do not.

Understanding the different After Effects command line flags.

Adobe have a web page, Automated Rendering which explains the different network render command line options and how they work. Deadline currently supports as many of these options as possible.

How can I optimize After Effects for high performance?

Adobe provide an excellent web page, Memory and Storage documenting different areas of After Effects and what can be done by users to improve performance, particularly in the areas of disk storage/caching & RAM.

Error Messages and Meanings

This is a collection of known After Effects error messages and their meanings, as well as possible solutions. We want to keep this list as up to date as possible, so if you run into an error message that isn’t listed here, please email Deadline Support and let us know.

What does this After Effects error code mean?

A great resource describing a very large number of After Effects error codes, their meanings and possible solutions can be found on the Mylenium Errors website. If this site helps you, please do consider donating to keep the site going!

Exception during render: Renderer returned non-zero error code, -1073741819

The error code -1073741819 is equivalent to 0xC0000005, which represents a Memory Access Violation error. So After Effects is either running out of memory, or memory has become corrupt. If you find that your frames are still being rendered, you can modify the After Effects plugin to ignore this error. Just add the following function to the AfterEffectsPlugin class in AfterEffects.py, which can be found in [Repository]/plugins/AfterEffects.

def CheckExitCode( self, exitCode ):
    if exitCode != 0:
        if exitCode == -1073741819:
            LogInfo( "Ignoring exit code -1073741819" )
        else:
            FailRender( "Renderer returned non-zero error code %d." % exitCode )

You can find another example of the CheckExitCode function in MayaCmd.py, which can be found in [Repository]/plugins/MayaCmd.

aerender ERROR: No comp was found with the given name.

This can occur for a number of reasons, most of which are related to the name of the comp. Examples are names with to spaces next to each other, or names with apostrophes in them. Try using only alphanumeric characters and underscores in comp names and output paths to see if that resolves the issue.
Exception during render: Renderer returned non-zero error code, 1
aerender ERROR: An existing connection was forcibly closed by the remote host. Unable to receive at line 287
aerender ERROR: After Effects can not render for aerender. Another instance of aerender, or another script, may be running; or, AE may be waiting for response from a modal dialog, or for a render to complete. Try running aerender without the -reuse flag to invoke a separate instance of After Effects.

It is unknown what the exact cause of this error is, but it is likely that After Effects is simply crashing or running out of memory. If you are rendering with Concurrent Tasks set to a value greater than 1, try reducing the number and see if that helps.

The Knoll Light Factory plugin has also been known to cause this error message when it can’t get a license.