Live Streaming on AWS
Live Streaming on AWS

Architecture Overview

Deploying this solution builds the following environment in the AWS Cloud.

        Live streaming solution architectural overview

Figure 1: Live Streaming on AWS solution architecture

The solution’s AWS CloudFormation template launches the AWS products and services necessary to ingest, transcode, and deliver live streaming video. AWS Elemental MediaLive ingests two input feeds and transcodes your content into two adaptive bitrate (ABR) HTTP Live Streaming (HLS) streams as output. AWS Elemental MediaPackage ingests the MediaLive output and packages the live stream into HLS, Dynamic Adaptive Streaming over HTTP (DASH), Microsoft Smooth Streaming (MSS), and Common Media Application Format (CMAF) formats that are delivered to four MediaPackage custom endpoints.

An Amazon CloudFront distribution is configured to use the MediaPackage custom endpoints as its origin. The CloudFront distribution delivers your live stream to viewers with low latency and high transfer speeds.

You can configure the solution to ingest Real-Time Transport Protocol (RTP), Real-Time Messaging Protocol (RTMP), HTTP Live Streaming (HLS), or AWS Elemental MediaConnect flows as input. The solution also includes three encoding profiles, which are ABR stream sets ranging in output resolution from 270p to 1080p, that you can set during initial configuration.

The solution also deploys a demo HTML preview player that you can use to test the solution. The player is a static website hosted in an Amazon Simple Storage Service (Amazon S3) bucket. Amazon CloudFront is used to restrict access to the solution’s website bucket contents.