Cloud Service
AWS Elemental MediaConvert
ファイルベースの動画をブロードキャスト品質で各種フォーマットへ変換するフルマネージドなトランスコードサービス。
- 1.S3 上の動画ファイルを各種コーデック・配信形式に変換するファイルベースのトランスコーダ。
- 2.ジョブテンプレートと出力グループで、HLSやDASHなど複数の配信形式を一度に生成できる。
- 3.サーバー管理不要のフルマネージド。変換した出力の長さ(分)に応じた従量課金。
解決する課題
撮影・収録した動画ファイルは、再生する端末や配信方式に合わせて別のコーデックや形式へ変換(トランスコード)する必要があります。自前でトランスコード基盤を組むと、メディア処理用のサーバー、エンコーダソフト、スケーリングの運用が重くのしかかります。AWS Elemental MediaConvert は、このファイルベースの動画変換をフルマネージドで提供します。
- 1本のソース動画から、スマホ・PC・テレビ向けに複数の画質・形式を一括生成
- アダプティブビットレート配信(HLS・DASH など)用のセグメント済みファイル群を出力
- 放送・OTT(インターネット配信)レベルのブロードキャスト品質のトランスコードを利用
- 変換が走るときだけ処理し、待機サーバーを持たない従量課金
エンコーダの調達やクラスタ運用を抱えずに、API やコンソールからジョブを投げるだけで動画変換ができる点が中心的な価値です。
主要概念と用語
- トランスコード: ある動画の符号化(コーデック・解像度・ビットレートなど)を別の符号化へ変換する処理。MediaConvert の中核
- ジョブ: 1本(または複数)の入力動画を指定どおりに変換する処理単位。S3 上のファイルを入力とし、結果も S3 へ出力するのが基本
- 入力(Input): 変換元の動画ファイル。複数入力を連結したり、音声・字幕トラックを選択したりできる
- 出力グループ(Output Group): 出力の束。配信形式ごとに種類があり、ファイル出力、Apple HLS、DASH、CMAF、Microsoft Smooth Streaming などを選ぶ
- 出力(Output): 出力グループ内の各バリアント。解像度やビットレート違いの複数出力を並べてアダプティブ配信用のラダー(画質階層)を作る
- ジョブテンプレート: ジョブ設定を再利用可能にした雛形。共通の変換設定を標準化できる
- 出力プリセット: 個々の出力設定(コーデック・解像度など)を再利用する雛形
- キュー(Queue): ジョブを投入する待ち行列。優先度や同時実行の管理に使う。常時確保するリザーブド型と、使った分だけのオンデマンド型がある
- アクセラレーテッドトランスコーディング: 長尺・高解像度の動画を高速に処理する高速化モード
仕様・制限・クォータ
- 主要な動画コーデック(H.264、H.265/HEVC、AV1 など)や音声コーデックに広く対応する
- アダプティブビットレート配信向けに、HLS・DASH・CMAF・Smooth といったパッケージング形式を出力できる
- 1つのジョブで複数の出力グループ・複数の解像度を同時生成でき、画質階層をまとめて作れる
- 字幕・キャプションの取り込みと変換、音声トラックの選択・リミックス、サムネイル画像の生成などに対応する
- DRM(コンテンツ保護)連携や、画像・テキストのオーバーレイ(ロゴ焼き込み)などの機能を備える
- 同時実行ジョブ数やキュー数などにアカウント単位・リージョン単位のクォータがあり、引き上げ申請が可能
対応コーデックの一覧や具体的な上限値は更新されるため、最新の公式ドキュメントで確認してください。
内部の仕組み
利用者から見ると、入力ファイルと出力設定を渡すとマネージドなトランスコードエンジンが変換を行い、結果を S3 へ書き出すブラックボックスとして扱えます。
- 入力の取得: 通常は S3 上の入力ファイルを読み込む。複数入力の連結や、特定トラックの選択もここで指定する
- デコードと処理: 入力をデコードし、スケーリング、フレームレート変換、デインターレース、オーバーレイ、字幕の埋め込みなどの処理を適用する
- エンコードとパッケージング: 出力ごとに指定コーデックで再エンコードし、HLS や DASH の場合はセグメント分割とマニフェスト生成(パッケージング)まで行う
- 出力の書き出し: 生成物を出力グループごとに S3 へ書き出す。配信は CloudFront などの CDN から行うのが一般的
キューはジョブの実行順と並列度を管理し、リザーブド型では確保した処理能力の範囲で安定した実行を、オンデマンド型では必要なときだけの実行を提供します。スケーリングやハードウェアの管理はすべて AWS 側が担います。
設計パターン / ベストプラクティス
- イベント駆動の変換パイプライン: S3 への動画アップロードをトリガに Lambda でジョブを起動し、完了通知(EventBridge)で後続処理(CDN 配信準備・通知・カタログ登録)へ流す疎結合構成にする
- テンプレートで設定を標準化: 画質階層(ABR ラダー)はジョブテンプレートや出力プリセットに固定し、毎回の手作業をなくして品質を揃える
- 配信は CDN と組み合わせる: HLS・DASH の出力を S3 に置き、CloudFront から配信してオリジン負荷とレイテンシを下げる
- キューを使い分ける: 定常的なワークロードはリザーブドキューでコストを安定させ、突発的なジョブはオンデマンドキューでさばく
- 長尺は高速化モードを検討: 大きな入力はアクセラレーテッドトランスコーディングでターンアラウンドを短縮する
出力設定をジョブテンプレートとプリセットに固定すると、配信する全動画の画質階層やコーデック設定が揃い、ジョブ作成の手間とミスを大きく減らせます。
運用・監視
- ジョブの状態(投入・進行・完了・失敗・キャンセル)は CloudWatch のメトリクスで監視する
- ジョブの状態遷移を EventBridge のイベントとして受け取り、完了通知や後続処理を自動化する。完了をポーリングし続けるより推奨される方式
- API 操作の監査証跡は CloudTrail に記録される
- 失敗ジョブはエラーコードと理由(非対応の入力、権限不足、参照先の欠落など)を確認し、入力ファイルと IAM 設定を見直す
ジョブ完了をアプリ側で同期的に待つ作りにせず、EventBridge の完了イベントで後続処理を起動する非同期設計にしてください。ポーリングは無駄な API 呼び出しと遅延を増やします。
コスト
- 課金は基本的に生成した出力の再生時間(分)に対する従量制で、入力の長さや出力本数・設定(解像度やコーデック、高速化の有無など)によって単価が変わる
- サーバーを常時起動する費用は発生せず、変換を実行したときだけ課金される
- 同じ入力から多数の高解像度出力を作ると、その分だけ出力時間が積み上がりコストが増える
- リザーブドキューは確保した処理能力に対して定常的に課金され、安定したボリュームではオンデマンドより有利になりうる
具体的な単価は変動するため、料金は公式の料金ページで確認してください。短い動画で検証してから本番のボリュームを見積もるのが安全です。
セキュリティ
- アクセス制御は IAM で行い、ジョブ用の IAM ロールには入出力に使う S3 バケットへの最小権限のみを付与する
- 保存データは S3 側の暗号化(KMS 管理鍵を含む)、転送は TLS で保護する
- 有料コンテンツを守る場合は、DRM 連携で出力を暗号化し、鍵管理サービスと組み合わせる
- VPC 内のリソースからプライベートに到達したい場合は VPC エンドポイント経由のアクセスを検討する
MediaConvert に渡す IAM ロールに広すぎる S3 権限を与えると、想定外のバケットへアクセスできてしまいます。入力・出力に使うバケットとプレフィックスに絞った最小権限にしてください。
Well-Architected の観点
- 運用上の優秀性: フルマネージドで運用負荷を下げ、S3・Lambda・EventBridge と組み合わせて変換パイプラインを自動化・可観測化できる
- コスト最適化: 従量課金のため不要な高解像度出力を避け、ワークロードに応じてリザーブドとオンデマンドのキューを使い分ける
- セキュリティ: IAM の最小権限、保存・転送時の暗号化、必要に応じた DRM でコンテンツを保護する
- 信頼性: 非同期・疎結合な構成にし、ジョブ失敗時の再試行や通知を組み込む
試験で問われるポイント
- 「保存済みの動画ファイルを別形式に変換したい」→ AWS Elemental MediaConvert(ファイルベースのトランスコード)
- ライブ映像のリアルタイム配信エンコードは MediaLive、配信パッケージングは MediaPackage、保管・管理は MediaStore と役割が分かれる
- 1本の入力から HLS や DASH の複数画質を一括生成し、CloudFront で配信する構成は定番
- S3 アップロードを起点に Lambda でジョブ起動、EventBridge で完了検知という疎結合パイプラインが問われやすい
- 課金は生成した出力の再生時間(分)ベースで、待機サーバー費用は不要
関連サービス・比較
ライブ映像をリアルタイムにエンコードする AWS Elemental MediaLive と混同しやすいため比較します。MediaConvert は録画済みファイルの変換、MediaLive はライブ入力の配信向けです。
| 観点 | MediaConvert | MediaLive |
|---|---|---|
| 入力の種類 | S3上の動画ファイル | ライブ映像ストリーム |
| 処理の性質 | ファイルベースのバッチ変換 | リアルタイムのライブエンコード |
| 代表的な用途 | VODの作成・複数形式への変換 | ライブ配信・生放送の配信 |
| 課金の考え方 | 生成した出力の分数に対する従量制 | チャネル稼働時間に対する課金 |
ハンズオン / CLI例
# アカウント専用のMediaConvertエンドポイントを取得(リージョンごとに固有)
aws mediaconvert describe-endpoints \
--query "Endpoints[0].Url" --output text
# 取得したエンドポイントを指定してジョブを投入(設定はJSONファイルにまとめる)
aws mediaconvert create-job \
--endpoint-url https://xxxxxxxx.mediaconvert.ap-northeast-1.amazonaws.com \
--cli-input-json file://job-settings.json
# ジョブの状態を確認(COMPLETE になったら出力先S3を確認)
aws mediaconvert get-job \
--endpoint-url https://xxxxxxxx.mediaconvert.ap-northeast-1.amazonaws.com \
--id 1234567890123-abcdef \
--query "Job.Status"
AWS Service
AWS Elemental MediaConvertを実務で読む
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
解決すること
メディア
比較で見る軸
クラウド: AWS / カテゴリ: メディア / 難易度: basic
導入後に効く点
ジョブテンプレートと出力グループで、HLSやDASHなど複数の配信形式を一度に生成できる。
先に潰すリスク
サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。
- クラウド
- AWS
- カテゴリ
- メディア
- 難易度
- basic
- 関連資格
- DVA-C02
- 設計柱
- operational / cost
判断チェックリスト
- 自社の用途が「メディア / operational」に近いか確認する。
- 強みである「S3 上の動画ファイルを各種コーデック・配信形式に変換するファイルベースのトランスコーダ。」が本当に評価軸になるか確認する。
- 注意点の「サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。」を運用で吸収できるか確認する。
- 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
- 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
- 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。