What solutions are available for processing video-on-demand content on AWS?
Amazon Web Services (AWS) provides two media solutions to cost-effectively deliver video-on-demand (VOD) content to global audiences using the AWS Cloud. The Video on Demand on AWS solution, and the Video on Demand on AWS Foundation solution both provision the AWS services required to build scalable, distributed VOD processing and delivery workflows. This page provides guidance to choose the streaming solution that best fits your needs.
Out of the box, this solution helps you to accomplish the following:
- Automatically transcode videos uploaded to S3 into formats suitable for playback on a wide range of devices.
- Customize MediaConvert job settings by uploading your own file and using different job settings for different inputs.
- Store transcoded files in a destination bucket and use Amazon CloudFront to deliver to end viewers.
In addition to the transcoded video, the outputs include input file metadata, job settings, and output details. These outputs are stored in a separate JSON file that can be used for further processing.
This solution provides the following features:
- Amazon Step Functions orchestration of the ingest, transcoding (including pre-and post-processing steps), and publishing steps of the workflow.
- Choice of video file or metadata file trigger.
- Delivery of videos to viewers with Amazon CloudFront, formatted for playback on a wide range of devices.
- Input file metadata, job settings, and output details storage in a DynamoDB table for easy access by downstream consumers.
- Optional automated archive of video inputs to help reduce storage costs.
With this solution, you can also choose to use AWS Elemental MediaPackage for packaging content into different formats and to apply digital rights management (DRM). MediaPackage can reduce storage costs for the outputs; however, there is a trade-off between packaging costs and storage costs.
-
Video on Demand on AWS Foundation
-
Video on Demand on AWS
-
Video on Demand on AWS Foundation
-
Video on Demand on AWS Foundation Solutions Implementation overview
The diagram below presents the serverless architecture you can automatically deploy using the solution's implementation guide and accompanying AWS CloudFormation template.Video on Demand on AWS Foundation Solutions Implementation architecture
The AWS CloudFormation template deploys the following infrastructure:
- An Amazon Simple Storage Service (Amazon S3) bucket to store source video files. A sample job settings file, used to define the encoding settings for MediaConvert, is uploaded to the source S3 bucket.
- An AWS Lambda function to create the encoding jobs in AWS Elemental MediaConvert.
- MediaConvert transcodes the video into HLS Adaptive Bitrate files.
- Amazon CloudWatch tracks encoding jobs in MediaConvert and invokes the Lambda job complete function.
- A Lambda job complete function to process the outputs.
- An Amazon Simple Notification Service (Amazon SNS) topic to send notifications of completed jobs.
- A destination S3 bucket to store the outputs from MediaConvert.
- Amazon CloudFront is configured with the destination S3 bucket as the origin for global distribution of the transcoded video content.
Video on Demand on AWS Foundation
Version 1.1.0
Last updated: 07/2021
Author: AWS
Estimated deployment time: 10 min
Deployment resources
Download implementation guideUse the button below to subscribe to solution updates.Note: To subscribe to RSS updates, you must have an RSS plug-in activated for the browser you are using.
- An Amazon Simple Storage Service (Amazon S3) bucket to store source video files. A sample job settings file, used to define the encoding settings for MediaConvert, is uploaded to the source S3 bucket.
-
Video on Demand on AWS
-
Video on Demand on AWS Solutions Implementation overview
The diagram below presents the serverless architecture you can automatically deploy using the solution's implementation guide and accompanying AWS CloudFormation template.Video on Demand on AWS Solutions Implementation architecture
The AWS CloudFormation template deploys the following architecture:
1. An Amazon Simple Storage Service (Amazon S3) bucket for source media files. Content is eventually stored in Amazon S3 Glacier.
2. AWS Step Functions, which creates ingest, processing, and publishing step functions.
3. AWS Elemental MediaConvert to transcode media files from their source format.
4. AWS Lambda functions that perform the work of each step, and process error messages.
5. An Amazon DynamoDB table stores data captured through the workflow.
6. Amazon CloudWatch for logging and Amazon CloudWatch Events rules for AWS Elemental MediaConvert notifications.
7. Amazon Simple Notification Service (Amazon SNS) topics to send encoding, publishing, and error notifications.
8. AWS Elemental MediaPackage (optional) to create video streams formatted to play on several devices from a single video input.
9. An Amazon S3 bucket for storing destination media files.
10. An Amazon CloudFront distribution to deliver your video content to end users.
11. An Amazon Simple Queue Service (Amazon SQS) queue to capture the workflow outputs.
Video on Demand on AWS
Version 5.3.1
Last updated: 12/2021
Author: AWS
Estimated deployment time: 20 min
Deployment resources
Download implementation guideUse the button below to subscribe to solution updates.Note: To subscribe to RSS updates, you must have an RSS plug-in activated for the browser you are using.
Features
Reference implementation
Customization
Related content

Browse our library of AWS Solutions Implementations to get answers to common architectural problems.

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

Browse our portfolio of Consulting Offers to get AWS-vetted help with solution deployment.