« 2012 AWSスタートアップチャレンジの受賞者が決定! | メイン | 【AWS発表】Amazon Simple Workflow Serviceが東京を含む7つリージョンでも利用可能に。IAMサポートも強化。 »

【AWS発表】動画を変換できる新サービス Amazon Elastic Transcoder のご紹介

トランスコーディングとは、メディアファイル(音声や動画)をあるフォーマーット、サイズ、クオリティから別のものに変換するプロセスです。自分自身でトランスコーディングシステムを実装するとかなり複雑になることがあります。オープンソースや商用のコードを組み合わせて使う必要があったり、スケーリングやストレージに対処する必要があるかもしれません。おそらく、メッセージキューなどを使用したワークロードの管理システムを実装する必要もあるでしょう。さらに、オーディオやビデオコーデックのライセンスを取得する必要もでてくるかもしれません。要するに、それほど簡単にはいかないということです。

AWSの新サービス、Amazon Elastic Transcoderを使えば、簡単に、スケーラブルでコスト効果の高い方法でビデオファイルを変換できるようになります。立ち上げ費用はなく、費用はトランスコードしたビデオの時間(分単位)によって決定されます。標準解像度(SD, 720p未満)のビデオのトランスコーディングは米国東部(北バージニア)リージョンで1分あたり0.015ドル(1.5セント)になります。高解像度(HD,720p以上)のビデオは同じく米国東部リージョンで1分あたり0.03ドル(3セント)になります。 AWS無料利用枠の一部として、SDトランスコーディング20分または、HDトランスコーディング10分を無料で利用可能です。

AWS Management ConsoleもしくはAPIを通してトランスコーディングジョブを開始できます。またトランスコーディングプロセスでの様々なポイントで通知を受けとるよう手配することができます。

トランスコーディングモデル
Amazon Elastic TranscoderはAmazon S3バケットから入力を受けとり、トランスコードをして、生成されたファイルを別のS3バケットに書き込みます。入力と出力に同じバケットを使うこともできまし、バケットをどのリージョンにすることもできます。トランコーディングジョブをあるリージョンで実行し、別のリージョンにコンテンツを受けとる場合は、通常のAWSのデータ転送料金がかかります。

ファイルをトランスコードする度に、5つの異なるタイプのオブジェクトを作成または参照します。1つまたは複数の入力ファイルから始めて、各ファイルのトランコーディングパイプラインにトランスコーディングジョブを作成します。各ジョブは特定のトランスードプリッセトを参照する必要があり、単一の出力ファイルの生成になります。

Elastic TranscoderはWeb、コンシューマ、プロフェッショナルなど様々なフォーマットの入力ファイルを受け入れます。 ファイルがマルチトラックの音声を含む場合、普通は左と右のチャンネルとして使われている、最初の二つが出力に渡されます。

Elastic Transcoderは出力ファイルを生成します。最初のリリースでは、MP4コンテナタイプ、H.264ビデオコーデック、およびAAC (Advanced Audio Coding) オーディオコーデックをサポートします。

ひとつ以上のトランスコーディングパイプラインを作成し名前をつける必要があります。パイプラインを作成する時、入力と出力のバケット、IAM roleと4つのSNSトピックを指定します。 Elastic Transcoderが開始した時、各ジョブが終了した時、エラーまたは警告状態を検出したことを知らせる必要がある時に通知が送信されます。 全ての通知用に同じトピックを使うこともできますし、それぞれ違うトピックを使うこともできます。デフォルトでは最大4つのトランスコーディングパイプラインを作成できます。それ以上必要な場合はお問いあわせください

パイプラインを作成した後、トランスコーディングプリセット(よくある出力フォーマット用にあらかじめ作成しました)を選択するかカスタムプリセットを作成する必要があります。プリセットは特定の入力ファイルを処理する際にどんな設定を使うかをElastic Transcoderに伝えます。プリセットは名前がつけられ、ベースとして他のプリセットを参照することができます。サンプルレート、ビットレート、解像度(出力の高さと幅)、リファレンスやキーフレームの数、ビデオのビットレート、サムネール作成オプションなど多くの設定を指定することができます。

次のステップはジョブの作成です。各ジョブはパイプライン、プリセット、S3のキーのペア(入力と出力のファイル名)を指定する必要があります。Elastic Transcoderは自動的に入力のフレームレート、解像度、インターレース、コンテナタイプを検出することができます。Jobに指定することで、自動的に検出された値を上書きするオプションがあり、必要であれば90度単位でビデオを回転するようElastic Transcoderに伝えることもできます。

パイプラインに投入されたジョブは、提出された順序で処理されますが、リソースが利用可能であれば、ひとつのパイプラインが同時に複数のジョブを処理するかもしれません。ジョブを処理するのに必要がクロックタイムの量は、入力ファイルとプリセットの設定の詳細に応じて変わりますが、一般的には、標準解像度のビデオで、ファイルの再生時間の3分の1程度になります。例えば、3分のビデオでだいたい1分程度かかります。必要に応じて、パイプラインを一時停止、再開することができます。

パイプラインに関連づけられたSNSトピックをサブスクライブすることでアプリケーションから各ジョブのステータスを監視することができます。 また、ListJobsByStatus関数を使って、指定した状態(例えば"Completed")の全てのジョブを見つけたり、GetJob関数を使って、特定のジョブについての詳細な情報を取得することもできます。

Elastic Transcoder in Action
ここでは、AWS Management Consoleを使ってビデオをトランコードしています。以下がそのスクリーンショットです。パイプラインを作成し、SNS通知を設定しています。


パイプラインとそのステータスを確認できます。

次に好きなプリセットを選択します。

そしてジョブを作成します。

ジョブの状態を監視し、完了を待つことができます。

ここでは、正常にビデオが変換された後メッセージを受けとれるよう、SNSトピックへのEメールサブスクリプションを作成しています。通知は以下のような形になります。

今すぐはじめましょう!
Amazon Elastic Transcoder は次のAWSリージョンで利用可能です。

  • 米国東部 (北バージニア)
  • 米国西部 (オレゴン)
  • 米国西部 (北カリフォルニア)
  • EU (アイルランド)
  • アジアパシフィック (東京)
  • アジアパシフィック (シンガポール)

Elastic Transcoderの料金についてさらに詳しい情報はこちらを参照ください。またデベロッパーガイドも合わせてご覧ください。

Enjoy Transcoding!

堀内康弘 (Facebook, Twitter)

 

コメント

トラックバック

この記事のトラックバックURL:
http://www.typepad.com/services/trackback/6a00d8341c534853ef017c3650fe33970b

【AWS発表】動画を変換できる新サービス Amazon Elastic Transcoder のご紹介を参照しているブログ:

Featured Event

2016年3 月

    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31