AWS再入門2022 Amazon Interactive Video Service(IVS)編
こんにちは、芦沢です。
当エントリは弊社コンサルティング部による『AWS 再入門ブログリレー 2022』の 3日目のエントリです。
このブログリレーの企画は、普段 AWS サービスについて最新のネタ・深い/細かいテーマを主に書き連ねてきたメンバーの手によって、 今一度初心に返って、基本的な部分を見つめ直してみよう、解説してみようというコンセプトが含まれています。
AWSをこれから学ぼう!という方にとっては文字通りの入門記事として、またすでにAWSを活用されている方にとってもAWSサービスの再発見や2022年のサービスアップデートのキャッチアップの場となればと考えておりますので、ぜひ最後までお付合い頂ければ幸いです。
では、さっそくいってみましょう。3日目のテーマはAmazon Interactive Video Service(IVS)です。
比較的新しいサービスなので、そもそも入門すらしたことない、という方もいらっしゃるのではないでしょうか? そんな方でも理解できるように解説していきます。
Amazon Interactive Video Service(IVS)とは?
Amazon Interactive Video Service(以下IVSと略します)は、2020/7/15にAWS MediaServicesに新たなサービスとして追加されました。
リリース時に書かれたDevIOブログはこちらです。
AWS MediaServicesとは、AWS動画配信に関するマネージドサービス群のことをさします(聴き馴染みのない方もいらっしゃるかもしれません)
AWS MediaServices公式サイトによると、IVS以外に以下のようなサービスが存在します。
- AWS Elemental MediaConnect
- AWS Elemental MediaLive
- AWS Elemental MediaPackage
- AWS Elemental MediaStore
- AWS Elemental MediaConvert
- AWS Elemental MediaTailor
- Amazon Kinesis Video Stream
AWS MediaServices(一部)については以下のブログでわかりやすく解説されています。
AWS MediaServicesについては、本ブログでも、後ほどもう少しだけ触れています。
Amazon IVSの特徴
Amazon IVSの特徴は大きく以下6点になります。
- Quick and easy-to-setup
- 超低遅延配信
- 視聴プレイヤーSDKを提供
- グローバル対応
- 時間指定メタデータAPI
- 配信時間と視聴時間に基づく従量課金制のサービス
それぞれ確認していきましょう。
Quick and easy-to-setup
IVSの構成はとにかくシンプルです。
以下のように、配信基盤はIVSのみの構成となっています。
セットアップも、AWSマネジメントコンソールからの操作でほんの数クリックで完了します。
超低遅延配信
超低遅延配信とはなんでしょうか?
IVSの公式ドキュメントに以下のような記載があります。
What is Ultra-Low-Latency Live Video? Low latency reduces the delay from when a camera captures a live stream to when the stream appears on a viewer’s screen. Amazon IVS can deliver video with latency under five seconds. For a traditional Over-The-Top (OTT) stream, latency may be as high as 30 seconds.
低遅延とはカメラがライブストリームを配信してから、視聴者の画面に表示される遅延を短縮することです。 IVSの場合、その遅延が5秒以下であり、よりリアルタイムに近い超低遅延なライブ配信を実現することができます。
以下ブログでは、IVSの遅延について検証しています。設定毎に実際の遅延がどの程度になるのかがよくわかりました。
プレイヤーSDKを提供
IVSでは、Amazon SDK Playerというクロスプラットフォーム対応のストリーム再生用SDKを使用することができます。
このSDKはIVSの再生に最適化された設計となっており、低遅延配信を実現するために性能が保証された唯一のPlayerとなっています1。
Amazon SDK Playerは、以下のような特徴があります。
- 超低遅延ストリーミング
- クロスプラットフォームの一貫性
- ABR(Adaptive Bitrate Streaming)アルゴリズムの使用
- 時間指定メタデータ(Timed Metadata)
- 堅牢なエラー処理
- 統合の容易さ
ここでとくに取り上げたい特徴は、統合の容易さです。
Amazon SDK Playerは、JavaScript、iOS、Androidに対応しています。 使い慣れたコーディング環境と技術を使用可能なので、プレーヤーをアプリケーションへ簡単に埋め込むことができます
以下ブログでは、プレーヤーSDKを埋め込んでみた様子を紹介しています。
グローバル対応
IVS公式ドキュメント(Security - Resilience)に以下のような記載があります。
Video ingestion and distribution run over Amazon IVS’s Content Delivery Network (CDN). The CDN is specialized and highly tuned for low-latency video. This enables Amazon IVS to provide customers with end-to-end, high quality video served to a global audience with minimal delay. The video CDN has global Points-of-Presence (PoPs), allowing broadcasters and viewers to be geographically dispersed.
2022年2月現在、IVSの対応リージョンは欧米の3リージョン(オレゴン、バージニア北部、アイルランド)に限られていますが、IVSの独自CDNおよびグローバルなPoP(Points-of-Presence)により、放送場所、視聴場所が地理的に離れた日本からでも低遅延の動画配信を実現できます。
超低遅延配信の項目で紹介した、低遅延の実現はこのようなグローバル対応が大きく貢献しています。
時間指定メタデータAPI
時間指定メタデータ(Timed Metadata)について、IVS公式ドキュメント(Embedding Metadata within a Video Stream)に以下のように記載されています。
Timed metadata is metadata with timestamps. It can be inserted into a stream programmatically, using the Amazon IVS API. When Amazon IVS processes a stream, the timed metadata is synchronized with the audio and video frames. During playback, all viewers of the stream get the metadata at the same time relative to the stream. The timecode serves as a cue point, which can be used to trigger an action based on the data, such as the following: - Updating player statistics for a sports stream. - Sending product details for a live shopping stream. - Sending questions for a live quiz stream.
時間指定メタデータはタイムスタンプを持つメタデータのことで、APIを使用することでストリームに挿入できます。 IVSがストリームを処理する際に、時間指定メタデータはストリームの音声や動画と同期され、視聴者側のストリームでもメタデータの取得されます。
つまり、配信中にAPIを実行することで任意のメタデータを全視聴者に送信できる、ということです。 この機能により、スポーツ配信中の選手統計情報の更新、ライブショッピング配信の商品情報の送信、クイズ配信の問題の送信などインタラクティブな視聴者体験を提供できます。
もう少し具体的に説明すると、以下のようなAWS CLIコマンドを実行し、JSON形式のメタデータをIVSへ送信すると
aws ivs put-metadata \ --channel-arn "arn:aws:ivs:us-west-2:XXXXXXXXXXXX:channel/XXXXXXXXXXXX" \ --metadata "{\"question\": \"What pet do you have?\",\"answers\": [ \"Cat\", \"Dog\", \"Bird\", \"No Pet\" ],\"correctIndex\":2}" \ --region us-west-2
このように、配信画面にクイズを表示させることができます。
配信時間と視聴時間に基づく従量課金制のサービス
IVSは配信時間および視聴時間による従量課金のフルマネージドサービスなので、配信をしていなければ利用料金がかかりません。
フルマネージド型のサーバレスサービスであることで、インフラの維持コストが実質無料なのはとても嬉しいことだと思います。
この辺りはAWS MediaSerivcesも同様の課金形態なので、既に利用されている方としては当たり前の話でしょうか。
詳しい料金形態については後ほど解説します。
以上、IVSの特徴についてでした。
IVSの機能や特徴の概要については、リリース時にAWSJによって開催されたAmazon Interactive Video Service ローンチセミナーの資料がとてもわかりやすいです。
今回のブログを書く際、大変参考になりましたので、合わせて確認いただければと思います。
Amazon IVSの登場でどう変わったのか?
ここまでの内容で、IVSとは何か? についてはざっくりと理解できたかと思います。
ですが、動画配信やAWS MediaSerivicesについて知見がなく、IVSの登場によってどう変わったのか、がわからない方も多いかと思います。(私のことです
そこで動画配信において、映像コンテンツがカメラから再生画面に到達するまで、どのようなフローを経るかを以下のように表しました。
この画像に、AWS MediaServicesの各サービスが映像配信におけるどの機能を担っているかを、さらに追加した画像がこちらです。
このように、これまでAWSで映像配信環境を構築する際は、映像配信技術の各々を抽象化しビルディングブロック化したAWS MediaServices(+α)群を利用して、それを組み合わせて実装する必要がありました。
IVSの登場でこのような図になります。
ご覧の通り、IVSは他のMediaServicesのサービスやその他のAWSサービスを組み合わせて実装できる一連のアーキテクチャを、IVS1つで賄えてしまいます。
つまり、Amazon IVSの登場により、各ビルディングブロックをさらに抽象化してIVSというサービス1つで映像配信環境を構築できるようになったのです。
以上、IVSの登場でどう変わったか?でした。
Amazon IVSのユースケース
IVSの具体的なユースケースについて説明する前に、以下の図をご覧ください。
この図の超低遅延
なユーザ体験が必要とされているインタラクティブなショッピング、ゲームアプリ、ライブオークションのような双方向性な(Interactive)ユーザ体験が欲するサービス、そこにIVSの出番があるようです。
具体的には以下のような使われ方をしているそうです。
料金
続いて、気になる料金についてです。 ライブ動画の入力と出力それぞれで時間に応じたコストがかかります。
入力
チャンネルタイプ | 通信速度 | 解像度 | 料金 |
---|---|---|---|
Standard | 8.5Mbps | FullHD | 2.0USD |
Basic | 1.5Mbps | 480p SD | 0.20USD |
※全リージョン共通の料金
IVS公式ドキュメント(Amazon IVS Costs)によると、StandardとBasicの違いは以下の点のようです。
- Standard:元の入力から複数の画質を生成し、視聴者のデバイスやネットワークの状態に合わせて自動的に最適な体験を提供します
- Basic:Amazon IVSはオリジナルの入力を視聴者に配信します。
チャンネルタイプがStandardの場合、視聴者のデバイスやネットワークの状態に合わせて自動的に最適な体験を提供するABR(Adaptive Bit Rate)の機能がついているようです。
出力
解像度 | 月あたりの配信時間:日本リージョンでの料金 |
---|---|
SD | 10,000時間まで:$0.065 10,000時間以上:$0.060 |
HD | 10,000時間まで:$0.130 10,000時間以上:$0.120 |
FullHD | 10,000時間まで:$0.260 10,000時間以上:$0.240 |
AWS公式のIVSの料金には以下のような記載があります。
注: 1 時間あたりの出力レートの請求リージョンは、ストリームを視聴している視聴者の場所によって決まります。 請求リージョンは、チャネル設定が行われる場所でも、ストリームが Amazon IVS に送信または取り込まれる場所でもありません。
リージョンによってコストが大きく異なるので、グローバルに視聴される予定の配信であれば、注意が必要です。
月当たり10,000時間までの料金例)
北米:0.0375 USD、日本:0.065 USD、韓国:0.125 USD
(おまけ)2021年〜今日までのアップデートまとめ
昨年の2021年から本日までにも、IVSのアップデートは頻繁に行われています。
最後の章として、簡単にまとめてみます。
これでみなさんもIVSトレンディになれますね!
- S3へのライブストリーム録画機能の追加
- CloudWatchメトリクスの追加(視聴者数など)
- iOS と Android 向け SDK が利用可能に
- CloudWatchメトリクスの追加(ライブストリーミングの状態)
- サムネイル生成に関する設定が可能に
まとめ
いかがでしたでしょうか?
Amazon IVSは超簡単に動画配信基盤を構築できて、触ってみて楽しいサービスです。
動画配信に少しでも興味がある、という方はぜひ一度触ってみて欲しいです。
以上、『AWS 再入門ブログリレー 2022』の3日目のエントリ『Amazon Interactive Video Service(IVS)』編でした。 明日 (2/4) はリサリサの「AWS Serverless Application Model(SAM)」の予定です。お楽しみに!!
参考資料
- AWS公式サイト - Amazon Interactive Video Service
- Amazon Interactive Video Service のよくある質問
- [開催報告] Amazon Interactive Video Service ローンチセミナー
- IVSの登場までAWS MediaServicesでは動画プレーヤーに関する提供はなかったそうです。 ↩