How to Convert MP4 to HLS Format using Amazon Elastic Transcoder

While FFmpeg is free and easy to use, it isn’t an ideal method if you have a lot of videos. To save time, you should consider using Amazon Elastic Transcoder which converts the media files and stores them on the S3 bucket automatically. You need to set it up for the first time only.

In order to use Elastic Transcoder,  you need an AWS account and have an Amazon S3 bucket to store your input and output videos. You can also use the different buckets for this purpose. For example,

  • an input bucket (e.g. named input.protected-videos) to which you upload the video files you want to transcode
  • an output bucket (e.g. named output.protected-videos) to receive the transcoded vides

In this article, we will walk you through the process of converting mp4 videos to HSL format with AWS Elastic Transcoder.

Create Elastic Transcoder Pipeline

Step 1: Log in to your AWS account and navigate to Elastic Transcoder console

Step 2: Click on “Create a new Pipeline” button to create a pipeline with the following pieces of information:

  • Pipeline Name
  • Input Bucket
  • Output Bucket
  • IAM Role: If you choose to Create console default role, Elastic_Transcoder_Default_Role will be created automatically.

Leave other options with their default values and save your pipeline.

Create custom AWS KMS key ARN

Step 1: Log in to your AWS account and navigate to Key Management Service

Step 2: Choose Customer managed keys from the navigation pane and click on “Create key” button

Step 3: Choose Symmetric for Key type

Step 4: Grant permission to Elastic_Transcoder_Default_Role

Step 5: Once creating key successfully, click on Key ID to copy ARN string


Step 6: Edit the pipeline that you have created in the first step.

Under Encryption option, select Custom for AWS KMS Key ARN and input the ARN string you have copied.

Create a Transcoding Job

Lasted updated on September 24, 2020