Managing Video Conversions with Elastic Transcoder
Elastic Transcoder, a relatively new service (started in 2013), is conceptually quite simple: It converts video files from one format to another.
Video transcoding is a widely applied computing task. The truth is that video is now a communication medium used by all types of organizationsfor all kinds of purposes — entertainment, education, documentation, evidence, and a thousand others. Thus, transcoding — the conversion ofone video format to another — is now a critical capability for video-producing entities. Being able to take a source video and prepare all the versions required for widely used display devices is now critical for organizations that want to leverage the power of visual communication. Elastic Transcoder was a foregone conclusion: It helps organizations perform useful video transcoding in AWS but removes the management overhead.
Elastic Transcoder, which is designed to simplify common transcoding tasks, lets you designate videos that need to be transcoded and automatically pulls individual videos from S3 storage, performs the transcoding operation, and then places the transcoded versions into S3 storage.
Elastic Transcoder operates quite simply:
1. Identify the video(s) you want to convert.
2. Create an Elastic Transcoder pipeline or use an existing pipeline. A pipeline in this context is simply a service end point to which jobs are submitted. An AWS account can have several different pipelines, which allows you to separate and prioritize transcoding tasks, if you want. You can, however, have only one pipeline.
3. Use AWS Identity and Access Management (IAM) to create a role for Elastic Transcoder. This step enables Elastic Transcoder to access your resources (say,video files in S3 buckets) to perform transcoding services. If Elastic Transcoder isn’t given appropriate access rights, it cannot access your resources and perform transcoding.
4. (Optional) Create a preset containing the settings that you want ElasticTranscoder to apply during the transcoding process. If you are using an existing pipeline, you can use an existing preset or create a new preset. Amazon provides presets to support popular transcoding operations such as formatting for the iPhone, which can be used instead of creatingyour own preset.
5. Create a job, which represents the transcoding operation for a specific video.The job is submitted in JSON notation. When the service was originally launched, each output format required a different job; today, you can request multiple outputs in a single job, which reduces your network transfer costs a bit.
6. (Optional) Configure Elastic Transcoder to use AWS’s SimpleNotification Service (SNS) to provide you with status updates as the jobis executed.
7. After the transcoding job is complete, do something with the outputvideos stored in S3.
Elastic Transcoder scope
Elastic Transcoder is regionally scoped: An individual pipeline resides in asingle region, although the service, because it has a RESTful interface, canuse S3 buckets associated with your account in other regions. At the time this book was written, Elastic Transcoder wasn’t available in all AWS regions, though you can expect that Amazon will soon make ElasticTranscoder available throughout all AWS regions.
Elastic Transcoder cost
Elastic Transcoder offers quite a simple cost model: AWS charges a fixed price per minute of transcoded video. For standard-definition (SD) video, the cost is around $.015 per minute; for high-definition (HD) video, the costis around $.030 per minute. The cost is slightly higher in certain regions, but no SD transcoding (as of this writing) costs more than $.018 per minute, nor does HD transcoding cost more than $.036 per minute.