What does this AWS Solution do?

Video on Demand on AWS automatically provisions the AWS services necessary to build a scalable, distributed video-on-demand workflow. The video-on-demand solution ingests metadata files and source videos, processes the videos for playback on a wide range of devices, stores the transcoded media files, and delivers the videos to end users through Amazon CloudFront.

Version 5.0 of the solution adds AWS Elemental MediaPackage functionality, and uses the most up-to-date Node.js runtime. Version 4.2 uses the Node.js 8.10 runtime, which reaches end-of-life on December 31, 2019. To upgrade to version 5.0, you must deploy the solution as a new stack.  For customers who do not want to use the new functionality, you can update your existing stack to version 4.3. Version 4.3 keeps the same functionality as version 4.2 but uses the most up-to-date runtimes. For more information, see the deployment guide.  

AWS Solution overview

AWS offers a solution that ingests source videos, processes the videos for playback on a wide range of devices, and stores the transcoded media files for on-demand delivery to end users through Amazon CloudFront. The diagram below presents the video-on-demand architecture you can deploy in minutes using the solution's implementation guide and accompanying AWS CloudFormation template.

 Click to enlarge

Video on Demand on AWS solution architecture

This solution uses AWS Lambda to trigger AWS Step Functions for ingest, processing, and publishing workflows.

A Step Functions workflow ingests a source video, or a source video and metadata file, validates the source files, and generates metadata on the source video. A second Step Functions workflow generates an encoding profile based on the metadata and submits encoding jobs to AWS Elemental MediaConvert. After the video is encoded, a third Step Functions workflow validates the output.

AWS Elemental MediaConvert use two-pass encoding to generate multiple high-quality versions of the original file. Source and destination media files are stored in Amazon Simple Storage Service (Amazon S3) and file metadata is stored in Amazon DynamoDB. If enabled, source files are tagged to allow the files to be moved to Amazon Glacier using an Amazon S3 lifecycle policy.

The solution also includes the option to use AWS Elemental MediaPackage as part of the workflow.  When enabled, the solution creates a separate set of MediaConvert custom templates, and a packaging group in MediaPackage that is configured to ingest the MediaConvert HLS output stored in Amazon S3. MediaPackage packages the content, formatting it in response to playback requests from downstream devices. By default, this solution creates packaging configurations for HLS, DASH, MSS, and CMAF.

Video on Demand on AWS

Version 5.0
Last updated: 11/2019
Author: AWS

Estimated deployment time: 20 min

Use the button below to subscribe to solution updates.

Note: To subscribe to RSS updates, you must have an RSS plug-in enabled for the browser you are using.  


Video on Demand on AWS reference implementation

Leverage Video on Demand on AWS as a reference implementation to automatically provision the AWS services necessary to build a scalable, distributed video-on-demand workflow.


This solution leverages AWS Step Functions, which breaks the workflow into individual steps, making it easier to customize or extend the architecture for your specific video-on-demand needs.
Explore all AWS Solutions

Browse our portfolio of AWS-built solutions to common architectural problems.

Learn more 
Find a Partner

Find AWS certified consulting and technology partners to help you get started.

Learn more 
Start building in the console

Sign-up and start exploring our services.

Get started