AWS Elemental MediaLiveのアーカイブ出力機能がHEVCコーデックに対応していました

AWS Elemental MediaLiveのアーカイブ出力機能(Archive output)が昨年2021年11月にH.265/HEVCコーデックに対応していました。実際に設定を行い、アーカイブ出力したファイルのコーデックを確認してみます。
2022.02.27

はじめに

清水です。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

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
  • Archive settings
    • Name
      • このOutput groupの名称(出力ファイル名などには影響しません)
      • archive
    • CDN SettingsのAdditional settings内「Rollover Interval」
      • アーカイブファイル1つあたりの時間(秒)
      • 180 (180秒=3分区切りのアーカイブファイルが作成されます)
  • Archive outputs
    • Name modifier
      • アーカイブファイル名称(実際は出力先S3のURLと組み合わされる)
      • _$dt$ (日付日時情報YYYYMMDDTHHMMSS、詳細は参照:可変データの識別子

続いて左側Output groupsの「2. archive (Archive)」の「Output 1」をクリックしてOutput settingsに進みます。Output settingsではOutput nameだけ指定しておきます。「emla_720p」としました。

続くStream settingsの「Video」の項目を設定していきます。WidthとHeightはそれぞれ1280720を入力しました。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モードを使用するなどが必要だったかと思います。堅実ですが大変うれしいアップデートだなと思いました。