Overview - Video on Demand on AWS Foundation


Amazon Web Services (AWS) enables broadcasters and content owners to automate media supply chains, streamline content distribution, and deliver media content to a global audience. With AWS, you can seamlessly scale your infrastructure to meet demand, and pay only for what you use, helping you build highly available and cost-effective solutions for video-on-demand workflows.

AWS offers its customers several methods to cost-effectively deliver video content to a global audience in the AWS Cloud. Using these methods, you can dynamically scale any combination of video processing, delivery, and storage services. AWS Elemental MediaConvert transcodes media files from their source format into versions that will playback on devices like smartphones, tablets, and PCs; and Amazon CloudFront accelerates delivery of your video content to end users. You can leverage these AWS services to build a highly available, resilient architectures that ingest, store, process, and deliver video content on demand.

Video on Demand on AWS Foundation is a reference implementation that automatically provisions the AWS services necessary to build a scalable, distributed video-on-demand workflow. This solution combines Amazon Simple Storage Service (Amazon S3), a highly-scalable, reliable, and low-latency object store, MediaConvert for production grade transcoding, and Amazon CloudFront for global distribution. This solution also leverages AWS Lambda, a service that allows you to run code without provisioning or managing servers, and Amazon CloudWatch to track encoding jobs in MediaConvert, and Amazon Simple Notification Service (Amazon SNS) to send notifications for completed jobs.

This solution is designed to help you quickly begin encoding video files with MediaConvert. Out of the box, this solution provides a sample MediaConvert job settings JSON file, which is used to transcode videos uploaded to an Amazon S3 bucket. You can customize the architecture to meet your specific needs. For more information, refer to Customization.

If you are looking to build out more complex workflows with options around ingest processing and publishing video content, AWS also offers the Video on Demand on AWS solution.


You are responsible for the cost of the AWS services used while running this solution. The total cost for running this solution depends on the size of your videos, the number of outputs created, and the number of views the published content receives through CloudFront. The majority of the cost will come from MediaConvert. For more information about MediaConvert pricing, refer to  AWS Elemental MediaConvert Pricing. Prices are subject to change. For full details, refer to the pricing webpage for each AWS service you will be using in this solution.

Example cost for a 60-minute source video

With the solution deployed in the US East (N. Virginia) Region and using the default encoding settings to process a 60-minute source video, it will cost approximately $11.82. This estimate is based on the pricing available at the time of publishing this solution and may vary depending on the source video size and format.

The video outputs in this example use the following MediaConvert settings: AVC codec, 1 pass quality, 30 fps, with the DeInterlacer enabled.

Professional tier costs for the MediaConvert settings used in this example:

Output Cost
SD resolution $0.012/min
HD resolution $0.024/min
Audio only $0.005/min


a. File group: 1 HD with captions

b. HLS profile: 2 HD and 3 SD with captions

c. DASH profile: 2 HD and 3 SD with captions

d. 1 audio only output for the DASH profile

Calculations for each output:

a. (1 x 60 x $0.024) = $1.44

b. (2 x 60 x $0.024) + (3 x 60 x $0.012) = $5.04

c. (2 x 60 x $0.024) + (3 x 60 x $0.012) = $5.04

d. (1 x 60 x $0.005) = $0.30

Total cost = $11.82 ($1.44 + $5.04 + $5.04 + $0.30)

The costs for CloudFront and Amazon S3 storage will vary depending on the number and format of outputs created and the number of requests to view the content delivered through CloudFront.