Before we dive into how Amazon Web Services(AWS) can optimize your transcoding using Cloud, lets understand what exactly is video transcoding. Imagine you run a website that hosts a lot of videos that are viewed all over the world on PCs, mobile phones and tablets. Ideally you would want to convert them onto various formats so that different platforms can render them with maximum quality and minimum time. Basically transcoding means conversion of your video files into different formats so that they can be viewed on different devices and platforms.
So What Exactly Happens when You Transcode a Video ?
(If you already know how transcoding works, skip to the next section to understand AWS’s take on transcoding or read along)
Well a video file essentially has one section that stores its meta data, i.e data about the type, quality, size and other video properties. Then we have the two or three different tracks. The first track is the video track, the second is the audio track and the third which is present in some videos which you probably would have guessed by now contains the subtitles. These two or three tracks along with the meta data is encoded (using a codec). In Encoding, the streams are multiplexed (or interleaved) into a single container for distribution purposes. This is how the video file is created.
When you are transcoding such a video file, a process of decoding (i.e extracting the file into its constituent tracks) takes place followed by the transcoding job (noise is removed, scale and dimensions may be changed, streams can be sharpened) where the formats are changed, after which the streams are again encoded and multiplexed into a single container and stored in pipelines like: one audio chunk, one video chunk; then next audio chunk, then next video chunk and so on. A common transcoding task would be converting an H.264/AAC format into a regular MP4 format. For a detailed description on transcoding and why transcoding visit the Long tail community blog.
AWS’s take on Transcoding – Using Amazon Elastic Transcoder
The Amazon Elastic Transcoder is a pay as you go transcoder with no upfront costs or installations available on the Amazon Cloud. What sets this transcoder apart from the rest are the various cloud computing benefits that come along with it, and a wide array of presets of video formats already available for you to choose from. You can either use the AWS Management Console to create the transcoded videos or you can use APIs(Application Programming Interface) and SDKs(Software Development Kit) available which can be used for setting up transcoding jobs automatically. Using the SNS(Simple Notification Service) of AWS you also have the option of getting notifications of the media files have been transcoded and what are the status quo of the various jobs in process. With Amazon Elastic transcoder you get 20Mb of transcoding free every month.
How Does the Elastic Transcoder Work ?
Well, first up, in the AWS Management Console you upload your media files on S3(Simple Storage Service) buckets. Then create your pipelines and connect them to the S3 input & output buckets; you can also set up IAM parameters (who has access to the data). Now define your job i.e select the files to be transcoded. You can choose from a variety of preset formats available or you can create your own custom presets. Once you have created your job you can check its progress and get notifications. When the job is finished you can upload the files from S3 to your storage devices or have them distributed using AWS Cloud’s own CDN CloudFront (The possibilities are endless). You can also have multiple pipelines set in parallel for high and low priority jobs.
Sounds simple ? Well, then check this video that demonstrates how you can transcode a 1 minute video in less time than it takes to view it!
While all this is happening in the management console or using APIs, what happens in the background? Well Amazon doesn’t believe in re inventing the wheel and uses its basic Storage and Compute elements, i.e S3 & EC2 (Elastic Compute Cloud) combined with Auto Scaling and SNS(Simple Notification Service) so that you can scale up and down instantly depending on the demand. For a better brief on what happens behind the scene while your videos get transcoded, check our blog.
So What are the Key Benefits & Features of Using Amazon Elastic Transcoder ?