AWS Elemental MediaLiveで強化されたファイルベースInput機能のひとつ、Dynamic Inputを使ってみた!
はじめに
清水です。AWS Media Servicesの細かなアップデートを追っていくコーナーです。本エントリで紹介するのはこちら、AWS Elemental MediaLiveのファイルベースのInputを使用する際の機能強化がされました!(2019/06/26にアップデートされた内容になります。)
- AWS Elemental MediaLive Enhances Support for File-Based Inputs for Live Channels
- AWS Elemental MediaLive がライブチャネル向けファイルベース入力のサポートを拡張
Dynamic input、Input clipping、Support for an immediate input switchの3つの項目が機能として追加されているようです。AWS Elemental MediaLiveのUser Guide、Document HistoryにもJuly 25, 2019付けでこの3項目が追加されていました。
本エントリではこの中でも、Dynamic Input機能についてまとめてみます。Dynamic Input機能の特徴は、Inputをスイッチする際に参照するファイルを設定できる点にあります。MediaLiveでMP4ファイルベースのライブ配信を行うことができますが、これで番組編成のように複数のMP4ファイルを扱おうとすると、ファイルの数だけInputを作成、Channelにアタッチして、という作業が発生しました。(参照: AWS Elemental MediaLiveで番組編成っぽいことをしてみた | DevelopersIO)
Dynamic Input機能を使うと、1つのInputあたりでスイッチ(スケジュールアクション)ごとに異なるMP4ファイルが指定できます。そのため、ファイルの数だけInputを作成したり、Channelにアタッチしたり、ということがなくなり、構成もとてもシンプルになるかと思います。
Dynamic Input機能を使ってみた
実際にDyanamic Input機能を使ったファイルベースのライブ配信を行ってみます。今回は検証ということでChannel ClassをSINGLE_PIPELINEで作る想定です。
AWSマネジメントコンソールのMediaLive、Inputsの画面からInputを作成していきます。Input type
でMP4
を選択するのはこれまでのファイルベースのInputと同じです。Input sourceの箇所ではs3://$urlPath$
と入力します。この$urlPath$
の部分がミソで、後ほどスケジュールを作成する際に、ここを別途指定できます。
続いてChannelを作成し、Inputとして先ほど作成したDynamic Input機能を使ったInputをアタッチしてみましょう。っと、マネジメントコンソールから1つめのInputとしてアタッチしようとすると、以下の画面のようにDynamic Input機能を使ったInputは選択できないようです。(DynamicInputTestがDynamic Input機能を使ったInputです。)
さきにDynamic Inputを使用していない、Input type
でMP4
を選択したInputを作成し、先にこれをChannelにアタッチします。今回はこれをStatiMP4Inputという名称で作成しました。このStaticMP4InputのSources部分は、s3://mybucket/medialive/programming/Opening.mp4
というように実際のS3上のMP4ファイルが指定されています。その後、再度Dynamic Input機能を使ったInputをアタッチしてみましょう。今度はマネジメントコンソールでInputが選択できますね。[Confirm]ボタンを押すこともお忘れなく!
Channel作成後、Startする前にScheduleを設定しておきます。Dynamic Input機能を使っていないInputを指定した場合は、以下のようにInput clipping settingsの項目しか出現しません。(このInput clipping settingsも強化されたファイルベースInputの機能のひとつですね。)
対してDynamic Input機能を使用したInputを指定すると、以下のようにDynamic Input settingsの項目が出現します。ここでURL pathの項目に入力した情報が、Input作成時の$urlPath$
と置き換わるわけですね。まずはs3://mybucket/medialive/programming/Program1.mp4
を指定してみます。つまりURL path for source Aの箇所にはmybucket/medialive/programming/Program1.mp4
を入力します。
ここからさらに、Program1.mp4
のあとにProgram2.mp4
、Program3.mp4
などと他のファイルが後に続く場合を考えましょう。これまでファイルごとにInputを作成し、それぞれをChannelに紐付け、スケジュールを作成する必要がありました。このDynamic Input機能を使えば、Inputはそのままに、このURL path
部分だけを変えるだけで設定可能です。(図ではS3上のパスをすべてURL path
としていますが、工夫すればパスを除いたファイル名だけを指定する、ということもできますね。)
まとめ
AWS Elemental MediaLiveの強化されたファイルベースInputの機能、そのうちのDynamic Inputについてまとめてみました。MediaLiveではChannelにアタッチできるInputの数などに制限があり、これまでのInputごとにMP4ファイルを指定する方法ではこの上限が課題になることも考えられたかと思います。今回のアップデート、Dynamic Input機能にてこの部分が払拭できたのではないでしょうか。また構成としてもシンプルになりますので、かゆいところに手が届く大変うれしいアップデートだと思いました。引き続きAWS Elemental MediaLiveをはじめとしたAWS Media Servicesの機能アップデートに注目していきたいと思います。