[新機能] Amazon Elastic TranscoderがMPEG-DASHに対応しました

2016.05.25

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

清水です。Amazon Elasitc TransocoderがMPEG-DASHに対応したことが、今朝のAWS公式ブログで発表されれていました。

MPEG-DASHはこれまでHLS、HDS、Smooth Stremingなど様々だったHTTPストリーミング配信フォーマットの統合を目指して制定された規格です。 少し前までは、動画変換側、再生端末側もそれぞれサポートされているものが少ない状況でしたが、 最近ではいろいろなところで目にするようになってきました。今後もますます広がっていくものと思います。 今回のAmazon Elastic Transcoderのアップデートでは、そんなMPEG-DASHへの動画変換がサポートされました。

プリセットを確認してみる

まずは、Elastic Transcoderで事前に設定されているSystem presetを確認して見ます。 ビットレートの違いで5種類のMPEG-Dash用プリセットが追加されていることがわかります。

001

また、プリセットの詳細を確認してみます。 下は1.2Mbpsのプリセットの例ですが、ビデオコーデックとしてはH.264を使用していることがわかります。

002

やってみた

それでは、このSystem presetを使用して実際にMPEG-DASHにトランスコードしてみたいと思います。

掲載当初、ジョブ作成時に「MPEG-Dash Video」 Preset のみを指定しており、これだと音声がトランスコードされませんでした。 「MPEG-Dash Audio」 Presetも追加する手順に変更して、映像・音声ともにトランスコードされるよう、手順を更新しました。(2016/05/28)

トランスコード処理

まずは、新たにパイプラインを作成します。 既存のパイプラインも使用できますが、今回はMPEG-DASH配信をS3から直接行いたかったので、 新たに作成、出力用バケットの設定の際に、Elasitc Transcoderで出力されるファイルがWeb公開状態となるように(All User にOpen/Download権限があるように)設定しました。

006-2

そしてジョブを作成します。 1つ目の出力設定「Output Details (1 of 1)」のPreset欄でビデオ側の出力設定、「System preset: MPEG-Dash Video 1.2M」を選択します。 Segment Durationは今回は6(秒)としました。 Output KeyはInput Keyのファイル名に_video_1200を付けておきました。

100

続いて、[+Add Another Output]をクリックして、出力設定を追加します。 こちらでは、Preset欄で「System preset: MPEG-Dash Audio - 128k」を選択します、オーディオ側の出力設定になります。Segment DurationはVideoと同じ6(秒)、Output Keyも同じように_audio_128を付けたものとしました。

そして[Add Playlist]をボタンを押してPlaylistを作成します。 Playlist名はInput Kyeのファイル名としました。 Playlist FormatはMPEG-DASHを選択し、Outputsにビデオの出力と、オーディオの出力の計2つを設定します。これでジョブを作成します。

101

ジョブを作成してしばらく待つと、出力用S3バケットに変換後のファイル2つとPlaylistファイルが作成されていました!

102

配信用のS3設定

今回は取り急ぎ、CloudFrontを経由せず、S3から直接配信してみたいと思います。 S3バケットに以下のCORS設定を行ないます。

<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
    <CORSRule>
        <AllowedOrigin>*</AllowedOrigin>
        <AllowedMethod>GET</AllowedMethod>
        <MaxAgeSeconds>3000</MaxAgeSeconds>
        <AllowedHeader>*</AllowedHeader>
    </CORSRule>
</CORSConfiguration>

MPEG-DASHを再生してみる

変換したMPEG-DASHを、S3から配信してみたいと思います。 Playerは、MPEG-DASHのReference Client最新版を使用します。

Enter your manifest URL hereのところに、S3に格納されているPlaylistファイルのURLを入力します。 今回は以下のアドレスとなりました。

  • https://s3-ap-northeast-1.amazonaws.com/[S3バケット名]/MPEG-DASH/Sample4_Playlist.mpd

そしてLoadを押すと、再生が始まりました!

103

まとめ

Amazon Elastic Transcoderが次世代動画ストリーミング規格であるMPEG-DASHに対応したので、駆け足で試してみました!

Elastic Transcoderは一月ほど前に次世代動画コーデックであるVP9にも対応しています([新機能] Amazon Elastic TranscoderがVP9コーデックに対応しました)。

今後もますますAmazon Elasti Transocderから目が離せなくなりました!