[アップデート] AWS Elemental MediaLiveでInputのスイッチングが可能になりました #reinvent #mediaservices

はじめに

清水です。re:Invent2018期間中にフォーラムに届いていたMedia6兄弟のアップデート情報を確認するコーナーです。本エントリではAWS Elemental MediaLiveのInputのスイッチング機能についてまとめてみました。

MediaLiveでInputのスイッチングが可能になりました

アップデート情報は以下のフォーラムにまとめられています。

AWS Elemental MediaLiveはブロードキャスト級のライブ動画処理サービスです。1年前のリリース当初は1つのChannelに対して1つのInputが対応付けられ、映像を切り替える際にはMediaLiveの伝送する前段でスイッチングする、もしくは配信先の再生プレイヤー側でチャンネルを切り替える、などが必要でした。今回のアップデートで1つのChannelに対して複数のInputが関連付けられるようになりました。Channel側で実際にソースとするInputはスケジュールにより管理ができます。複数の拠点から各Inputに対して映像を伝送し、MediaLive側で使用するInputを切り替え映像スイッチングする、なんてことが可能となりますね!

やってみた

では実際にMediaLiveで複数のInputを作成、Channel側でスケジュール設定をしてInputが切り替わることを確認してみます。まずはInputを2つ作成します。Input typeはRTMP (push)を選択しました。注意点として、RTMP PUSHのApplication名ならびにInstance名については2つのInputでどちらも重複しないようにしておきます。(重複して作成した際、スイッチングがうまく機能しませんでした。)

続いてChannelを作成します。まずはChannel nameやInput specificationなどを入力、設定します。

そしてInput attachmentsの設定をします、[Add]ボタンでまずは1つ目のInputSwitchingTest1をアタッチします。

1つ目をアタッチした後、再度[Add]ボタンを押すことで2つ目のInputをChannelに関連付けることができます。

その他の項目を設定して、[Create channel]でChannelを作成します。Channelが作成できたらScheduleタブを選択し、[Create]ボタンでScheduleを作成します。

Action nameを入力します。そしてStart typeはFixedを選択、DateとTimeでスイッチングする日時を入力します。Action typeはInput Switchで、スイッチ先のInputを選択します。

今回は以下2つのSwitchスケジュールを作成しました。

  • Switch1
    • December 14th 2018 02:13:00.000 UTC (11:13 JST)にInputSwitchingTest1にスイッチ
  • Switch2
    • December 14th 2018 02:15:00.000 UTC (11:15 JST)にInputSwitchingTest2にスイッチ

スケジュール作成後はChannelのScheduleタブで確認ができます。timeline viewがあるのも嬉しいですね!

実際にMediaLiveのChannelをスタートさせ、2台のiPhoneから撮影対象の時計を別アングルで配信、MediaStore+CloudFrontと連携させてスイッチングされるのを視聴確認してみたのが以下の動画になります。指定した2:15 UTC (11:15 JST)にスイッチングされているのがわかりますね。なお、このスイッチングのタイミングはあくまでMediaLiveの時間であり、ユーザに配信される際の遅延(環境によるが30秒から1分程度)が発生する点にも注意しましょう。

まとめ

AWS Elemental MediaLiveでInputのスイッチングが可能になった機能アップデートについて、実際に2つのInputを作成しChannelにアタッチ、スケジュール設定してスイッチングされる様子を確認してみました。AWS側に映像を伝送しておけばAWS側で映像切替が行えるという、非常に期待が高まるアップデートだと思います!今回はライブソース(RTMP PUSH)2つで試してみましたが、他に例えばファイルをソースにすることもできるようですね。実際のビデオスイッチャー機器と同等のスイッチングをするということは難しいのかもしれませんが、どこまで柔軟な運用に対応できるのか、ファイルソースでスイッチングしたときの挙動などとともに、追って調査したいと思います。