A Gentle Introduction to Amazon Elastic Transcoder
Story time! I once had a project requirement where I was supposed to convert some of the videos taken by CCTV cameras to various images in a thumbnail format. The entire process was supposed to be automated, and because the camera captured videos frequently it was like a streaming input that needed to be processed as soon as it was captured. At first, it didn’t seem like a very complex project.
Implementing the Requirements
But, when I started coding I realized the complexity involved. First, I thought to write the processing logic in Java, but then later decided to move to another language. I was using AWS S3 to store the captured videos. Because they needed immediate processing as soon as they are stored in S3, I used the S3 notification feature. This is what the workflow looked like:
- CCTV captures video and stores in S3;
- S3 triggers a notification and puts the video object in SQS;
- My custom application that’s listening to the SQS picks up the object and converts it to a thumbnail (this can be any other format and not only thumbnail, of course).
This workflow was fine and it’s not the only way to accomplish this goal. But, the issues I faced are worth discussing – and let’s see how AWS Transcoder made my life easy.
- Writing the logic was a pain and as mentioned if tomorrow you are planning to use some other language to write the same ,you need to spend more time reimplementing it.
- Changes in the video input type may force you to change your logic
- Processing the frequent videos seamlessly can be tricky.
- Moreover, using a message bus can result in extra overhead.
- Licensing of audio and video codecs also needs to be considered.
Introducing Amazon Elastic Transcoder
AWS Transcoder can be a life savior in these types of scenarios. AWS transcoding can be used to process and convert media files’ format, size, or quality. According to AWS:
AWS 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.
AWS Transcoder frees you from all kind of administration, scaling, performance tuning and managing of transcoding infrastructure. Moreover it supports most of the popular output 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
- 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 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
- Animated GIF
The Three Major Components of AWS Elastic Transcoder
I am sure you might have started thinking about the complexity involved while using AWS Transcoder. But don’t worry, it’s very simple to use. At a very high level, AWS Transcoder:
- Grabs your input file from an S3 bucket.
- Processes it.
- Stores the transcoded file in a target S3 bucket.
The three major components of Amazon Elastic Transcoder are:
These pipelines are like queues that manage your jobs. Transcoder processes jobs in the order in which they’re added to the pipeline. Pipelines can be one of two types – standard priority jobs and high priority jobs. From the name itself it’s clear that if you want the file to be transcoded immediately you can place the job in high priority pipeline, otherwise you can put it in a standard priority pipeline
While creating jobs you can specify the settings regarding the location of the input/output file. From the documentation:
You can configure Elastic Transcoder to notify you when the status of a job changes, including when Elastic Transcoder starts and finishes processing a job, and when Elastic Transcoder encounters a warning or error condition.
Presets can be considered as templates specify most of the settings for the transcoded media file. Amazon Elastic Transcoder has pre-defined presets for various devices that remove the need to find the right settings for different devices through trial and error. Some of the existing presets provided by AWS transcoder can be seen in below diagram
Now let’s get back to my original issue discussed at starting and see how Transcoder helped me to create thumbnails from a video file.
Follow the below link in YouTube to see how easy it is to use AWS transcoder to generate transcoded videos or thumbnail.
AWS Transcoder Pricing Details
Now, if you are confident that AWS Transcoder is right for your project, it’s very important to know about its pricing structure so that you don’t get last minute surprises with monthly bills, and this will also help you to be sure if you really want to go with this service or not. Here’s what you need to know:
- There is no minimum fee, you pay for only what you use
- AWS Transcoder offers monthly free usage tier, which comes with 20 minutes of free audio-only output per month, 20 minutes of free SD output per month and 10 minutes of free HD output per month
- The pricing changes from region to region. For example in N. Virginia the price for transcoding normal videos to Standard definition can cost you $0.015 per minute, and to high definition $0.030 per minute. More details for different region can be found here.
- Amazon S3 storage and data-transfer charges still apply for both input and output files.
- Amazon Elastic Transcoder does not charge for failed transcodes unless the number of failures becomes excessive
Now that you have a solid grasp of the basics of AWS Transcoder, why not take a course on the technical fundamentals of AWS from Cloud Academy? We offer a 7-day free trial to get your feet wet in this exciting and fast-growing industry, so be sure to sign up today and upgrade your cloud engineering skills. Let’s get started!
Two New EC2 Instance Types Announced at AWS re:Invent 2018 – Monday Night Live
Let’s look at what benefits these two new EC2 instance types offer and how these two new instances could be of benefit to you. Both of the new instance types are built on the AWS Nitro System. The AWS Nitro System improves the performance of processing in virtualized environments by...
Google Cloud Certification: Preparation and Prerequisites
Google Cloud Platform (GCP) has evolved from being a niche player to a serious competitor to Amazon Web Services and Microsoft Azure. In 2018, research firm Gartner placed Google in the Leaders quadrant in its Magic Quadrant for Cloud Infrastructure as a Service for the first time. In t...
Understanding AWS VPC Egress Filtering Methods
Security in AWS is governed by a shared responsibility model where both vendor and subscriber have various operational responsibilities. AWS assumes responsibility for the underlying infrastructure, hardware, virtualization layer, facilities, and staff while the subscriber organization ...
S3 FTP: Build a Reliable and Inexpensive FTP Server Using Amazon’s S3
Is it possible to create an S3 FTP file backup/transfer solution, minimizing associated file storage and capacity planning administration headache?FTP (File Transfer Protocol) is a fast and convenient way to transfer large files over the Internet. You might, at some point, have conf...
Microservices Architecture: Advantages and Drawbacks
Microservices are a way of breaking large software projects into loosely coupled modules, which communicate with each other through simple Application Programming Interfaces (APIs).Microservices have become increasingly popular over the past few years. The modular architectural style,...
What Are Best Practices for Tagging AWS Resources?
There are many use cases for tags, but what are the best practices for tagging AWS resources? In order for your organization to effectively manage resources (and your monthly AWS bill), you need to implement and adopt a thoughtful tagging strategy that makes sense for your business. The...
How to Optimize Amazon S3 Performance
Amazon S3 is the most common storage options for many organizations, being object storage it is used for a wide variety of data types, from the smallest objects to huge datasets. All in all, Amazon S3 is a great service to store a wide scope of data types in a highly available and resil...
How to Optimize Cloud Costs with Spot Instances: New on Cloud Academy
One of the main promises of cloud computing is access to nearly endless capacity. However, it doesn’t come cheap. With the introduction of Spot Instances for Amazon Web Services’ Elastic Compute Cloud (AWS EC2) in 2009, spot instances have been a way for major cloud providers to sell sp...
What are the Benefits of Machine Learning in the Cloud?
A Comparison of Machine Learning Services on AWS, Azure, and Google CloudArtificial intelligence and machine learning are steadily making their way into enterprise applications in areas such as customer support, fraud detection, and business intelligence. There is every reason to beli...
How to Use AWS CLI
The AWS Command Line Interface (CLI) is for managing your AWS services from a terminal session on your own client, allowing you to control and configure multiple AWS services.So you’ve been using AWS for awhile and finally feel comfortable clicking your way through all the services....
AWS Summit Chicago: New AWS Features Announced
Thousands of cloud practitioners descended on Chicago’s McCormick Place West last week to hear the latest updates around Amazon Web Services (AWS). While a typical hot and humid summer made its presence known outside, attendees inside basked in the comfort of air conditioning to hone th...
From Monolith to Serverless – The Evolving Cloudscape of Compute
Containers can help fragment monoliths into logical, easier to use workloads. The AWS Summit New York was held on July 17 and Cloud Academy sponsored my trip to the event. As someone who covers enterprise cloud technologies and services, the recent Amazon Web Services event was an insig...