Help us understand the problem. What is going on with this article?

AWS Answers 提供の”Video on Demand on AWS”をやってみた

More than 1 year has passed since last update.

こんにちは!hagi@streampackです。

はじめに

今回は以前より気になっていたAWS Answersにある”Video on Demand on AWS”をやってみました。
作成の詳細はAWS Answersのページ(英語)をご参考ください。
こちらはあくまで私個人が利用した感想となります。

上記のページにはCloudFormationのテンプレートやドキュメントのリンクもあり、読む限り全てが準備されているようです。こちらで必要なのはAWS アカウントとコンテンツのみ。

環境

スクリーンショット 2018-03-14 15.40.31.png

CloudFormationのテンプレからは上記の環境が作成されるようです。
注意としては全てのサービスが提供されているリージョンで作成が必要なようです。
東京リージョンは全部揃っているので東京リージョンで作成。

CloudFormation テンプレート

入手

"Video on Demand on AWS”のページから"Deploy solution"をクリックすると簡単にデプロイできるページに飛ぶのですが、なんだか怖いのでテンプレートをダウンロードすることに。
**Launch Solutionのすぐ下からテンプレートをダウンロードすることができます。

デプロイ

CloudFormationでテンプレを読み込み"次へ"を押下。すると下記の画面が表示される。

スクリーンショット 2018-03-14 16.01.40.png

とりあえずスタックの名前を決め、すぐ消す予定なのでGlacier送りをfalse、動画のフレームキャプチャーはみてみたいのでtrueにして"次へ"
後からわかったことですがadminのメールアド未入力だとエラーが出ますのでご入力ください。

スクリーンショット 2018-03-14 16.10.19.png

ドキュメントにはオプションページは"次へ"を押下的な記述があるのでそのまま押すことにしました。
次ページでは"AWS CloudFormation によって IAM リソースが作成される場合があることを承認します。"にチェックマークを入れ"作成"を押下。

作成物

"作成"を押すと一気に色々な物が作成されます。
用途は勝手ながら私の名前からの推測です

s3

今回の設定で作成されるs3バケットは下記の通りでした。

バケット名 用途(推測) 備考
demo-source-xxxxxxx 元動画のアップロード用
demo-mp4destination-xxxxxx 変換されたmp4の出力用
demo-logs-xxxxx ログ用
demo-abrdestination-xxxxx HLS、DASH用 バケットポリシーも作成される

CloudFront

Name 用途(推測) 備考
demo-abrdestination-xxxxx demo-abrdestination-xxxxxがオリジン

その他

たくさんのLambda関数やStep関数やIAMロールが作成されますが、CloudFormationスタック作成後興味がある方はご確認ください。
ソースコードはこちらで公開されています - https://github.com/awslabs/video-on-demand-on-aws

動画変換実行

  1. s3://demo-source-xxxxxxx に動画をアップロード
  2. email通知をもらう(Workflow started)
  3. 32分後完了email通知をもらう

成果物

元動画 - Video (h.264,1920x1080,3.9mbps,fps 29.97) audio(AAC、48000hz、ステレオ) ファイルサイズ(141.2MB)

name コンテーナ video audio
demo_720p mp4 h.265,1280x720,fps 25 6.7mbps AAC、48000hz、ステレオ
demo_1080p mp4 h.265,1920x1080,fps 25 8.6mbps AAC、48000hz、ステレオ
demo.m3u8 HLS マスター
demo_270p.m3u8 HLS h.264,480x270, fps 14.985, 522kbs AAC、48000hz、ステレオ
demo_360p.m3u8 HLS h.264,640x360, fps 29.97, 1.4mbps AAC、48000hz、ステレオ
demo_540p.m3u8 HLS h.264,960x540, fps 29.97, 3.8mbps AAC、48000hz、ステレオ
demo_720p.m3u8 HLS h.264,1280x720, fps 29.97, 5.5mbps AAC、48000hz、ステレオ
demo_1080p.m3u8 HLS h.264,1920x1080, fps 29.97, 9.4mbps AAC、48000hz、ステレオ
demo.mpd DASH マスター
demo_270pinit.mp4 DASH h.264,640x360, fps 14.985, 400kbps
demo_360pinit.mp4 DASH h.264,640x360, fps 29.97, 1.2mbps
demo_540pinit.mp4 DASH h.264,960x540, fps 29.97, 3.5mbps
demo_720pinit.mp4 DASH h.264,1280x720, fps 29.97, 5mbps
demo_720pinit.mp4 DASH h.264,1280x720, fps 29.97, 5mbps
demo_audioinit.mp4 DASH AAC、48000hz、ステレオ 128kbps

avc->hevc変換でなぜビットレートが上がるのか...

削除

削除は簡単でCloudFormationのスタック削除でほぼ全て消えます。
消えないのは確認した限りですとs3バケットとその中身でした。

最後に

AWS Answersのテンプレを利用することで簡単にサーバーレスな環境ができるのがかなり便利でした。
そのまま使うのもありかもしれませんがソースコードも提供されているのでカスタマイズもできそうです。

作成して内容を参考にするだけでも有益ですが。

khagi
cloudpack
Amazon Web Services (AWS) の導入設計、環境構築、運用・保守をサポートするマネジドホスティングサービス
https://cloudpack.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away