Skip to content

Elastic Transcoder Demo

JP edited this page Oct 31, 2017 · 14 revisions

About Elastic Transcoder (ET)

From the product page:

Amazon Elastic Transcoder is media transcoding in the cloud. It is designed to be a highly scalable, easy to use and a cost effective way for developers and businesses to convert (or “transcode”) media files from their source format into versions that will playback on devices like smartphones, tablets and PCs.

Steps

ET requires a bit of configuration because it is comprised of multiple AWS services acting in unison.

  1. On your AWS dashboard, select the ET service

    et-service

  2. Click Create New Pipeline. A pipeline is basically a "wiring" up of services needed to make ET work (e.g. S3, Simple Notification Service (SNS).

    It's advisable for the S3 buckets being created to be in the same region as the ET service to reduce latency (and thereby cost).

    et-pipeline

    Don't forget to add SNS notifications. These are basically interval webhooks sent to a public URL (which we'll configure later) containing information if the transcoding job has (a) started, (b) is progressing, (c) has failed, or (d) has succeeded.

    sns-notifications

Questions

Why Elastic Transcoder? Why can't I just use my own hardware to transcode the video files.

It comes down to scalability and ease-of-use.

Suppose you are developing a high-traffic e-learning application. On spurts you get hundreds of students who, all at the same time, upload their assessment submissions in the form of video files. Thing is, they have neither time nor patience to figure out how transcoding and compression works. They just want to upload straight from their phones.

A bunch of them upload uncompressed videos in varying formats and containers (e.g. mp4, avi, mkv). What's even startling is that some of these 20-second videos reach up to 500mb because these were recorded in 4K. Your server doesn't have that much local storage.

The solution to this is Elastic Transcoder (ET). With ET, you only pay for the resources you use -- AWS does convoluted process of:

  1. Transcoding the files into a common container format,
  2. Compressing them to reasonable file sizes, and
  3. Storing the files in the cloud (via S3)
Clone this wiki locally