Building a Live Video Channel with MediaLive, MediaPackage and CloudFront

Building a Live Video Channel with MediaLive, MediaPackage and CloudFront

1 hour 30 minutes 1 Credit

SPL-207 - Version 1.0.1

© 2019 Amazon Web Services, Inc. and its affiliates. All rights reserved. This work may not be reproduced or redistributed, in whole or in part, without prior written permission from Amazon Web Services, Inc. Commercial copying, lending, or selling is prohibited.

Errors or corrections? Email us at

Other questions? Contact us at

Lab Overview

Video is consumed over the internet in two main modes: on-demand (VOD) or as a real-time (live) stream.

  • Video-on-demand streaming could be compared to renting or owning a DVD. The viewer may subscribe to a service, or pay a one-time fee, or purchase a movie. For the period of time that access is granted, the viewer can start, stop, pause, rewind, fast forward across the entire duration of the VOD asset.

  • Live streaming is exactly what it says it is: live. The stream may be a mix of pre-recorded content (e.g., interviews) and live action (e.g., sports), but it has a defined start and stop time. The online viewer can join the stream and perhaps go “back in time” but eventually the stream will end and will no longer be accessible.

Live streaming is growing rapidly. More live streaming content is being made available by studios, as well as by users sharing on social networks. And, there are more devices capable of streaming live video streaming being deployed to the market (for example, smart phones, tablets, PC, smart TV, set-top box, etc.).

In this lab, you will create a live streaming video workflow using AWS Elemental MediaLive, AWS Elemental MediaPackage, and Amazon CloudFront.

Live Streaming Workflow

Live streaming involves three main stages:

  • Encoding/compression: In this stage a high-resolution, high-bitrate source stream is compressed into several lower-resolution/bitrate versions, suitable for streaming in real time over the internet.

  • Packaging: The compressed video steams are packaged into segments, usually 2-10 seconds each. This allows video players to adapt to fluctuating network conditions by requesting successive segments from the list of available resolutions/bitrates. This is called adaptive bitrate streaming, or ABR.

  • Distribution: In order to serve hundreds, thousands, or millions of simultaneous viewers, the packaged video streams need to be fanned out through large distribution networks. This is referred to as the Content Delivery Network or Content Distribution Network (CDN).

Live workflow

In this lab, you will build the live streaming workflow depicted in the image above. You will:

  • Set up AWS Elemental MediaLive to ingest two source input feeds and transcode the content into two adaptive bitrate (ABR) HTTP Live Streaming (HLS) streams as output (Encoding/compression).

  • Configure AWS Elemental MediaPackage to ingest the MediaLive output and package the live stream into HLS formats that are delivered to two MediaPackage endpoints (Packaging).

  • Configure an Amazon CloudFront distribution to use the MediaPackage custom endpoints as its origin, so that the CloudFront distribution can deliver your live stream to viewers for access via mobile devices and desktop browsers with low latency and high transfer speeds (Distribution).

Topics Covered

By the end of this lab, you will be able to:

  • Connect AWS Elemental MediaLive to an incoming source
  • Use MediaLive to create multiple bitrate versions of a source media file
  • Configure MediaPackage and CloudFront to deliver live streaming content to mobile and desktop devices
  • Play your live video stream on your mobile device or computer

Technical Knowledge Prerequisites

To successfully complete this lab, you should be familiar with basic navigation of the AWS Management Console.

Start Lab

Notice the lab properties below the lab title:

  • setup - The estimated time to set up the lab environment
  • access - The time the lab will run before automatically shutting down
  • completion - The estimated time the lab should take to complete
  1. At the top of your screen, launch your lab by clicking Start Lab

If you are prompted for a token, use the one distributed to you (or credits you have purchased).

A status bar shows the progress of the lab environment creation process. The AWS Management Console is accessible during lab resource creation, but your AWS resources may not be fully available until the process is complete.

  1. Open your lab by clicking Open Console

This will automatically log you into the AWS Management Console.

Please do not change the Region unless instructed.

Common login errors

Error : Federated login credentials

If you see this message:

  • Close the browser tab to return to your initial lab window
  • Wait a few seconds
  • Click Open Console again

You should now be able to access the AWS Management Console.

Error: You must first log out

If you see the message, You must first log out before logging into a different AWS account:

  • Click click here
  • Close your browser tab to return to your initial Qwiklabs window
  • Click Open Console again

Join Qwiklabs to read the rest of this lab...and more!

  • Get temporary access to the Amazon Web Services Console.
  • Over 200 labs from beginner to advanced levels.
  • Bite-sized so you can learn at your own pace.
Join to Start This Lab