AWS Elemental MediaLiveで入力プレビューのサムネイル画像をAWS CLIから取得してみた
はじめに
清水です。先日、ブロードキャストグレードのライブ動画処理サービスであるAWS Elemental MediaLiveで入力映像のプレビュー用サムネイル画像が確認できるようになったアップデートについてお届けしました。
上記ブログエントリ執筆時点(2023/07/10)では、入力プレビューのサムネイル画像についてAWS CLI(v2)での取得は確認できなかったのですが、今回AWS CLI v2のアップデート(2.13.1
)を行いmedialive describe-thumbnails
コマンドを用いてサムネイル画像を取得してみたのでまとめてみます。あわせて、このmedialive describe-thumbnails
コマンドが実行可能になったタイミングについて、AWS CLI v1とv2それぞれで確認してみました。
AWS CLIでMediaLiveの入力サムネイル画像を取得してみた
AWS CLIの準備
まずはAWS CLI環境の準備です。先日(2023/07/10)の段階の2.13.0
では該当コマンドが実行できなかったことから、現時点(2023/07/14)の最新版に改めてアップデートしました。2.13.1
となります。
% aws --version aws-cli/2.13.1 Python/3.11.4 Darwin/21.6.0 exe/x86_64 prompt/off
MediaLiveリソースの準備
続いてMediaLiveのリソースを準備します。先日のエントリ同様、Workflow wizardを使って作成しました。設定内容についても先日のエントリと同じですのでここでは省略します。
MediaLiveのChannel(もしくはWorkflow)をStartさせ、Streaming SoftwareからMediaLiveに映像を打ち上げます。Streaming SoftwareはiPhone上でZixi ONAIRを使用しました。
マネジメントコンソール上のPreviewでサムネイル画像が表示されることを確認しておきます。
AWS CLIでMediaLiveサムネイル画像の取得
準備ができたら、いよいよ本題のAWS CLIでのMediaLive入力プレビューサムネイル画像の取得です。以下ドキュメントを参考に進めます。
AWS CLIのドキュメントは下記です。
- AWS CLI v2
- AWS CLI v1
コマンドはmedialive describe-thumbnails
で、オプション引数に--channel-id
、--pipeline-id
、--thumbnail-type
の3種を指定します。--channel-id
はChannel IDですね。--pipeline-id
はSingle Pipelineでは0
を、Standardでは0
か1
のいずれかを指定します。--thumbnail-type
はCURRENT_ACTIVE
の固定値を指定する必要があるようです。
注意点として、Elemental Linkデバイスのサムネイル画像を取得するmedialive describe-input-device-thumbnail
のようにコマンド実行時のオプションでファイル名を指定してAWS CLI実行環境にサムネイル画像を保存する、という形式ではありません。(AWS Elemental Linkのサムネイル画像をAWS CLI経由で取得してみた | DevelopersIO)ec2 get-console-screenshot
コマンドのように、サムネイル画像はBase64エンコードされコマンド実行結果に格納されるかたちです。(【新機能】EC2コンソールのスクリーンショットを取得可能になりました | DevelopersIO)
実際に実行してみましょう。ハイライトした11行目にBase64エンコードされたサムネイル画像データが格納されています。
% aws medialive describe-thumbnails \ --channel-id XXXXXXX --pipeline-id 0 \ --thumbnail-type CURRENT_ACTIVE { "ThumbnailDetails": [ { "PipelineId": "0", "Thumbnails": [ { "Body": "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", "ContentType": "image/jpeg", "ThumbnailType": "CURRENT_ACTIVE", "TimeStamp": "2023-07-14T05:57:29" } ] } ] }
ec2 get-console-screenshot
コマンド実行例にならい、base64
コマンドを実行してデコードしつつファイルに保存してみます。
% aws medialive describe-thumbnails \ --channel-id XXXXXXX \ --pipeline-id 0 \ --thumbnail-type CURRENT_ACTIVE \ --query "ThumbnailDetails[].Thumbnails[].Body" \ --output text | base64 -D > ./medialive-thumbnail.jpg
実際に上記コマンドで取得できたサムネイル画像が以下になります!
medialive describe-thumbnailsコマンドのアップデートについて
無事AWS CLIでmedialive describe-thumbnails
コマンドを使ってMediaLiveの入力サムネイル画像が取得できたところで、このアップデートのタイミングについても確認しておきましょう。冒頭や先日のエントリで、「AWS CLIを最新の2.13にアップデートしてもmedialive describe-thumbnails
コマンドが見つからず実行ができない、という状況」だったとお伝えしました。
こちらの際の環境などを具体的にまとめておきます。AWS CLIのバージョンなどの情報は下記でした。
% aws --version aws-cli/2.13.0 Python/3.11.4 Darwin/21.6.0 exe/x86_64 prompt/off
この2.13.0
のバージョンは2023/07/10時点でアップデートしたものなので、その時点での最新版だったといえます。この2.13.0
環境でmedialive describe-thumbnails
を実行しても、以下のように「正しいコマンドを以下から選択してね」というエラーとなってしまっていました。
% aws medialive describe-thumbnails usage: aws [options] <command> <subcommand> [<subcommand> ...] [parameters] To see help text, you can run: aws help aws <command> help aws <command> <subcommand> help aws: error: argument operation: Invalid choice, valid choices are: accept-input-device-transfer | batch-delete batch-start | batch-stop batch-update-schedule | cancel-input-device-transfer (以下省略)
そして本エントリでお伝えした通り、AWS CLIを2023/07/14時点の最新版2.13.1
にアップデートするとmedialive describe-thumbnails
コマンドが実行可能になります。バージョン数値から察するに、この2.13.1
へのアップデートのタイミングでmedialive describe-thumbnails
コマンドの追加が行われたかと推測できますね。実際にAWS CLIのアップデート履歴についても確認してみましょう。
AWS CLI v2のCHANGELOG.rstを確認すると、以下のように「This release enables the use of Thumbnails in AWS Elemental MediaLive.」の記載がありました。
========= CHANGELOG ========= 2.13.1 ====== * api-change:``cognito-idp``: API model updated in Amazon Cognito * api-change:``cognito-idp``: API model updated in Amazon Cognito * api-change:``dms``: Releasing DMS Serverless. Adding support for PostgreSQL 15.x as source and target endpoint. Adding support for DocDB Elastic Clusters with sharded collections, PostgreSQL datatype mapping customization and disabling hostname validation of the certificate authority in Kafka endpoint settings * api-change:``proton``: This release adds support for deployment history for Proton provisioned resources * api-change:``medialive``: This release enables the use of Thumbnails in AWS Elemental MediaLive. * api-change:``sagemaker``: Amazon SageMaker Canvas adds WorkspeceSettings support for CanvasAppSettings (以下略)
2.13.1へのアップデートは2023/07/13付となっています。(本エントリを執筆している2023/07/14時点で)昨日の段階からAWS CLI 2.13.1でmedialive describe-thumbnails
コマンドが使えるようになっていた、ということになりますね。
そしてAWS CLI v1の状況も気になったので調べてみました。CHANGELOG.rstを確認すると、1.29.1
の段階でmedialive describe-thumbnails
コマンドが利用可能になったようです。
1.29.1 ====== * api-change:``dms``: Releasing DMS Serverless. Adding support for PostgreSQL 15.x as source and target endpoint. Adding support for DocDB Elastic Clusters with sharded collections, PostgreSQL datatype mapping customization and disabling hostname validation of the certificate authority in Kafka endpoint settings * api-change:``glue``: This release enables customers to create new Apache Iceberg tables and associated metadata in Amazon S3 by using native AWS Glue CreateTable operation. * api-change:``logs``: Add CMK encryption support for CloudWatch Logs Insights query result data * api-change:``medialive``: This release enables the use of Thumbnails in AWS Elemental MediaLive. * api-change:``mediatailor``: The AWS Elemental MediaTailor SDK for Channel Assembly has added support for EXT-X-CUE-OUT and EXT-X-CUE-IN tags to specify ad breaks in HLS outputs, including support for EXT-OATCLS, EXT-X-ASSET, and EXT-X-CUE-OUT-CONT accessory tags.
AWS CLI v1については現時点(2023/07/14)の最新版が1.29.3
であり、1.29.1
は2023/07/07の段階でリリースされていたようです。先日(2023/07/10)のブログエントリ公開の段階でもAWS CLI v1を使えば実現できていたのかもしれませんね……。
まとめ
AWS Elemental MediaLiveの入力プレビュー用のサムネイル画像をAWS CLI medialive describe-thumbnails
コマンドを用いて取得してみました。サムネイル画像はBase64エンコードされてコマンド実行結果に格納されるかたちで取得できます。Elemental Linkのサムネイル画像のようにAWS CLI実行環境にそのまま保存されるわけではない点に注意しましょう。
個人的にはEC2コンソールのスクリーンショット(ec2 get-console-screenshot
)、Elemental Linkのサムネイル画像(medialive describe-input-device-thumbnail
)に続く3つ目の「私が知っている画像取得ができるAWS CLIコマンド」となりました。AWSサービスの拡充を考えるとほかにもありそうな気がするので、機会があれば調べてみたと思います。
また本題とは関係ないのですが、「AWS CLI v2でコマンドのアップデートが遅れているのであればv1についても確認すべし(もしかしたらv1ではアップデートされているかもしれない……)」という言い伝えを実感する機会となりました。以前から聞いたことだけはあったのですが、改めて肝に銘じておきたいと思います。