AWS再入門ブログリレー Amazon Elastic Transcoder編

こんにちは、コカコーラ大好きカジです。

当エントリは弊社コンサルティング部による『AWS 再入門ブログリレー 2019』の2日目のエントリです。

このブログリレーの企画は、普段AWSサービスについて最新のネタ・深い/細かいテーマを主に書き連ねてきたメンバーの手によって、 今一度初心に返って、基本的な部分を見つめ直してみよう、解説してみようというコンセプトが含まれています。

AWSをこれから学ぼう!という方にとっては文字通りの入門記事として、またすでにAWSを活用されている方にとってもAWSサービスの再発見や2019年のサービスアップデートのキャッチアップの場となればと考えておりますので、最後までお付合い頂ければ幸いです。

では、さっそくいってみましょう。2日目のテーマは『Amazon Elastic Transcoder』です。

目次

Amazon Elastic Transcoderとは

Amazon Elastic Transcoderは、動画ファイルをさまざまなデバイスに対応した動画ファイルへ変換できるサービスです。

特徴

  • ライセンス無しで、初期費用が不要
  • 変換対象の動画の長さで課金
  • フルマネージドでストレージの管理やソフトウェアの管理も不要
  • 並列処理も可能でスケーラブル
  • GUIやAPIで実行しシンプル

ユースケース

上記のような特徴を持つAmazon Elastic Transcoderですが、主なユースケースは大きく以下が挙げられます。

  • iPhoneなどで撮影した動画を、PCなどのマルチデバイスで見れる動画ファイルに変換
  • 動画変換時にウォータマーク(すかし=動画に写し込まれる小さな図案や文字)の挿入
  • サムネイル画像の自動生成

AWS Elemental MediaConvertとの比較

似たサービスでAWS Elemental MediaConvertがあります。

Elastic Transcoder と MediaConvertの比較選定基準として、

  • WebM出力、MP3オーディオのみの出力、アニメーションGIF出力など、Elastic Transcoderにしかない出力機能を使う場合は、Elastic Transcoder。
  • それ以外の場合はMediaConvert(コストメリット、最先端フォーマットへの対応などの利点)

となります。

概要構成

Amazon S3と組み合わせて使いますが、CloudFrontを利用するとそのまま動画を公開できますし、Lambdaを利用することで、アップロードの変換処理を自動化できます。

用語

Elastic Transcoderの使い方の紹介に入る前に、Amazon Elastic Transcoderで使われる主な用語を整理しておきたいと思います。

用語 内容
Pipeline 変換実行する処理(Job)の管理
変換元と変換先のS3バケットの管理
SNS通知
Job 動画変換処理を管理
サムネイルの自動生成
変換元および変換先のファイル名やパス指定
Preset さまざまなデバイスに対応した変換方式の設定パラメータ管理

Presetについての詳細はシステムプリセット - Amazon Elastic Transcoder

Getting Started

(1) S3バケットの作成

http://aws.amazon.com/jp/s3/から、Amazon S3のマネジメントコンソールを開きます。 「バケットの作成」をクリックします。

バケット名はアップロード用とわかるように「kaji-video-in」としています。

そのほかはデフォルトのままでOKです。

変換後の動画保存用のS3バケットも同様に作成しておきます。「kaji-video-out」としました。

(2) S3バケットへファイルのアップロード

アップロード用のS3バケットに変換したい動画をアップロードします。

今回はお気に入りのイヤホンをiPhoneXでビデオ撮影したものをアップロードしました。

iPhoneで撮影したので、QuickTime形式の動画ファイルで拡張子がMOVになります。

(3) Elastic TranscoderのPipeline作成

Elastic Transcoderを開きます。

Create a new PipelineでPipelineを作成します。

Pipelineが作成できました。

(4) Elastic TranscoderのJob作成

Create new jobでJobを作成します。

Pipelineと変換元の動画ファイル名、変換後の動画ファイル名を指定してJobを作成します。

Job StatusがSubmittedになっているところが変化します。Job Statusには以下のステータスがあります。

ステータス 意味
Progressing パイプライン内のジョブの処理が開始
Complete パイプライン内のジョブの処理が完了
Warning パイプライン内のジョブの処理中に警告状態が検出
Error パイプライン内のジョブの処理中にエラー状態が検出

Errorは変換後ファイルがすでに存在する場合にエラーになりました。

Completeになったら変換完了です。

出力先のS3バケットから動画ファイルをダウンロードし、以下のようにMOVファイルがmp4ファイルに変換されていました。

実際に変換した動画がこちら

合わせて読みたい

S3についての詳細は AWS再入門 Amazon S3編 | DevelopersIO

Elastic Transcoderのウォーターマークについての詳細は Amazon Elastic Transcoderのウォーターマーク機能を使ってみた | DevelopersIO

CloudWatchでElastic Transcoderをモニタリングするには・・・ [新機能] Amazon Elastic TranscoderがCloudWatchでモニタリング可能になりました! | DevelopersIO

LambdaでElastic Transcoderを自動化するには・・・ サーバレスアーキテクチャな動画変換 〜 “Easy Video Transcoding in AWS”を読んでみた&やってみた | DevelopersIO

AWS資料

AWS Black Belt Techシリーズ Amazon Elastic Transcoder

Amazon Elastic Transcoder(初心者向け 超速マスター編)JAWSUG大阪

さいごに

以上、『AWS サービス別 再入門ブログリレー 2019』の2日目のエントリ『Amazon Elastic Transcoder編』でした。Amazon Elastic Transcoderは安価に使えるので、今回ご紹介した機能について実際にその手で触って動作を確かめていただくとより理解が深まるかと思います。 またメディア系サービスなどの最近リリースされた新機能については改めてキャッチアップしておきましょう。

明日(7/3)はKitano Yuichiの「Amazon SES」の予定です。お楽しみに!