AWS Elemental MediaConvert

AWS Elemental MediaConvert 使ってみた

はじめに

こんにちは。エナジードリンクはモンスターのピンクを常飲しているヤナイです。

今回はAWS Elemental MediaConvert(以下MediaConvert)を使って
MP4のファイルからストリーミング配信用のHLS形式に変換してみたので
記事にしていこうかなと思います。

MediaConvertについて

  • ファイルベースの動画変換ができて専用のインフラは必要なし。
  • 料金は従量課金で安価。
  • コンソールの操作自体は簡単。

特徴としてはこの辺りが当てはまるところじゃないかと思います。
それでは利用手順を紹介していきます。

IAMロール作成

[ロールの作成]から[ユースケースの選択]にmediaconvertがありますので
そちらを選択します。ロール名は任意ですが"MediaConvert_Default_Role"と
しておくとMediaConvertのジョブ実行時に自動でこのロールが使用されます。

S3の設定

まずは動画をアップロードする用のS3の作成が必要です。
同一ディレクトリに入れると分かりにくいので
アップロード用と変換後用のフォルダを作っておきます。

MediaConvertの設定(テンプレート作成)

次はMediaConvertの設定です。
基本的にはジョブを実行することで変換ができるのですが、
都度作成する手間がかからないようにテンプレートを作ることができます。
テンプレ―トの作成で設定が必要な項目は以下の通りです。

  • 一般設定
  • 入力
  • 出力グループ

一般設定ではジョブテンプレートの名前などを設定します。
今回はMP4からHLSに変換するので以下のように入力しておきます。(カテゴリと説明の設定は任意です。)

入力は素直にデフォルトのままでエンコードできるようなので特に設定はいじらないでおきます。

出力グループについてですが、
ここでは変換される動画、画像の形式の詳細を設定します。まずは[出力グループ]でApple HLSを選択してあげます。そして、[送信先]のS3の情報を入れてあげます。([カスタムグループ名]は任意です。)

出力設定について、今回は以下の設定をいじって作成してみました。

  • 配信プロトコル:HLS
  • 名前修飾子: _hls
  • ビデオコーデック :MPEG-4 AVC(H.264)
  • フレームレート:30fps
  • ピクセルアスペクト比:16:9
  • ビットレート: 50000

MediaConvertの設定(ジョブ作成)

ジョブテンプレートが出来たら、後は実行のみなので設定したテンプレートのラジオボタンにチェックを入れて[ジョブの作成]を選択します。変換するファイルを設定する必要があるので事前に作成したS3の情報を入力してから作成を行います。

IAMロールをデフォルト以外で作成した場合は[設定]からIAMロールを選択します。

ジョブを作成して、ジョブのステータスが COMPLETE になれば成功です。
S3のバケットを見てみると、対象のmp4 ファイルが変換された拡張子で配置されているかと思います。

最後に

CloudFrontを上段に設定するとS3から配信するよりサーバレスで動画配信できるサービスが作れそうです。本格的に利用するならアップロード用のS3とhlsのファイルを置くS3は分けてLambdaで変換させるようなファイルをアップロードしたら変換するような設定するといいのではないかと思います。
簡単に設定できるので是非使ってみてください。

参考

https://docs.aws.amazon.com/ja_jp/mediaconvert/latest/ug/getting-started.html

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA