This GitHub repository is an example integration with AWS Deadline Cloud that is intended to only be used for testing and is subject to change. This code is an alpha release. It is not a commercial release and may contain bugs, errors, defects, or harmful components. Accordingly, the code in this repository is provided as-is. Use within a production environment is at your own risk!
Our focus is to explore a variety of software applications to ensure we have good coverage across common workflows. We prioritized making this example available earlier to users rather than being feature complete.
This example has been used by at least one internal or external development team to create a series of jobs that successfully rendered. However, your mileage may vary. If you have questions or issues with this example, please start a discussion or cut an issue.
AWS Deadline Cloud for After Effects is a package that allows users to create AWS Deadline Cloud jobs from within After Effects. Using the Open Job Description (OpenJD) Adaptor Runtime this package also provides a command line application that adapts to After Effects' command line interface to support the OpenJD specification.
This library requires:
Submitter:
- After Effects 24.3
- Python3.9 or higher; and
- Windows or a MacOS operating System
Adaptor:
- After Effects 24.3
- Python3.9 or higher; and
- A Windows operating system
This package provides a JavaScript based After Effects plugin that creates jobs for AWS Deadline Cloud using the AWS Deadline Cloud client library. Based on the loaded project it determines the files required, allows the user to specify render options, and builds an OpenJD template that defines the workflow.
The After Effects Adaptor implements the OpenJD interface that allows render workloads to launch After Effects and feed it commands. This gives the following benefits:
- a standardized render application interface,
- sticky rendering, where the application stays open between tasks,
- See adaptor IPC for more information.
- path mapping, that enables cross-platform rendering
Jobs created by the submitter use this adaptor by default.
The adaptor can be installed by the standard python packaging mechanisms:
$ pip install deadline-cloud-for-after-effects
After installation it can then be used as a command line tool:
$ afterfx-openjd --help
Bundle the JSX and JS files together with the jsxbundler.py
script:
python jsxbundler.py --source src/deadline/ae_submitter/OpenAESubmitter.jsx --destination dist/jsxbundle/DeadlineCloudSubmitter.jsx
This will create a bundle file at dist/jsxbundle/DeadlineCloudSubmitter.jsx
.
Copy the generated bundle file into the scripts location for After Effects.
Alternatively, you can specify the output path for the bundler directly with the --destination
option.
See python jsxbundler.py --help
for details. This may require elevated permissions.
The default scripts location is at <AE_INSTALL_LOCATION>/Support Files/Scripts
. For example, on Windows this would be: C:\Program Files\Adobe\Adobe After Effects 2023\Support Files\Scripts
Before using the script you must configure the following options in After Effects:
Navigate to the Edit
menu > Preferences
> Scripting & Expressions
and enable the following options:
- Allow Scripts to Write Files and Access Network
- Enable JavaScript Debugger (optional, for development)
To run the script:
- Open an After Effects project.
- Once inside the project, navigate to the
File
Panel at the top. - Under the
Scripts
sub-menu, select theDeadlineCloudSubmitter.jsx
script to start it.
This package's version follows Semantic Versioning 2.0, but is still considered to be in its initial development, thus backwards incompatible versions are denoted by minor version bumps. To help illustrate how versions will increment during this initial development stage, they are described below:
- The MAJOR version is currently 0, indicating initial development.
- The MINOR version is currently incremented when backwards incompatible changes are introduced to the public API.
- The PATCH version is currently incremented when bug fixes or backwards compatible changes are introduced to the public API.
See CONTRIBUTING for more information.
See telemetry for more information.
This project is licensed under the Apache-2.0 License.