©2019 by Raghavendra Kambhampati

What is Amazon Elastic Transcoder?

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.

There’s no need to administer software, scale hardware, tune performance, or otherwise manage transcoding infrastructure. You simply create a transcoding “job” specifying the location of your source media file and how you want it transcoded. Amazon Elastic Transcoder also provides transcoding presets for popular output formats, which means that you don’t need to guess about which settings work best on devices. All these features are available via service API, AWS SDKs and the AWS Management Console.

It also enables customers to process multiple files in parallel and organize their transcoding workflow using a feature called transcoding pipelines.

With Amazon Elastic Transcoder’s pipelines feature,customers set up pipelines for these various scenarios and ensure that their files are transcoded when and how they want, thus allowing them to seamlessly scale for spiky workloads efficiently. Amazon Elastic Transcoder is built using the scalability and flexibility of other Amazon Web Services. It runs your transcoding jobs using the Amazon Elastic Compute Cloud (Amazon EC2). Amazon EC2’s scale allows you to complete large transcoding jobs quickly and reliably.

Amazon Elastic Transcoder is built to work with content you store in Amazon Simple Storage Service (Amazon S3), so you have durable and cost-effective storage for huge libraries, or small ones. You can even get notified about the status of your transcoding jobs via Amazon Simple Notification Service (Amazon SNS).

To use Amazon Elastic Transcoder, you:

Create a transcoding pipeline that specifies the input Amazon S3 bucket, the output

Amazon S3 bucket and storage class, and an AWS Identity and Access Management (IAM) role that is used by the service to access your files.

Create a transcoding job by specifying the input file, output files, and transcoding

presets to use (you can choose from a set of pre-defined transcoding presets –

for example 720p – or create your own custom transcoding preset.) Optionally,

you can specify thumbnails and job specific transcoding parameters like frame

rate and resolution.

While you have transcoding jobs running on Amazon Elastic Transcoder, you can:

Automatically receive status of your transcoding jobs via notifications.

Query the status of transcoding jobs.

Manage your transcoding jobs by stopping, starting or canceling them.

Amazon Elastic Transcoder offers the following features to make video transcoding

easy, scalable and inexpensive.

- Transcoding pipelines: Transcoding pipelines allow you to setup and run

transcoding workflows in parallel. You can use transcoding pipelines to create

flexible workflows. For example, you could set up a pipeline for transcoding

short content and another for transcoding long content, or you could assign

different pipelines for different resolutions or storage locations.

- Transcoding jobs:

Transcoding jobs do the work of transcoding a media file from one format into

others. You can use one job to create multiple output files of different bit

rates and formats from a single input file. For example, one job could create

renditions consisting of different resolutions and bit rates of the same input

file. You can also create an audio-only alternate stream, which is frequently

used when creating an HLS or MPEG-DASH file set. When you create a job, you

specify the information that Amazon Elastic Transcoder needs to perform the

transcoding: which file to transcode, what to name the transcoded output files

and which presets to use. Transcoding jobs run inside a transcoding pipeline, and

transcoding pipelines run more than one job at a time, so you can have many

jobs running at once within your AWS account.

- System transcoding presets: Amazon Elastic Transcoder provides a set of

transcoding presets that removes the guesswork out of figuring out the right

transcoding settings for different devices. You can choose from presets that

will create output that plays on any device, or from presets that target

specific devices. For maximum compatibility, choose a “breadth preset” that

will create output that plays on a wide range of devices. For optimum quality

and file size, choose an “optimized preset” that will create output for a

specific device or class of devices.

- Custom transcoding presets: The transcoding presets that we supply cater to

most devices and platforms, but some customers may need to create specific

presets for a particular output target. Using custom presets, you can customize

an existing transcoding preset and use it across all your pipelines in your AWS

account within a region.

- Automatic video bit rate optimization: With the auto video bit rate setting, Amazon

Elastic Transcoder will automatically adjust the bit rate to optimize the

visual quality of your transcoded output. You can limit the instantaneous bit

rate in your output video using the maximum bit rate parameter. This is useful

when you need to generate an output file with a limited or capped maximum bit

rate, which may be required to meet the playback specifications for certain

devices. The result is that you get video files that look great but have better

compression than if you had selected a single bit rate for the entire file.

