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!
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...
What Exactly Is a Cloud Architect and How Do You Become One?
One of the buzzwords surrounding the cloud that I'm sure you've heard is "Cloud Architect." In this article, I will outline my understanding of what a cloud architect does and I'll analyze the skills and certifications necessary to become one. I will also list some of the types of jobs ...
Boto: Using Python to Automate AWS Services
Boto allows you to write scripts to automate things like starting AWS EC2 instances Boto is a Python package that provides programmatic connectivity to Amazon Web Services (AWS). AWS offers a range of services for dynamically scaling servers including the core compute service, Elastic...
Content Roadmap: AZ-500, ITIL 4, MS-100, Google Cloud Associate Engineer, and More
Last month, Cloud Academy joined forces with QA, the UK’s largest B2B skills provider, and it put us in an excellent position to solve a massive skills gap problem. As a result of this collaboration, you will see our training library grow with additions from QA’s massive catalog of 500+...
DevSecOps: How to Secure DevOps Environments
Security has been a friction point when discussing DevOps. This stems from the assumption that DevOps teams move too fast to handle security concerns. This makes sense if Information Security (InfoSec) is separate from the DevOps value stream, or if development velocity exceeds the band...
Test Your Cloud Knowledge on AWS, Azure, or Google Cloud Platform
Cloud skills are in demand | In today's digital era, employers are constantly seeking skilled professionals with working knowledge of AWS, Azure, and Google Cloud Platform. According to the 2019 Trends in Cloud Transformation report by 451 Research: Business and IT transformations re...
Disadvantages of Cloud Computing
If you want to deliver digital services of any kind, you’ll need to estimate all types of resources, not the least of which are CPU, memory, storage, and network connectivity. Which resources you choose for your delivery — cloud-based or local — is up to you. But you’ll definitely want...
Google Cloud vs AWS: A Comparison (or can they be compared?)
The "Google Cloud vs AWS" argument used to be a common discussion among our members, but is this still really a thing? You may already know that there are three major players in the public cloud platforms arena: Amazon Web Services (AWS), Microsoft Azure, and Google Cloud Platform (GCP)...
Deployment Orchestration with AWS Elastic Beanstalk
If you're responsible for the development and deployment of web applications within your AWS environment for your organization, then it's likely you've heard of AWS Elastic Beanstalk. If you are new to this service, or simply need to know a bit more about the service and the benefits th...
How to Use & Install the AWS CLI
What is the 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 and implement a level of automation. If you’ve been using AWS for some time and feel...
Cloud Academy’s Blog Digest: July 2019
July has been a very exciting month for us at Cloud Academy. On July 10, we officially joined forces with QA, the UK’s largest B2B skills provider (read the announcement). Over the coming weeks, you will see additions from QA’s massive catalog of 500+ certification courses and 1500+ ins...
AWS Fundamentals: Understanding Compute, Storage, Database, Networking & Security
If you are just starting out on your journey toward mastering AWS cloud computing, then your first stop should be to understand the AWS fundamentals. This will enable you to get a solid foundation to then expand your knowledge across the entire AWS service catalog. It can be both d...