[UPDATE] AWS Elemental MediaLiveで個々のOutputごとに画像のオーバーレイが可能になりました!
はじめに
清水です。本エントリでお届けするAWS Media Servicesアップデート情報はこちら!ブロードキャストグレードのライブ動画処理サービスであるAWS Elemental MediaLiveで個々のOutputごとに画像のオーバーレイができるようになりました。(2023/12/05付でAWS What's Newにポストされたアップデート情報となります。)
- AWS Elemental MediaLive now supports image overlays for individual outputs
- AWS Elemental MediaLive が個々の出力の画像オーバーレイを新たにサポート
MediaLiveではこれまでも画像のオーバーレイ自体は可能だったのですが、そのChannelに設定されているOutput groupsのすべてがオーバレイの対象となっていました。特定のOutput groupsには画像オーバレイを適用しない、といったことができなかったわけですね。今回のアップデートでは、個々のOutputごとに画像のオーバーレイが設定できるようになりました。特定のOuptput groupに画像オーバーレイを設定する、という使い方もできるようになったほか、解像度・ビットレートの異なるOutputそれぞれに個別の画像オーバーレイを設定することができるようになっています!
本エントリでは、このOutputごとの画像オーバーレイ機能を実際に試してみたのでまとめてみたいと思います。
MediaLiveでOutputごとに画像オーバーレイを設定してみた
オーバーレイ用の画像の準備
まずは検証用にオーバーレイ用の画像を準備しました。3つのOutputからなるABR ladderを想定し、それぞれのVideo renditionに個別の画像オーバーレイを設定します。ABR ladderは1080p
、720p
、480p
の3つのrenditionとしました。オーバーレイする画像のサイズはいずれも100x56
です。あらかじめS3バケットにアップロード、MediaLiveからアクセスできるようにしておきます。
1080p
- blue.png
720p
- green.png
480p
- red.png
Workflow wizardでMediaLiveと関連リソースの作成
続いて動作検証に必要なMediaLiveと関連リソースをWorkflow wizardを使って作成していきます。マネジメントコンソールの[Create workflow]ボタンから進みます。Add video outputsの項目で出力先にMediaPackageを選択、今回の検証のポイントとして、以下のように1080p30
、720p30
、480p30
の3つのVideo renditionを設定しました。
「Review and create resources」の画面だと以下のようになります。[Create workflow resources]ボタンでMediaLiveと関連リソースの作成を行います。
Channelリソースで画像オーバーレイの有効化
WorkflowがCreate completeになり関連リソースの作成が完了たら、続いてはMediaLiveのChannelリソースでOutputごとの画像オーバレイを有効化する設定を行います。[Edit channel]ボタンから進みましょう。
General channel settingsの項目、Feature Activationsを確認します。Workflowから作成した手順では、デフォルトで以下のように「無効」の状態で「有効」にはなっていませんね。
チェックボックスをonにして Enable Feature activations を有効化します。また Output Static Image Overlay Schedule Actions の項目を DISABLED
から ENABLED
に変更して、[Update channel]します。
Scheduleでオーバーレイの設定
Output Static Image Overlay Schedule Actionsを有効化したら、続いて画像オーバーレイの実際の設定をしていきます。ここはEdit channelするのではなく、Scheduleから設定していくのがポイントですね。(私はてっきりEdit channelの項目にあるものかと思って、設定箇所を探してしまいました。)
Schedule actionsの[Create]ボタンから進みます。
Action nameを適切に設定します。Outputごと、合計3つのSchedule actionsを設定するので末尾に-1
を付与しました。Start typeについて今回はImmediate
を選択して即時反映するようにします。
Action typeを選択します。一番下のほうに従来までのStatic Image Activate
、Static Image Deactivate
の加え、個別のOutputに設定可能なStatic Image Output Activate
、Static Image Ouput Deactivate
の2つが追加されていますね!
Schedule actionとしてはStatic Image Output Activate
を選択します。続いて現れる設定項目では、個別のOutputが選択可能ですね。emp_1080p30
を選択しました。Input locationではS3バケット内に配置したImage overlay用のPNG画像blue.png
を指定します。
Layerなど、いくつか設定項目が現れます。今回はLayerのみ1
を設定しました。(はじめはすべてデフォルト状態(0
)でやってみたのですが、1つのOverlayのみが反映される、というような挙動だったため、個々のSchedule actionごとにLayerの値を割り振ってみました。)Layerの値以外はデフォルトで[Create]でSchedule actionを作成します。
Schedule actionが作成できました。
続いてもう2つ、Schedule actionを作成していきます。emp_720p30
、emp_480p30
にもそれぞれStatic Image Output Activate
を追加します。オーバーレイに使用する画像はそれぞれ別のもの、green.png
、red.png
を指定します。またLayerの値はそれぞれ2
、3
を設定しています。
3つのOutputごと、画像オーバレイの設定ができました。
実際にライブストリーミングされる映像を視聴して画像オーバレイの確認
MediaLiveリソースの準備ができました。Workflow(もしくはChannel)をStartさせてMediaLiveに映像を打ち上げ、ライブストリーミングを確認してみましょう。
Workflowの詳細画面からMediaPackage HLS endpointのリソースページに移動、MediaPackage endpointのPreview playerのリンクからライブストリーミングを確認してみます。
Play
のリンクから遷移するhls.jsのページを少し下にスクロールします。Playerで映像を再生しつつ、[Quality-levels]のボタンをクリックしてみましょう。再生しているABR ladder(ビットレートと解像度の組み合わせ)は1080p
のrenditionで、自動的に選択されるよう設定されていることがわかりますね。そしてこの状態では、左上に小さくBLUE
の表示があります。これがemp_1080p30
に設定したオーバーレイ画像です。
ここで、Currently played level:で[1 (720p / 3361kb)]のボタンをクリックしてみましょう。再生されるABR ladderが720p
のrenditionものに切り替わります。と同時に、再生される映像の左上の表示はGREEN
に切り替わりました。emp_720p30
に設定したオーバーレイ画像ですね。
続いて[0 (480p / 1750kb)]のボタンをクリックしてみます。再生されるABR ladderが480p
のrenditionに切り替わります。またemp_480p30
に設定したオーバーレイ画像、RED
が左上に表示されました。
ライブストリーミングで再生しているVideo renditionごと、個別の画像オーバーレイが設定できていることが確認できましたね。
まとめ
AWS Elemental MediaLiveで新たに利用可能になった、Outputごとの画像オーバーレイ機能について確認してみました。Schedule actionsでStatic Image Output Activate
を設定すること、またその前にEnable Feature activations
、Output Static Image Overlay Schedule Actions
を有効化することを抑えておきましょう。
今回の検証ではABR ladder、つまり1080p
、720p
、480p
の解像度それぞれで異なるオーバーレイ画像を設定する、という使い方を試してみましたが、たとえば配信用のOutput groupにはWatermarkとしての画像オーバーレイを適用、アーカイブ用のOutput groupは画像オーバーレイを適用しない、というような使い方もできますね。細かな点ではありますが、非常に強力なアップデートだなと思いました。