A highly parallized AWS serverless video processing platform. It utilizes FFMPEG for video processing. Resizing a 4K h264 video with a length of 44 minutes and a size of 1.9 GB tooks around 49 seconds.
The infrastructure design utilizes video splitting at keyframes, which makes the chunk creation very efficient. Each chunk is processed in parallel. After chunk processing is done, all chunks are reduced to a single video.
Additionally label detection using AWS Rekognition allows to find a suitable thumbnail for the video.
The whole processed is invoked by putting an object into the s3 bucket after creating a job using the REST API.
This project utilizes the Java AWS CDK, a framework
for defining cloud infrastructure in Java code and provisioning it
through AWS CloudFormation.
The cdk.json
file tells the CDK Toolkit how to execute the application.