Overview
Out of the box, this solution helps you to accomplish the following:
- Automatically transcode videos uploaded to Amazon Simple Storage Service (Amazon S3) into formats suitable for playback on a wide range of devices.
- Customize AWS Elemental 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.
- Manage costs, view logs, implement patching, and run automation runbooks for this solution from a central location.
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:
- AWS 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 an Amazon 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.
Benefits
Leverage the Video on Demand on AWS solution or the Video on Demand on AWS Foundation solution as a reference implementation to automatically provision the AWS services necessary to build a scalable, distributed video-on-demand workflow.
The Video on Demand on AWS Foundation solution can be easily customized and used as the starting point to create a more complex workflow. Alternatively, the Video on Demand on AWS 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.
Technical details
You can automatically deploy this architecture using each solution's implementation guide and the accompanying AWS CloudFormation template.
-
Video on Demand on AWS Foundation
-
Video on Demand on AWS
-
Video on Demand on AWS Foundation
-
Step 1
An Amazon Simple Storage Service (Amazon S3) bucket stores source video files. The solution uploads a sample job settings file to the source S3 bucket. This file defines the encoding settings for AWS Elemental MediaConvert.
Step 2
An AWS Lambda job submit function creates the encoding jobs in MediaConvert.
Step 3
MediaConvert transcodes the video into HTTP Live Stream (HLS) adaptive bitrate (ABR) files.
Step 4
Amazon CloudWatch logs metrics about encoding jobs in MediaConvert.Step 5
Amazon EventBridge invokes the Lambda job complete function.
Step 6
A Lambda job complete function processes the outputs.
Step 7
An Amazon Simple Notification Service (Amazon SNS) topic sends notifications of completed jobs.Step 8
A destination S3 bucket stores the MediaConvert outputs.Step 9
Amazon CloudFront is configured with the destination S3 bucket as the origin for global distribution of the transcoded video content.
About this deploymentPublish Date- Publish Date
Deployment optionsReady to get started?Deploy this solution by launching it in your AWS Console
Need help? Deploy with a partner.Find an AWS Certified third-party expert to assist with this deployment
-
Video on Demand on AWS
-
Step 1
An S3 bucket for source media files. Content is eventually stored in Amazon S3 Glacier.Step 2
AWS Step Functions, which creates ingest, processing, and publishing step functions.Step 3
MediaConvert to transcode media files from their source format.Step 4
Lambda functions that perform the work of each step, and process error messages.
Step 5
An Amazon DynamoDB table stores data captured through the workflow.Step 6
CloudWatch for logging and CloudWatch Events rules for MediaConvert notifications.Step 7
Amazon SNS topics to send encoding, publishing, and error notifications.Step 8
AWS Elemental MediaPackage (optional) to create video streams formatted to play on several devices from a single video input, and protect content from unauthorized use through content encryption and digital rights management.
Step 9
An S3 bucket for storing destination media files.Step 10
A CloudFront distribution to deliver your video content to end users.Step 11
An Amazon Simple Queue Service (Amazon SQS) queue to capture the workflow outputs.About this deploymentPublish Date- Publish Date
Deployment optionsReady to get started?Deploy this solution by launching it in your AWS Console
Need help? Deploy with a partner.Find an AWS Certified third-party expert to assist with this deployment
Related content
This course provides learners essential information on how video content is streamed over the internet, and how to design cloud-based media workflows for a variety of use cases.
This Learning Plan is designed to help Business Decision Makers, Media Engineers, and Media Operators use AWS services to create high-quality media experiences.