読者です 読者をやめる 読者になる 読者になる

まめ畑

ゆるゆると書いていきます

Amazon Elastic Transcoderを使ってみた

AWS

今日、AWSからAmazon Elastic Transcoderが発表されました。
簡単に言うと、AWS上で動画のエンコードを行えるソリューションです。動画エンコードもクラウドで行える時代ですね。
しかも、エンコードの時間ではなく、元動画の時間で課金がされます。また、Pipelineの中のJobという形で並行して同一の元動画から、複数の形式でエンコードが行えます。また、サムネイルも作成することもできます。
データの入出力はS3で行われるので、大容量の動画のエンコードも楽に行えます。

公式の図がわかりやすいです
f:id:con_mame:20130129235328p:plain

詳しくは:
http://aws.typepad.com/aws/2013/01/amazon-elastic-transcoder.html
http://aws.amazon.com/en/elastictranscoder/
を参照して下さい。

考えられる使い方は、EC2で動いてるインスタンスで動画のアップロードうけて、そのままS3に送って、SQSにエンコードキューいれて、エンコーダのjobをAPIで叩くバッチ動かしといて、S3にエンコード後のデータを置いて、CloudFrontでそのままさくっと配信。のような事が気軽に出来ますね。
複数の形式に同時にエンコード出来るので、ユーザさんが投稿した動画をiPhone向け・PC向け・Kindle向けなどに同時にエンコードできます。

簡単に使ってみた

まずはS3にエンコード前後のデータを格納するバケットを作ります。今回は、1つのバケットにuploadとencodedというフォルダを作ってテスト動画をuploadしました。
f:id:con_mame:20130129234315p:plain
f:id:con_mame:20130129234316p:plain
f:id:con_mame:20130129234317p:plain


Elastic Transcoderタブを開いてPipelineを作成します。
f:id:con_mame:20130129234318p:plain
今回はencode-testという名前で作成しました。Input Bucketはtext fieldをクリックするとsuggestされます。Output bucketも同じく入力します。
IAMで権限を付けてS3へのアクセス権を制御出来ます。
f:id:con_mame:20130129234319p:plain
イベントに応じてSNSでの通知などもできます。
f:id:con_mame:20130129234320p:plain


Pipelineが出来たので、Pipelineに対してJobを作ります
f:id:con_mame:20130129234321p:plain
f:id:con_mame:20130129234322p:plain


Input key / Outputkeyを入力します。フォルダ名/ファイル名 という形で入力します。
f:id:con_mame:20130129234324p:plain
Presetもあるのでこちらからエンコード形式などを選びます。もちろん自分でも作成出来ます。
f:id:con_mame:20130129234323p:plain
サムネも作ってくれます。1分毎な気配です。
f:id:con_mame:20130129234325p:plain
その他のオプションは
f:id:con_mame:20130129234326p:plain
こんな感じです。
Jobを作ったらすぐにエンコードが開始されます。

エンコード中は
f:id:con_mame:20130129234328p:plain
の様にProcessingとなっています。これがCompletedになるとS3にエンコード済データが置かれています。Jobの検索は左のJobメニューからステータスやPipelineなどの条件で検索可能です。


完了すると
f:id:con_mame:20130129234329p:plain

エンコード済みデータやサムネイルがS3に置かれます。
f:id:con_mame:20130129234331p:plain
f:id:con_mame:20130129234330p:plain


1080pのプリセットはこのようになっています。
f:id:con_mame:20130129234327p:plain

まとめ

このように凄く簡単に動画のエンコードをすることが可能です。
料金も安いため、家のストレージに置いてあるデータをS3にあげて一気にエンコードという事もできます。
エンコード速度はエンコードの設定によりますが、今回使用した設定では0.8倍程度でした。
エンコードもクラウドの時代になりましたね。
AWSの利用方法がさらに広がった感じがします。