(レポート) LD103: [ライブデモ] Elastic TranscoderとS3、CloudFrontを使用してアダプティブビットレート(HLSおよびDASH)のVODを準備して配信する #reinvent
はじめに
清水です。re:Invent2016にてAWSブース内で行われているLive DemoセッションでAmazon Elastic TranscoderとS3、CloudFrontを使用した動画配信のデモセッションがありました。
本エントリはこのセッションのレポートになります。
ライブデモセッションの特性上、スライドはありません。Management Consoleの操作画面が主となりますので、こちらを私が撮影した写真で紹介したいと思います。
デモセッション概要
Elastic TranscoderとS3、CloudFrontを使用したアダプティブビットレートのVOD配信のデモとなりますが、主にElastic Transcoderでの動画変換の手順について時間を割いていました。
- Elastic Transcoderのパイプラインのについて
- Elastic Transcoderのプリセットについて
- Elastic Transcoderのジョブの作成
- CloudFrontを経由しての配信確認
デモをしてくださるのはこちらのLee Akinsonさん(Solutions Architect , Amazon Web Services)です。
Elastic Transcoderのパイプラインのについて
まずはパイプラインの説明から入りました。Management Consoleのパイプラインの画面を写しての説明です。
Elastic Transocoderのパイプラインでは、入出力の対象となるS3バケットを定義します。
他に、Permissionとして、S3にアクセスできる権限を持つIAMロールを設定します。
またNotificationを設定することでSNSと連携を行うことも可能です。
Elastic Transcoderのプリセットについて
続いてプリセットについての説明です。
プリセットはElastic Transocderの出力フォーマットの設定になります。
1プリセットで1つの出力フォーマットとなり、すでにデフォルトで用意されているSystem Presetもありますが、それを元にして新しいプリセットを作成することもできます。
今回のデモではカスタムしたものを使用していました。
Elastic Transcoderのジョブの作成
そしてジョブの作成です。
ジョブはElastic Transcoderにおける変換の単位になります。こちらがManagement Consoleの画面で、入力ファイルと、出力ファイルのプリセットを選択して、実際のトランスコード処理を定義します。
ただ、ライブでもではこの画面から[Create New Job]には進まず、AWS CLIでジョブを作成する方法を紹介していました。
実行コマンドはスクリプトとしてまとめられています。入力対象となるJSON(hls3.json)については、別途作成する必要があります。
入力ファイルのJSONには、Input Key, OutputKeyPrefix, OutputのPresetId, またPlaylistの設定を記述します。
このシェルスクリプトを実行することで、ジョブが作成されます。 作成したジョブをManagement Consoleで確認して、「Processing」から「Complete」に変わればトランスコード完了です。
トランスコードが完了すると、出力先のS3バケットにファイルが生成されていることを確認できます。
CloudFrontを経由しての配信確認
最後に、CloudFrontを経由しての配信確認です。S3をオリジンにして事前にCloudFrontを作成しておきます。CloudFrontのドメインにアクセスすると、S3にある配信Playerとマニフェストファイルm3u8へのパスを仕込んだindex.htmlを読み込み、このようにBig Bug Bunnyの動画が再生されました!
まとめ
re:Invent2016にてAWSブース内で行われているLive Demoセッション「LD103: Elastic TranscoderとS3、CloudFrontを使用してアダプティブビットレート(HLSおよびDASH)のVODを準備して配信する」の模様をお届けしました。 セッションレポートというよりも写真中心のレポートとなってしまいましたが、デモの様子が少しでも伝わればと思います!