AWS Elemental MediaLiveのアーカイブ出力機能がHEVCコーデックに対応していました
はじめに
清水です。AWS Media Servicesの細かなアップデートを追っていくコーナーです。本エントリではブロードキャストグレードのライブ動画処理サービスであるAWS Elemental MediaLiveのアーカイブ出力機能でHEVCコーデックに対応したアップデートについてお伝えいたします。こちらのアップデートはAWS What's Newに現時点でも記載がなく、以下のAWS Elemental MediaLive User Guideのドキュメントヒストリでアップデートを確認しました。(日付は2021/11/22、re:Invent 2021前にアップデートされていたことになりますね。)
- Document history for user guide - AWS Elemental MediaLive
- November 22, 2021のArchive output HEVC support
Document history for user guide - AWS Elemental MediaLive
MediaLiveのアーカイブ出力機能、HLSなど配信用の出力とは別にアーカイブ用としてAmazon S3へ映像をファイルとして出力できる機能です。機能自体としては2017年11月のMediaLiveリリース時から備わっていたものと記憶しています。以下は2018年3月にこのアーカイブ機能を試してみた際のエントリです。
上記エントリの最後のほう、出力されたアーカイブファイルをMediaInfoで確認した際のスクショからわかるのですが、当時はAVCコーデックとなっていました。そもそもMediaLiveがHEVCに対応したのが2019年9月だったりします。
アーカイブ出力機能としてはこのMediaLiveのHEVC出力対応(HLS出力機能などが対応していました)から遅れること約2年、晴れてHEVCコーデックに対応したかたちになりますね。本エントリでは実際にHEVCコーデックでアーカイブ出力を行ってみたのでまとめてみたいと思います。
MediaLiveでHEVCなアーカイブ出力をしてみた
それでは実際にMediaLiveでHEVCコーデックなアーカイブ出力を行ってみたいと思います。今回はWorkflow Wizardを使って配信環境を準備、ここにアーカイブ出力を追加するかたちで進めてみました。Workflowの概要は下記になります。
このWorkflowのChannelsに対して、Output groupsを追加していきます。Output groupのtypeで「Archive」を選択して[Confirm]ボタンで進みます。
Archive groupの各種設定はこちらのエントリなどを参考に行います。
- Archive group destination A
- URL
- 出力先S3バケットとパス
- s3ssl://[アーカイブ出力先S3バケット]/medialive-archive/hevc/archive
- URL
- Archive settings
- Name
- このOutput groupの名称(出力ファイル名などには影響しません)
- archive
- CDN SettingsのAdditional settings内「Rollover Interval」
- アーカイブファイル1つあたりの時間(秒)
- 180 (180秒=3分区切りのアーカイブファイルが作成されます)
- Name
- Archive outputs
- Name modifier
- アーカイブファイル名称(実際は出力先S3のURLと組み合わされる)
- _$dt$ (日付日時情報YYYYMMDDTHHMMSS、詳細は参照:可変データの識別子)
- Name modifier
続いて左側Output groupsの「2. archive (Archive)」の「Output 1」をクリックしてOutput settingsに進みます。Output settingsではOutput nameだけ指定しておきます。「emla_720p」としました。
続くStream settingsの「Video」の項目を設定していきます。WidthとHeightはそれぞれ1280
と720
を入力しました。Codec Settingsの箇所を選択するとH264とH265が選択可能となっています。HEVCコーデックの確認のためH265
を選択して進めます。
Codec Settingsの詳細設定項目が現れますので、Frame Rateの箇所でFramerate Numeratorを30000
、Framerate Denominatorを1001
と設定しました。
[Update channel]ボタンでChannelを更新し、WorkflowをStartさせます。映像を打ち上げしばらくして、アーカイブファイルの出力状況を確認してみましょう。出力先となるS3に以下のようにアーカイブファイルが書き出されていました。
アーカイブファイルの1つをダウンロードしてMediInfoで確認してみます。以下のようにHEVCコーデックであることが確認できました。
まとめ
AWS Elemental MediaLiveのアーカイブ出力機能でH.265/HEVCコーデックを使用してみました。個人的な感覚ですが、MediaLiveのリリース時から比べてH.265/HEVCがだいぶ身近になっているかと思います。当時2017年を振り返ると、AWS Media Servicesではリリース当時のAWS Elemental MediaConvertでH.265/HEVCが変換できることに目新しさを感じ、しかし当時私が使っていたmacOS SierraではまだQuickTimeを使った再生ができない、という状況でした。(【やってみた】AWS Elemental MediaConvertでH.265/HEVC形式に変換してみた #reinvent | DevelopersIO)冒頭でも触れましたが、その後2019年にはMediaLiveのH.265/HEVC対応などがありました。しかしアーカイブ出力機能は未だ(2021年11月までは)H.265/HEVCに対応しておらず、H.265/HEVCでファイルとして保存するにはHLS出力機能のvodモードを使用するなどが必要だったかと思います。堅実ですが大変うれしいアップデートだなと思いました。