Monitoring and Management: You can view the status of your transcoding

pipelines and jobs through the AWS Management Console or the Amazon Elastic

Transcoder service API or SDKs. You can also monitor, alarm and receive

notifications on the operational performance and usage of Amazon Elastic

Transcoder using Amazon CloudWatch. Amazon Elastic Transcoder automatically

publishes nine operational metrics into Amazon CloudWatch, giving you more

visibility into the overall health of your transcoding workflow and the ability

to invoke an action if the metric you are tracking crosses a certain threshold

for a defined period of time. You can monitor metrics such as jobs completed,

jobs that errored out, output minutes generated, standby time, and errors and

throttles on various API calls. These metrics appear in CloudWatch within a few

minutes of the transcoding job being executed on Elastic Transcoder.

- Notifications:

Amazon Elastic Transcoder uses Amazon Simple Notification Service (SNS) to

notify you about transcoding events. You can be notified when your transcoding

job starts, when it completes, if there is a warning, and if there is an error

condition. Using notifications is an efficient way to monitor and manage your

transcoding workload. You just rely on Amazon Elastic Transcoder to notify you

of a change, which removes the need for you to poll the service for status.

- Thumbnails:

Amazon Elastic Transcoder can generate thumbnails of your output video for you.

You can set the size of the thumbnails, aspect ratio and other parameters

including how many thumbnails you would like to have generated. Generating

multiple thumbnails is useful if you want to add chapter markers, provide a

visual scan function or simply choose the most representative thumbnail for

your content.

- Visual Watermarks:

Amazon Elastic Transcoder can overlay up to four still images on your output

video. To watermark your output videos, simply provide a file containing a PNG

or JPG image and use a transcoding preset to specify position, scale, sizing,

and opacity information for the watermark. You can use this feature to add

program or other identification logos to your output.

- Captions: Amazon Elastic Transcoder supports captions. Captioning is the process of displaying text that accompanies the video to transcribe the audio portion of the program or translate the audio into a different language. You can use Elastic

Transcoder to add, remove, or preserve captions as you transcode your video

from one format to another.

- Formats: Amazon

Elastic Transcoder supports transcoding to the following output formats:

HLS using an MPEG-2 TS container to house H.264 video and AAC or MP3 audio

Smooth Streaming using an fmp4 container to house H.264 video and AAC audio

MPEG-DASH using an fmp4 container to house H.264 video and AAC audio

XDCAM using MXF container using MPEG-2 video and PCM audio

MP4 container with H.264 video and AAC or MP3 audio

WebM container with VP9 video and Vorbis audio

WebM container with VP8 video and Vorbis audio

FLV container with H.264 video and AAC or MP3 audio

MPG container with MPEG-2 video and MP2 audio

MP3 container with MP3 audio

MP4 container with AAC audio

OGG container with Vorbis or FLAC audio

OGA container with FLAC audio

FLAC container with FLAC audio

WAV container with PCM audio

Animated GIF

- HLS with AES-128 Encryption: You can generate HLS streams protected with AES-128 encryption. Jobs created with this option will encrypt the media files and reference the decryption key in the playlist. You may choose to have Elastic Transcoder write the encryption data keys directly to S3 using SSE-S3, in addition to the job object where they will be protected using your AWS-KMS master key.

- DRM Packaging: We support packaging for Microsoft PlayReady DRM. You can protect your Smooth Streaming files using Microsoft PlayReady PIFF 1.1, and HLS outputs using the Discretix 3.0.1 for Microsoft PlayReady. When creating your transcoding job, be sure to include the encryption key and license server URL provided by your PlayReady License Provider.

- Encrypted media files: You can use encrypted mezzanine files as input to Amazon Elastic Transcoder, or protect your transcoded files by letting the service encrypt the output. Supported options range from fully managed integration with Amazon S3’s Server-Side-Encryption, to keys that you manage on your own and protect using AWS Key Management Service(KMS)). Furthermore, encryption support is not limited to your video files. You can protect thumbnails, captions, and even watermarks.

Progressive download of on-demand media: You can store the original versions of your media content in Amazon S3 and configure an Amazon CloudFront download distribution for progressive download of your video and audio files. Frequently accessed media files are cached at the edge to help you scale and give your viewers the best possible performance.

