Building a Live Video Channel with MediaLive, MediaStore and CloudFront
SPL-225 - Version 1.0.0
© 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 email@example.com.
Other questions? Contact us at https://aws.amazon.com/contact-us/aws-training/
In live streaming events, the latency or time delay between the live action and what is seen on one’s device can be problematic. AWS Elemental MediaStore can help mitigate that problem. MediaStore is a media origin and storage service that provides a write-behind cache in front of object storage. It's designed for performance, predictable low latency, and consistency.
If low latency is of utmost concern and your workflow does not require the just-in-time packaging and digital rights management (DRM) interoperability of AWS Elemental MediaPackage -- for example, your live streams are already in the correct formats and have any required DRM applied -- then you can use AWS Elemental MediaStore as a pass-through video origination and storage service that offers the performance and consistency required for delivering live streaming media combined with the security and durability AWS offers across its services.
Live Streaming Workflow
In this lab, you will create a live streaming video workflow using AWS Elemental MediaLive, AWS Elemental MediaStore, and Amazon CloudFront. MediaLive will perform the encoding and compression and, in this use case, also the packaging. MediaLive will produce adaptive bitrate (ABR) content using a MediaStore container as its destination. You will create policies for that container that allow CloudFront to use it as origin and deliver the ABR streams for viewers to access via mobile devices and desktop browsers. For simplicity, you will be using only one packaging protocol: Apple HLS (HTTP Live Streaming), which is a commonly used adaptive bitrate streaming format.
Note A live environment would typically involve an on-premises contribution encoder streaming mezzanine quality video to MediaLive. MediaLive would then create multiple adaptive bit rate renditions using a MediaStore container endpoint as its destination. A CloudFront distribution would then use that MediaStore container as its origin and would stream it.
In an attempt to recreate this in a lab environment, rather than having you provide a live video stream, the lab provides a video source file to mimic the live stream for MediaLive to encode. The lab setup also uses an AWS CloudFormation template to automatically create the necessary IAM roles.
After the initial setup, you will be able to perform these tasks:
- Create a MediaStore container to serve as your origin for CloudFront
- Create a CloudFront distribution
- Set up MediaLive to ingest two source input feeds
- Create a MediaLive channel using a built-in template to transcode the content into adaptive bitrate outputs
- Configure MediaLive to output to the MediaStore endpoints
- Create MediaStore container policies that allow access to its contents
- Play back the streaming video through the CloudFront URL with a player
Note You will create the CloudFront distribution at the beginning of the lab, as it takes twenty minutes to fully deploy.
Technical Knowledge Prerequisites
To successfully complete this lab, you should be familiar with basic navigation of the AWS Management Console.
- At the top of your screen, launch your lab by clicking
This will start the process of provisioning your lab resources. An estimated amount of time to provision your lab resources will be displayed. You must wait for your resources to be provisioned before continuing.
If you are prompted for a token, use the one distributed to you (or credits you have purchased).
- Open your lab by clicking
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 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 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.