Skip to content

Latest commit

 

History

History
118 lines (80 loc) · 5.99 KB

File metadata and controls

118 lines (80 loc) · 5.99 KB

AWS Deadline Cloud for After Effects

pypi python license

Disclaimer


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.

Compatibility

This library requires:

Submitter:

  1. After Effects 24.3
  2. Python3.9 or higher; and
  3. Windows or a MacOS operating System

Adaptor:

  1. After Effects 24.3
  2. Python3.9 or higher; and
  3. A Windows operating system

Submitter

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.

Adaptor

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,
  • path mapping, that enables cross-platform rendering

Jobs created by the submitter use this adaptor by default.

Getting Started

Adaptor


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

Submitter


Build & Install

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

Submitter Usage

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:

  1. Open an After Effects project.
  2. Once inside the project, navigate to the File Panel at the top.
  3. Under the Scripts sub-menu, select the DeadlineCloudSubmitter.jsx script to start it.

Versioning

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:

  1. The MAJOR version is currently 0, indicating initial development.
  2. The MINOR version is currently incremented when backwards incompatible changes are introduced to the public API.
  3. The PATCH version is currently incremented when bug fixes or backwards compatible changes are introduced to the public API.

Security

See CONTRIBUTING for more information.

Telemetry

See telemetry for more information.

License

This project is licensed under the Apache-2.0 License.