A Gentle Introduction to Amazon Elastic Transcoder
Storytime! 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 a 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 each 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!
New on Cloud Academy: AWS Solution Architect Lab Challenge, Azure Hands-on Labs, Foundation Certificate in Cyber Security, and Much More
Now that Thanksgiving is over and the craziness of Black Friday has died down, it's now time for the busiest season of the year. Whether you're a last-minute shopper or you already have your shopping done, the holidays bring so much more excitement than any other time of year. Since our...
Understanding Enterprise Cloud Migration
What is enterprise cloud migration? Cloud migration is about moving your data, applications, and even infrastructure from your on-premises computers or infrastructure to a virtual pool of on-demand, shared resources that offer compute, storage, and network services at scale. Why d...
6 Reasons Why You Should Get an AWS Certification This Year
In the past decade, the rise of cloud computing has been undeniable. Businesses of all sizes are moving their infrastructure and applications to the cloud. This is partly because the cloud allows businesses and their employees to access important information from just about anywhere. ...
AWS Regions and Availability Zones: The Simplest Explanation You Will Ever Find Around
The basics of AWS Regions and Availability Zones We’re going to treat this article as a sort of AWS 101 — it’ll be a quick primer on AWS Regions and Availability Zones that will be useful for understanding the basics of how AWS infrastructure is organized. We’ll define each section,...
Application Load Balancer vs. Classic Load Balancer
What is an Elastic Load Balancer? This post covers basics of what an Elastic Load Balancer is, and two of its examples: Application Load Balancers and Classic Load Balancers. For additional information — including a comparison that explains Network Load Balancers — check out our post o...
Advantages and Disadvantages of Microservices Architecture
What are microservices? Let's start our discussion by setting a foundation of what microservices are. Microservices are a way of breaking large software projects into loosely coupled modules, which communicate with each other through simple Application Programming Interfaces (APIs). ...
Kubernetes Services: AWS vs. Azure vs. Google Cloud
Kubernetes is a popular open-source container orchestration platform that allows us to deploy and manage multi-container applications at scale. Businesses are rapidly adopting this revolutionary technology to modernize their applications. Cloud service providers — such as Amazon Web Ser...
AWS Internet of Things (IoT): The 3 Services You Need to Know
The Internet of Things (IoT) embeds technology into any physical thing to enable never-before-seen levels of connectivity. IoT is revolutionizing industries and creating many new market opportunities. Cloud services play an important role in enabling deployment of IoT solutions that min...
Which Certifications Should I Get?
As we mentioned in an earlier post, the old AWS slogan, “Cloud is the new normal” is indeed a reality today. Really, cloud has been the new normal for a while now and getting credentials has become an increasingly effective way to quickly showcase your abilities to recruiters and compan...
How to Go Serverless Like a Pro
So, no servers? Yeah, I checked and there are definitely no servers. Well...the cloud service providers do need servers to host and run the code, but we don’t have to worry about it. Which operating system to use, how and when to run the instances, the scalability, and all the arch...
AWS Security: Bastion Hosts, NAT instances and VPC Peering
Effective security requires close control over your data and resources. Bastion hosts, NAT instances, and VPC peering can help you secure your AWS infrastructure. Welcome to part four of my AWS Security overview. In part three, we looked at network security at the subnet level. This ti...
Top 13 Amazon Virtual Private Cloud (VPC) Best Practices
Amazon Virtual Private Cloud (VPC) brings a host of advantages to the table, including static private IP addresses, Elastic Network Interfaces, secure bastion host setup, DHCP options, Advanced Network Access Control, predictable internal IP ranges, VPN connectivity, movement of interna...