[AWSメディアサービスことはじめ] aws-samplesでお手軽にメディアサービスを触ってみる

AWSがaws-samplesに公開しているワークショップ(aws-media-services-simple-live-workflow)では手順に沿って作業を進めるだけでAWSメディアサービスの一部であるMediaLive, MediaPackage, MediaTailorを触ることができます。 本記事ではワークショップを実際にやってみつつ、全体の流れを紹介していきます。
2019.09.27

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

こんにちは、大前です。

「AWS MediaServices 触りたいけどどこから手をつければ良いのかさっぱり。。」な方も少なくないのかな、と思います。

そこで、AWS が GitHub 上に公開しているワークショップがメディアサービスをお手軽に触れてとても良かったので紹介していきたいと思います。

AWS Live Streaming and Live-to-VOD Workshop

概要

このワークショップで行うことは以下です。

MediaPackage、MediaLive、MediaTailor に実際に触りながらワークショップを進める事が出来ます。

  1. IAM ロールの作成
  2. AWS Elemental MediaPackage の設定
  3. AWS Elemental MediaLive の設定
  4. 確認
  5. AWS Elemental MediaTailor の設定
  6. (オプション)CloudWatch でダッシュボード作成 ※CloudWatch上の操作のみのため省略します

やってみる

※詳細な手順は各リンク先にありますのでご参照ください 。要所のみ取り上げます。

1. IAMロールの作成

Elemental MediaLive を設定する際に IAM ロールが必要であるため、先に作成します。

手順に沿って操作を進めると、以下の様なロールが出来上がります。

2. AWS Elemental MediaPackage の設定

ここでは AWS Elemental MediaPackage の設定を行なっていきます。

MediaPackage のコンソール画面からチャンネルを作成。

 

「Create a CloudFront distribution for this channel」選択しておくと自動的に CloudFront の Distribution を作成してくれます。

 

チャンネルを作成したら、エンドポイントを作成していきます。

手順通りに進めると、以下の様に2つエンドポイントが出来上がります。

3. AWS Elemental MediaLive の設定

ここでは AWS Elemental MediaLive の設定を行なっていきます。

 

まずは「入力(Input)」を作成します。

手順通りに進めると以下の様になるかと思います。

m3u8 ファイルを自前で用意しなくて良いのは助かりますね。

 

「入力(Input)」を作成したらチャネルを作成します。

手順通りに進めると以下の様になります。

途中で MediaPackage で作成された URL を使用するのでメモっておくと良いかもしれません。

4. 確認

このモジュールでは、設定通りに動画配信を行えているかを確認するための方法がいくつか紹介されています。

AWS Elemental MediaPackage上で確認

AWS Elemental MediaPackage のコンソール画面にはビデオプレーヤーが埋め込まれているため、コンソール上で確認が出来ます。

MediaPackage で作成したチャンネルのエンドポイントにそれぞれ「Play」ボタンがあるので、クリックします

 

コンソール上で確認することができました。お手軽でいいですね。

Web上のプレイヤーで確認

MediaPackage のエンドポイントに表示されている CloudFront URL を Web上のプレイヤーで使い、確認することもできます。

※CloudFront URL になっていない場合は、「Show CloudFront URL」を押下する事で URL が切り替わります。

 

ワークショップ内では以下サイトが紹介されています。

  • https://www.hlsplayer.net/
  • http://videojs.github.io/videojs-contrib-hls/
  • https://developer.jwplayer.com/tools/stream-tester/

今回は2番目のサイトを使って確認してみましたが、問題なく確認できました。

ディレイ再生の確認

このワークショップの GitHub リポジトリにはサンプルの HTML ファイルがあり、Chrome, Firefox, Safari で再生確認をすることができます。(Chromeは確認に一手間必要ですがその手順も記載があります。)

手順にしたがって live-delayed-code.js を更新し、今回は Safari で確認してみました。

MediaPackage のエンドポイントを作成する際に、片方に Time Delay パラメータを設定しているため、ズレて(片方が遅れて)再生されることが確認できます。

こういうパラメータによる挙動も確認できるのは嬉しいですね。

 

オンデマンド再生の確認

同じくサンプルコードを使い、エンドポイントを作成する際に設定した Restart Window の挙動についても確認していきます。

手順に沿ってサンプルの code.js を編集し、index.html をブラウザで確認すると以下の様になります。

左側がライブ、右側が Restart Window を設定したことによって生成されたオンデマンドビデオです。

右側だけシークバーが表示されていることも確認できます。

5. AWS Elemental MediaTailor の設定

最後に、AWS Elemental MediaTailor の設定を行います。

AWS Elemental MediaTailor は、配信しているコンテンツに広告を挿入することができるサービスです。

手順に沿って、以下の様な設定で Configuration を作成します。

 

HLS playback prefix というものが作成されているので、それを使って広告が表示されるかを確認することができます。

画像だとわかりづらいですが、ちゃんと再生前に広告が挿入されています。

 

最後に、手順に沿って CloudFront と MediaTailor の設定を行うと、CloudFront 経由でも広告の挿入を確認することができます。

終わりに

aws-samples にあったメディアサービスのワークショップをやってみました。

手順も丁寧に記述されていますし、一連の手順を踏むことで MediaLive, MediaPackage, MediaTailor を動作確認しながら触ることができるので「メディアサービスをとりあえず触ってみたい!」という方にはもってこいではないでしょうか。

 

ワークショップ後はリソースを消すのをお忘れなく。

 

この記事がどなたかのお役にたてば幸いです。

以上、AWS事業本部の大前でした。