Live Video Workflow with Captions

Live Video Workflow with Captions

2 hours 8 Credits

SPL-235 - 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

In this lab, you will create a live streaming channel that includes closed captions for all supported output streams.

Note For more background about this lab and captions in general, please refer to the companion tutorial:

Working with Captions Using AWS Elemental MediaLive


You have a live stream that you need to deliver to your customers, and that live stream must include accurate Closed Captions. The engineering and marketing teams determined that, to deliver the highest quality possible to your ideal audience while also minimizing costs, content should be available as an adaptive bitrate (ABR) stack with the following quality settings:

  • 1080p
  • 720p
  • 480p
  • 240p

While currently the audio and captions only need to be in English, the workflow should be future-proofed to allow for easy addition of other language and caption tracks.

The ABR stacks must be distributed globally using three different output groups to address the primary user bases:

  • HLS
  • Microsoft Smooth

Based on the requirements of those outputs and consultation with both the engineering team and the partner for captioning who transcribes the live stream, the live source will deliver a high-quality live contribution feed to the transcription service who will then view, record, and embed those captions into the video. That high-quality live contribution feed with embedded captions is the starting point for the rest of the workflow.

Based on your requirements above and your knowledge of AWS Media Services, you will build the following workflow in this lab:

SPL-235 Workflow - Real-world

Real-world workflow

Note In a real-world scenario, the input stream would be an RTMP (push) stream; however, for the purposes of this exercise, you will mimic the same captioning workflow using an MP4 file placed in an Amazon Simple Storage Service (Amazon S3) bucket you can access with your account, as shown in the following image:

SPL-235 Workflow - Lab

Workflow for this lab

Topics covered

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

  • Use AWS Elemental MediaPackage to make output groups appropriate for all your end users
  • Use Amazon CloudFront to distribute the content to all users
  • Use AWS Elemental MediaLive to create an ABR stack including selectable audio and closed caption tracks
  • Validate that captioning works on all required outputs

Technical knowledge prerequisites

To successfully complete this lab, you should be familiar with basic navigation of the AWS Management Console and be familiar with the AWS Media Services suite of products.

Start Lab

  1. At the top of your screen, launch your lab by clicking Start Lab

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).

  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