This project uses the Amazon Web Services (AWS) Cloud Development Kit (CDK) to deploy a serverless pipeline that renders Blender animation projects in the cloud.
This project was inspired by and partly based on this AWS workshop, including the code here. Building on that project, I've made a number of enhancements.
The basic flow of the pipeline is as follows:
- A
.blendor.zipfile for a Blender project is uploaded to the input bucket in Simple Storage Service (S3). - An EventBridge rule triggers a state machine in Step Functions, which executes the following steps:
- A Lambda function extracts the
.zipfile (if required) and writes the project file(s) to Elastic File System (EFS). - A Lambda function analyzes the
.blendfile and determines how many frames need to be rendered. - A Batch job is created and executes container-based tasks in Fargate, each of which renders a single frame and writes it to EFS.
- A single-task Batch job is created to stich the frames together into a movie file, which is uploaded to the output bucket in S3.
- A Lambda function extracts the
