Creating a Serverless Video Conversion Watchfolder Workflow for MediaConvert
SPL-228 - 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 firstname.lastname@example.org.
Other questions? Contact us at https://aws.amazon.com/contact-us/aws-training/
This lab will show you how to create a serverless watchfolder, which is a simple method to automate video processing. Users with video ready to be processed simply upload their files to a specific storage folder or location. The upload to this “watched folder” automatically starts an ingest workflow that analyzes and converts the video, storing the output files in locations for on-demand delivery.
You will use an AWS Lambda script applied to an Amazon S3 bucket to create a watchfolder to automate video ingest and delivery in AWS Elemental MediaConvert. You will also use Amazon CloudWatch Events to monitor the completion status of jobs in MediaConvert and configure Amazon Simple Notification Service (SNS) to receive notifications when the jobs are completed.
You will build the following workflow in this lab:
MediaConvert converts video into multiple output formats to support on-demand viewing from a broad array of devices at varying resolutions. MediaConvert gets input files from the Amazon S3 location that you specify in your job input settings, and saves the transcoded output file or files in the output location (another S3 bucket) that you specify in the settings of the job output group.
Using other AWS services such as AWS Lambda, Amazon CloudWatch and Amazon Simple Notification Service (SNS), you can automate the video ingest and delivery process. Using an Amazon S3 bucket with a Lambda function, you can create a watchfolder. When an item is put in the watchfolder bucket, the Lambda function will trigger an ingest workflow in MediaConvert - automating the job conversion process.
You can monitor the job using CloudWatch and SNS to send a notification once the conversion job finishes in MediaConvert and output files are stored in the S3 bucket ready for on-demand viewing.
By the end of this lab, you will be able to:
- Setup a MediaConvert job to create multiple mp4 outputs.
- Create a Lambda function and trigger to create a watchfolder.
- Test the watchfolder automation.
- Create an SNS topic for workflow status notification.
- Create a CloudWatch event rule to monitor the status of MediaConvert jobs.
- Add a policy to allow CloudWatch rules to add to the SNS topic.
- Test the notification.
- Successfully run multiple automated jobs.
Technical Knowledge Prerequisites
To successfully complete this lab, you should be familiar with basic navigation of the AWS Management Console and be comfortable editing scripts using a text editor.
- 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.