Amazon CloudFront
Developer Guide (API Version 2016-09-29)

On-Demand Media Streaming with Unified Streaming

When you use Amazon CloudFront to deliver on-demand streaming over HTTP, you can transcode your content yourself into multiple bitrates and formats and use CloudFront to distribute the transcoded content. Alternatively, you can use CloudFront with Unified Streaming, which performs the transcoding step automatically when a user requests your content. Here's how you can use CloudFront and Unified Streaming together:

  1. You use a AWS CloudFormation stack to configure the applicable AWS resources for you, including an Amazon EC2 instance running Unified Streaming Platform, an Amazon S3 bucket, and a CloudFront distribution.

  2. You upload your video files into the Amazon S3 bucket in MP4 format.

  3. You add the applicable links to your website or web application. The links access your content by using CloudFront URLs. (You can also route DNS requests for your own domain name to CloudFront.)

  4. When a user accesses your content, the request is forwarded to a CloudFront edge location.

  5. The CloudFront edge location forwards the requests to Unified Streaming Platform.

  6. Based on the value of the User-Agent header, Unified Streaming Platform determines the format that the user's viewer requires, transcodes your content into that format, and returns the transcoded content to CloudFront.

  7. CloudFront returns the transcoded content to the viewer and caches the files in the edge location. The next time a user requests your content in the same format from the same edge cache, CloudFront responds with files that are already in the cache.

Unified Streaming Platform supports the following HTTP-based dynamic streaming protocols:

  • Adobe HTTP Dynamic Streaming (Adobe HDS)

  • Apple HTTP Live Streaming (Apple HLS)

  • Microsoft Smooth Streaming


In this tutorial, you use an AWS CloudFormation stack to create an Amazon S3 bucket for your media files, an Amazon EC2 instance running Unified Streaming media server software, and a CloudFront distribution. Note that this tutorial describes only one of many ways that you can configure AWS resources for on-demand streaming with Unified Streaming.


For information about how to manage and secure your Amazon EC2 instance, see the Amazon EC2 documentation.

For a list of supported platforms, clients, codecs, DRM formats, and other specifications for Unified Streaming, see the Unified Streaming Platform fact sheet. For links to additional Unified Streaming and Amazon Web Services (AWS) documentation, see Additional Documentation.