Design considerations - Video on Demand on AWS

Design considerations


This 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. For example, you can modify or replace the encoding steps to produce different content sets. You can also add steps to extend support for more complex workflows, including image processing for poster artwork or additional custom data to the metadata file that will then be stored in Amazon DynamoDB. The solution originates AWS Elemental MediaConvert output content directly from Amazon Simple Storage Service (Amazon S3) through Amazon CloudFront. You can, however, customize the solution to leverage a dedicated origin server such as AWS Elemental MediaPackage.

Each time the workflow is initiated, the solution creates a unique identifier. The unique identifier is used as the primary key in Amazon DynamoDB and the run ID in AWS Step Functions. The unique identifier is passed to each step in the workflow, allowing information to be stored and retrieved in DynamoDB. This makes it easier to add and remove steps from the workflow.

Solution updates

To continue using this solution with the latest features and improvements, you must deploy the latest version of this stack. For information about updating your stack, refer to Update the stack.

Installing version 5.3.0 creates three new MediaConvert job templates that only output HLS renditions to reduce cost, without the use of presets. For more information, refer to MediaConvert templates. Updating an existing solution deployment to version 5.3.0 creates these new templates without deleting the presets or templates created by the older versions. To use an older template with the latest version of the solution, specify the template using the JobTemplate field in your metadata file. For more information, refer to Metadata file. Or, you can replace the default templates in the Input Validate AWS Lambda function by modifying the MediaConvert_Template_<resolution> environment variables.

Regional deployments

This solution uses AWS Elemental MediaConvert and AWS Elemental MediaPackage, which are available in specific AWS Regions only. Therefore, you must deploy this solution in a Region that supports these services. For the most current service availability by Region, refer to the AWS Regional Services List.