

# Deploy a reference implementation to build a scalable, distributed video-on-demand workflow
<a name="solution-overview"></a>

The Video on Demand on AWS solution automatically provisions the AWS services necessary to build a scalable, distributed workflow to ingest, store, process, and deliver video content on demand. It 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 CloudFront.

This solution provides an example architecture to build a global consumer video workflow on AWS. By default, the solution can encode MP4, MPG, M4V, M2TS, and MOV files. You can customize the architecture to encode any media file type supported by AWS Elemental MediaConvert. For more information, refer to [Customization](customization.md).

This implementation guide provides an overview of the Video on Demand on AWS solution, its reference architecture and components, considerations for planning the deployment, configuration steps for deploying the solution to the Amazon Web Services (AWS) Cloud.

The intended audience for discovering and using this solution in their environment includes solution architects, business decision makers, DevOps engineers, data scientists, and cloud professionals.

Use this navigation table to quickly find answers to these questions:


| If you want to . . . | Read . . . | 
| --- | --- | 
|  Know the cost for running this solution. The estimated cost for running this solution in the US East (N. Virginia) Region is **USD \$1 4.23 per month** for AWS resources.  |   [Cost](cost.md)   | 
|  Understand the security considerations for this solution.  |   [Security](security-1.md)   | 
|  Know how to plan for quotas for this solution.  |   [Quotas](quotas.md)   | 
|  Know which AWS Regions support this solution.  |   [Supported AWS Regions](plan-your-deployment.md#supported-aws-regions)   | 
|  View or download the AWS CloudFormation template included in this solution to automatically deploy the infrastructure resources (the "stack") for this solution.  |   [AWS CloudFormation template](aws-cloudformation-template.md)   | 
|  Access the source code and optionally use the AWS Cloud Development Kit (AWS CDK) to deploy the solution.  |   [GitHub repository](https://github.com/aws-solutions/video-on-demand-on-aws)   | 

# Features and benefits
<a name="features-and-benefits"></a>

The solution provides the following features:

 **Reference implementation** 

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

 **Customization** 

The Video on Demand on AWS solution leverages AWS Step Functions, which breaks the workflow into individual steps (ingest, processing, and publishing), making it easier to customize or extend the architecture for your specific video-on-demand needs.

 **Digital Rights Management** 

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.

 **Integration with Service Catalog AppRegistry and AWS Systems Manager Application Manager** 

This solution includes a Service Catalog AppRegistry resource to register the solution’s CloudFormation template and its underlying resources as an application in both [Service Catalog AppRegistry](https://docs.aws.amazon.com/servicecatalog/latest/arguide/intro-app-registry.html) and [AWS Systems Manager Application Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/application-manager.html). With this integration, you can centrally manage the solution’s resources and enable application search, reporting, and management actions.

# Use cases
<a name="use-cases"></a>

 **Streaming Media** 

As consumer demand for video streaming increases, media and entertainment companies are looking for secure and reliable web-based video streaming alternatives to traditional television. Video on Demand on AWS deploys a solution that automatically provisions the services necessary to build a scalable, distributed architecture that ingests, stores, processes, and delivers video content. Using this solution, you can avoid inefficient trial-and-error approaches, and save on time and costs for your streaming media projects.

 **Educational Content Delivery** 

Professional development and educational initiatives create incentives for non-profit members, and can be important revenue generators for nonprofit organizations. Video on Demand on AWS can help you create modern, scalable content delivery and learning management systems (LMS) to support your membership and programming offerings. The solution streamlines the processes for delivering online training and learning content.

# Concepts and definitions
<a name="concepts-and-definitions"></a>

This section describes key concepts and defines terminology specific to this solution:

 **application** 

A logical group of AWS resources that you want to operate as a unit.

 **Common Media Application Format (CMAF)** 

An HTTP-based streaming and packaging standard to improve delivery of media over the internet which is compatible with HLS and DASH and co-developed by Apple and Microsoft.

 **DRM** 

Digital Rights Management is a technology used to control and manage access to copyrighted material.

 **Dynamic Adaptive Streaming over HTTP (DASH)** 

An HTTP-based streaming protocol (also known as MPEG-DASH) to deliver media over the internet and developed under Motion Picture Experts Group (MPEG).

 **HTTP Live Streaming (HLS)** 

An HTTP-based streaming protocol to deliver media over the internet developed by Apple Inc.

 **QVBR** 

Quality-Defined Variable Bitrate is a video encoding technology that uses fewer bits in low-complexity periods of content and more bits during high-complexity periods (up to the maximum bitrate) to deliver consistently high video quality.

 **thumbnails** 

Files created by taking still images of the original video file.

 **workflow** 

Generated state machines that run a number of operations in sequence.

**Note**  
For a general reference of AWS terms, see the [AWS Glossary](https://docs.aws.amazon.com/general/latest/gr/glos-chap.html).