Cost - Video on Demand on AWS Foundation


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 Amazon CloudFront. After encoding all of your videos with this solution, the monthly cost will be for Amazon S3 storage, and any CloudFront costs from streaming your new video content to users.

As of the most recent revision, the estimated cost of running this solution for a 60-minute video with the dimensions listed in the following table, in the US East (N. Virginia) Region is approximately $232.86 per month, per job.

Cost table for a 60-minute source video

AWS service Dimensions Cost per month [USD]
Amazon CloudFront

Using the price of $0.085 per GB for CloudFront. A 60-minute video with the default job settings streamed to 1,000 users would cost approximately:

0.75 MB/s * 1000 users * 3600 seconds = 2700 GB/hour.

2700 GB/hour * $0.085 = $229.50 an hour.

$ 229.50
Amazon S3

A 60-minute video will at most use 9 GB of storage on S3 depending on the complexity of the video content. 
$0.023 per GB * 9 GB = $0.207.


Source videos uploaded to Amazon S3 will add to this cost. After MediaConvert processing, delete source content from S3 to save storage costs.

$ 0.207
AWS Lambda 4 requests per file
 using $0.20 per million requests. $ 0.0000024
Amazon CloudWatch Free tier. Check the CloudWatch pricing page for more information. $ 0.00
Amazon Simple Notification Service (Amazon SNS) Free tier. Check the Amazon SNS pricing page for more information. $ 0.00
AWS Elemental MediaConvert

HLS output profile

3 SD resolution at 30 fps or less

2 HD resolution at 30 fps or less.

$ 3.15
Total: $232.86

A significant cost of running this solution comes from MediaConvert. This section breaks down the MediaConvert costs for the sample 60-minute source video.

The video outputs in this example use the following basic tier MediaConvert settings: AVC codec, 1 pass quality, and 30 fps. The CloudFormation template creates a destination S3 bucket where the processed video are stored. Each processed result will be stored in a folder with the same name as the process execution id and a previously processed video can be found here. Pricing increases when using higher frame rates than 30 FPS. For more information about MediaConvert pricing, refer to  AWS Elemental MediaConvert Pricing.

We recommend creating a budget through AWS Cost Explorer to help manage costs. Prices are subject to change. For full details, see the pricing webpage for each AWS service used in this solution.