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!
AWS Security: Bastion Host, 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...
Big Changes to the AWS Certification Exams
With AWS re:Invent 2019 just around the corner, we can expect some early announcements to trickle through with upcoming features and services. However, AWS has just announced some big changes to their certification exams. So what’s changing and what’s new? There is a brand NEW ...
New on Cloud Academy: ITIL® 4, Microsoft 365 Tenant, Jenkins, TOGAF® 9.1, and more
At Cloud Academy, we're always striving to make improvements to our training platform. Based on your feedback, we released some new features to help make it easier for you to continue studying. These new features allow you to: Remove content from “Continue Studying” section Disc...
AWS Security Groups: Instance Level Security
Instance security requires that you fully understand AWS security groups, along with patching responsibility, key pairs, and various tenancy options. As a precursor to this post, you should have a thorough understanding of the AWS Shared Responsibility Model before moving onto discussi...
Cloud Migration Risks & Benefits
If you’re like most businesses, you already have at least one workload running in the cloud. However, that doesn’t mean that cloud migration is right for everyone. While cloud environments are generally scalable, reliable, and highly available, those won’t be the only considerations dri...
Real-Time Application Monitoring with Amazon Kinesis
Amazon Kinesis is a real-time data streaming service that makes it easy to collect, process, and analyze data so you can get quick insights and react as fast as possible to new information. With Amazon Kinesis you can ingest real-time data such as application logs, website clickstre...
Google Cloud Functions vs. AWS Lambda: The Fight for Serverless Cloud Domination
Serverless computing: What is it and why is it important? A quick background The general concept of serverless computing was introduced to the market by Amazon Web Services (AWS) around 2014 with the release of AWS Lambda. As we know, cloud computing has made it possible for users to ...
Google Vision vs. Amazon Rekognition: A Vendor-Neutral Comparison
Google Cloud Vision and Amazon Rekognition offer a broad spectrum of solutions, some of which are comparable in terms of functional details, quality, performance, and costs. This post is a fact-based comparative analysis on Google Vision vs. Amazon Rekognition and will focus on the tech...
New on Cloud Academy: CISSP, AWS, Azure, & DevOps Labs, Python for Beginners, and more…
As Hurricane Dorian intensifies, it looks like Floridians across the entire state might have to hunker down for another big one. If you've gone through a hurricane, you know that preparing for one is no joke. You'll need a survival kit with plenty of water, flashlights, batteries, and n...
Amazon Route 53: Why You Should Consider DNS Migration
What Amazon Route 53 brings to the DNS table Amazon Route 53 is a highly available and scalable Domain Name System (DNS) service offered by AWS. It is named by the TCP or UDP port 53, which is where DNS server requests are addressed. Like any DNS service, Route 53 handles domain regist...
How to Unlock Complimentary Access to Cloud Academy
Are you looking to get trained or certified on AWS, Azure, Google Cloud Platform, DevOps, Cloud Security, Python, Java, or another technical skill? Then you'll want to mark your calendars for August 23, 2019. Starting Friday at 12:00 a.m. PDT (3:00 a.m. EDT), Cloud Academy is offering c...