Updated: Jul 17, 2020
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.
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.
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
- 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
- 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.
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
- 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.