(レポート) LD103: [ライブデモ] Elastic TranscoderとS3、CloudFrontを使用してアダプティブビットレート(HLSおよびDASH)のVODを準備して配信する #reinvent

はじめに

清水です。re:Invent2016にてAWSブース内で行われているLive DemoセッションでAmazon Elastic TranscoderとS3、CloudFrontを使用した動画配信のデモセッションがありました。
本エントリはこのセッションのレポートになります。 ライブデモセッションの特性上、スライドはありません。Management Consoleの操作画面が主となりますので、こちらを私が撮影した写真で紹介したいと思います。

LD103-01

デモセッション概要

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のパイプラインの画面を写しての説明です。

LD103-02

Elastic Transocoderのパイプラインでは、入出力の対象となるS3バケットを定義します。
他に、Permissionとして、S3にアクセスできる権限を持つIAMロールを設定します。
またNotificationを設定することでSNSと連携を行うことも可能です。

LD103-03

Elastic Transcoderのプリセットについて

続いてプリセットについての説明です。
プリセットはElastic Transocderの出力フォーマットの設定になります。 1プリセットで1つの出力フォーマットとなり、すでにデフォルトで用意されているSystem Presetもありますが、それを元にして新しいプリセットを作成することもできます。
今回のデモではカスタムしたものを使用していました。

LD103-04

LD103-05

Elastic Transcoderのジョブの作成

そしてジョブの作成です。
ジョブはElastic Transcoderにおける変換の単位になります。こちらがManagement Consoleの画面で、入力ファイルと、出力ファイルのプリセットを選択して、実際のトランスコード処理を定義します。

LD103-06

ただ、ライブでもではこの画面から[Create New Job]には進まず、AWS CLIでジョブを作成する方法を紹介していました。

実行コマンドはスクリプトとしてまとめられています。入力対象となるJSON(hls3.json)については、別途作成する必要があります。

LD103-07 入力ファイルの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を準備して配信する」の模様をお届けしました。 セッションレポートというよりも写真中心のレポートとなってしまいましたが、デモの様子が少しでも伝わればと思います!