Amazon Cloud Drive Using Amazon Elastic Transcoder
You can now upload videos to your Amazon Cloud Drive and view them on your Kindle or your Android device.
With support for a multitude of file formats and video codecs, implementing this feature from scratch would have been a lengthy and technically challenging undertaking. Cloud Drive already uses multiple AWS service, so using Amazon Elastic Transcoder was a natural move, and one that helped them to launch as quickly as possible.
I sat down with the Cloud Drive team to learn a bit more about their work. Here’s what they told me.
The top-level goal was to allow users of the Cloud Drive to upload most any video and be able to view it on a Kindle or Android device within minutes. After investigating the feasibility of creating their own transcoding system using a combination of open source and commercial software, they decided that the Elastic Transcoder would give them the features, efficiency, and scalability that were needed to launch on time.
The team wanted to allow users to upload and view almost any video. The Elastic Transcoder allows them to support more than 20 file formats and 40 video codecs, including videos captured on archaic devices and stored in obsolete formats.
Because Cloud Drive already stored uploaded files in Amazon S3 (they also make heavy use of EC2, SQS, SNS, CloudFront and DynamoDB), it was easy for the team to get started. They created an initial set of transcoding pipelines, decided on the set of output formats that they wanted to support, and created Elastic Transcoding presets as needed.
In order to provide a great user experience, the team set a goal of having finished videos available 15 minutes or less after they were uploaded. They were able to over-achieve on this goal and report that videos are often ready within a minute or two.
The Cloud Drive team gained additional efficiency by making use of a new feature just recently released for the Elastic Transcoder. Instead of creating one transcoding job for each desired output resolution (they currently support three), they simply request multiple outputs from a single job. This allows them to support more sizes and type of devices and simplifies their internal workflow management.
Cloud Drive users have already uploaded lots and lots of videos to their drives. In order to make these videos viewable, the Cloud Drive team worked to process the entire library ahead of the launch. They used transcoding pipelines to manage/optimize their workflow by stuffing each pipeline with a multitude of jobs. By making use of Elastic Transcoder’s ability to scale on demand, they were able to process their entire backlog in just a few weeks.
Without scalable processing infrastructure, they would have been faced with a thorny dilemma: acquire far more hardware than needed for transcoding on a long term basis, or force users to wait months for their older videos to become viewable.
Customer videos are stored in several different AWS Regions. The team made use of Elastic Transcoder in the US East (Northern Virginia), US West (Oregon), and Europe (Ireland).
Do It Yourself
You can transcode up to 20 minutes of SD video each month at no charge as part of the AWS Free Usage Tier. Read more about the Elastic Transcoder, peruse the documentation, and get started today.
PS – The Cloud Drive team is hiring for all sorts of interesting development, program management, and product management positions. I’m sure they’d be happy to take a look at your resume!