- Clip Generation: You can create a clip from your source media by specifying a start time, and optionally, the desired duration of your clip. You can generate different length clips (or transcode the entire file) for each output in your transcoding job. You will be charged only for the output duration of your transcode, so if you have a five-minute input file and you create a one-minute output from it, you will only be charged for one minute of transcoding.

- Clip stitching: You can stitch together two or more input clips to create a single longer output clip in the desired output formats as part of the transcode job. To do this, you need to specify more than one input when creating a transcode job. For any of the inputs, you can choose only a sub section of the file to stitch by specifying the start time and the duration. You will be charged for the output duration of your transcode, so if you are stitching two five-minute input files to create a ten-minute output, you will be charged for ten minutes of transcoding.

- Advanced Settings: You can override defaults or automatic job and preset parameters using advanced settings. For example, you may wish to force or limit a specific output frame rate, maximum bit rate, and rotation or set a specific H.264 or VP8 profile level.

Multiple Regions: Amazon Elastic Transcoder is available in eight AWS regions: US East (N. Virginia), US West (Oregon), US West (N. California), EU (Ireland), Asia Pacific (Singapore), Asia Pacific (Tokyo), Asia Pacific (Sydney), and Asia Pacific (Mumbai).

- Adaptive Bitrate Streaming

Adaptive streaming offers better user experience by adjusting to network

conditions and CPU utilization, automatically switching to higher or lower

quality streams. Amazon Elastic Transcoder can create a set of segmented output

renditions at different resolutions and bit rates, and a corresponding playlist

or manifest file, all stored in Amazon S3. Amazon Elastic Transcoder supports

the following implementations:

- HTTP Live Streaming (HLS): You can use Amazon Elastic Transcoder to create a

complete set of outputs compatible with either version 3 or version 4 of the

HLS protocol. HLS is commonly used to reach iOS devices, Android devices,

set-top boxes and browser-based players. You can then use Amazon S3 alone or in

conjunction with Amazon CloudFront to deliver your media files.

- Smooth Streaming: You can use Amazon Elastic Transcoder to create a set of fragmented MP4 outputs at different resolutions and bit rates, and corresponding ISM and ISMC manifest files. You can then use Amazon CloudFront or an IIS server to deliver your media files to players that implement Smooth Streaming such as Xbox, Windows Phone and clients utilizing Microsoft Silverlight players.

- MPEG-DASH: You can use Amazon Elastic Transcoder to create a set of video-only outputs at different resolutions and bit rates, the audio-only output, and the

corresponding MPD manifest file. You can then use Amazon S3 directly or in

conjunction with Amazon CloudFront to deliver MPEG-DASH streams.

Pricing:

Pay only for what you use. There is no

minimum fee. Pricing depends on the duration and resolution of the content that

you output. Each output file is billed in whole minute increments where each

partial minute is rounded up to the next full minute. Standard definition (SD)

output is billed at half the rate of high definition (HD) output. HD is any

output for which the resolution has at least 720 lines. Output that only

contains audio content is charged at less than a third the price of SD output

(see pricing table below.)

Amazon S3 storage and data-transfer charges

still apply for both input and output files. You do not incur data-transfer

charges when your Amazon S3 bucket is in the same region as the one in which

you submitted your transcoding job. You do incur data-transfer charges when

your Amazon S3 bucket is in a region other than the one in which you submitted

your transcoding job. Amazon Elastic Transcoder does not charge for failed

transcodes unless the number of failures becomes excessive.

Pricing Example for Mumbai Region:P

Pricing Examples:

- A 10 minute source file in US West (Oregon) transcoded to an SD output will cost 10

x $0.015 = $0.15.

- A 10 minute source file in US East (N. Virginia) transcoded to an HD output will

cost 10 x $0.030 = $0.30.

- A 10 minute source file in EU (Ireland) transcoded to one SD and one HD output will cost (10 x $0.017) + (10 x $0.034) = $0.51.

- A 10 minute source file in US West (Oregon) transcoded to an audio-only output will cost 10 x $0.0045 = $0.045.

- A 10 minute source file in US West (N. California) transcoded to one audio output,

three SD outputs and two HD outputs will cost (10 x $0.00522) + (3 x 10 x

$0.017) + (2 x 10 x $0.034) = $1.2422.