[新サービス] 数クリックでライブストリーミング配信環境が作成されるサービス「Amazon Interactive Video Service」が登場しました!
こんにちは、大前です。
なんと AWS MediaServices に新サービスが追加されました!
その名も Amazon Interactive Video Service(以下Amazon IVS) です。AWS MediaServices 特有の「Elemental」が付いていない事からも、既存サービスとはまた違った雰囲気を感じます。
Amazon Interactive Video Service
Introducing Amazon Interactive Video Service (Amazon IVS)
Amazon Interactive Video Service – Add Live Video to Your Apps and Websites
今回は、上記新サービスについて紹介していきたいと思います。
どんなサービスか
とりあえず公式ドキュメントの概要をみてみましょう。
Amazon Interactive Video Service(Amazon IVS)は、迅速かつ簡単にセットアップできるマネージドライブストリーミングソリューションであり、インタラクティブビデオエクスペリエンスの作成に最適です。ストリーミングソフトウェアを使用してライブストリームをAmazon IVSに送信します。このサービスは、低レイテンシのライブビデオを世界中の視聴者が利用できるようにするために必要なすべてを実行し、ライブビデオと一緒にインタラクティブなエクスペリエンスを構築することに集中できます。Amazon IVSプレーヤーSDKと時限メタデータAPIを使用して、オーディエンスエクスペリエンスを簡単にカスタマイズおよび強化できます。これにより、独自のウェブサイトやアプリケーションで視聴者とのより価値のある関係を構築できます。
目に留まるキーワードとしては、「迅速かつ簡単にセットアップ」「インタラクティブ」「Amazon IVS プレーヤー SDK」「時限メタデータ API」あたりでしょうか。
それぞれ、各キーワードに沿ってサービスの特徴をつかんでいきたいと思います。
リリース時点(2020/07/16)では以下 3リージョンで利用可能です。
- バージニア北部
- オレゴン
- アイルランド
迅速かつ簡単なセットアップ
Amazon IVS は、Amazon IVS 上の設定を行うだけでライブストリーミングを開始できるようになります。下図のシンプルさには驚きますね。
例えば、従来 AWS でライブストリーミングを行う場合には AWS Elemental MediaLive(以下 MediaLive), AWS Elemental MediaStore(以下 MediaStore), Amazon CloudFront(以下 CloudFront) 等を作成・設定する必要がありましたが、Amazon IVS ではこれらのサービス群をまるっとマネージドサービスとして使用できるイメージになります。(厳密には、内部的には CloudFront ではなく Amazon IVS に特化した CDN を使用したりしている様です)
後ほど "やってみた" 部分で実際のサービス画面上での操作を見せたいと思いますが、本当に数個の入力項目を入力してクリックするだけでライブ配信基盤が用意されてしまいます。
インタラクティブ
Amazon IVS のドキュメントやブログには度々「インタラクティブ」というキーワードが登場します。サービス名にも入っていますしね。
その為、Amazon IVS は「インタラクティブ」なサービス・動画配信を提供する事に最適なサービスとなっていると考える事ができます。
具体的に、「インタラクティブ」とはどんなケースが挙げられるのでしょうか。公式ドキュメントでは、以下のユースケースが挙げられていたりします。リアルタイム Q&A などはイメージしやすいですね。
- ソーシャルチャット
- eコマースと代替収益
- 投票
- リアルタイム Q&A
今までの "インタラクティブ" はどうだったの?
逆に、Amazon IVS が出る前の世界ではインタラクティブなサービスをどの様に提供していたのでしょうか。
MediaLive 等を使用したストリーミング配信の場合、HLS や DASH といった HTTP ベースの配信がメインとなりますが、これらは配信形式の仕組み上、数十秒の遅延が発生する事がほとんどです。
その為、「ライブ配信に対してリアルタイムで Q&A を行いたい」といった要件を満たすためには、MediaLive 上のパラメータを調整したり CMAF を使用する事で配信自体の遅延を短くしたり、もしくは Amazon Chime の様な別サービスの使用を検討する、果ては AWS 外の SaaS サービスを使用するなど、頭を悩ませる場面が多かったと想像します。
Amazon IVS が解決すること
上記の様に、「リアルタイム性が求められる要件」を今まで AWS で実現するハードルが高かったため、そのアンサーとして今回の Amazon IVS が登場した様に感じました。(個人の感覚です)
実際に、Amazon IVS の紹介ブログには "the service does everything you need to make low-latency live video(低遅延でのライブ配信を行うために必要な事はこのサービスが行います)" と記載されており、今まで「インタラクティブな要件を満たせるライブ配信アプリケーションを提供したいけど AWS 基盤の構築が難しい。。。」となってしまっていた問題に対して「Amazon IVS 使えばインフラは用意するで!後は(インタラクティブな)アプリケーションの提供に注力してくれな!」となったイメージでしょうか。
よりライブストリーミング環境の構築が容易になった形となります。
Amazon IVS プレーヤー SDK
また、Amazon IVS は Amazon IVS プレーヤー SDK という動画プレイヤーを生成するための SDK も提供します。
今まで AWS は動画プレイヤーに関するサービスを一切提供していなかったので、個人的には衝撃です。
この SDK を使う事によって、 HTML や iOS、Android 上で動画プレイヤーを構築する事ができます。
SDK のリファレンスも、それぞれ公開されています。
Player: SDK for Android Reference
時限メタデータ API
Amazon IVS は時限メタデータ API という API を提供し、ビデオストリーム内に時限付きのメタデータを埋め込む事ができます。
Embedding Metadata within a Video Stream
このメタデータをプレイヤー側で使用する事により、例えば投票やクイズの様なインタラクティブな要素を構築する事ができるそうです。
こちらについては、また後日触って詳細を確認してみたいと思います。
料金
Amazon IVS の料金は、他の AWS サービスと同様に従量課金性です。
Amazon Interactive Video Serviceの料金
料金が発生する要素としては、以下の2つがあります。
- ライブビデオ入力コスト
- ライブビデオ出力コスト
ライブビデオ入力コスト
Amazon IVS に送信されたライブ配信の時間によって課金されます。他の Elemental サービスだと映像の解像度などで料金レートがそれぞれ変化したりしますが、かなりシンプルです。
チャンネルタイプ | 1時間あたりの料金 |
---|---|
標準 | $ 2.00 |
ベーシック | $ 0.20 |
「標準」と「ベーシック」の違いは以下になります。
- 標準
- 元の入力からさまざまな品質の出力が生成され、デバイスとネットワークの状態に最適なエクスペリエンスを視聴者に自動的に提供
- ベーシック
- 基本的なチャネルの場合、Amazon IVSは元の入力を視聴者に配信します。基本チャネルは、視聴者のビデオ品質の選択を、元の入力のビデオ品質のみに制限
標準チャネルの場合、ABR(Adaptive Bit Rate) の機能が付いてくるイメージで良さそうですね。
ライブビデオ出力コスト
もう1つのコスト要素は、ライブビデオの出力コストです。
こちらも時間単位の課金となり、出力に関しては解像度によって料金レートがそれぞれ用意されています。 参考までに、日本、香港、シンガポールのみの料金表を載せておきます。 他の料金レートについては、上記リンクを参照ください。
解像度 | 一ヶ月あたりの配達時間 | 日本、香港、シンガポール |
---|---|---|
SD | 最初の10,000時間 | $ 0.0650 |
10,000時間以上 | $ 0.0600 | |
HD | 最初の10,000時間 | $ 0.1300 |
10,000時間以上 | $ 0.1200 | |
フルHD | 最初の10,000時間 | $ 0.2600 |
10,000時間以上 | $ 0.2400 |
料金ページにある請求地域 とは、ライブビデオの配信元を示します。
注:請求地域は、視聴者の実際の場所ではなく、ライブビデオの配信元の場所です。
例えば、日本からバージニア北部の Amazon IVS を使用して配信を行うと、ライブビデオの出力コストとしては「日本、香港、シンガポール」のレートで計算される形になります。
やってみた
では、実際に触ってみましょう。
Amazon IVS チャネルの作成
AWS コンソール画面のトップページより、メディアサービスの一覧に Amazon Interactive Video Service が追加されているのでこちらをクリックします。
リージョンはバージニア北部を使いました。
この様な画面に遷移するので、「チャネルの作成」をクリックします。
チャネルの作成画面に遷移するのですが、ここで設定する項目としては基本的にチャネル名だけです。簡単...
「チャネル設定」という項目もありますが、基本的にはデフォルトで良いかと思います。
チャネル名を入力したら、右下の「チャネルの作成」をクリックします。
クリックすると、特に待機することもなく、チャネルが作成されました。
ライブの送信先としてストリーム設定や再生のエンドポイントが表示されている事が確認できます。
OBS から配信してみる
チャネルができたので、とりあえず配信を行ってみます。
OBS を起動し(持っていない方はインストールしてください)、設定画面から配信設定を行います。
- サービス
- カスタム
- サーバー
- Amazon IVS チャネル画面に表示された "取り込みサーバー"
- ストリームキー
- Amazon IVS チャネル画面に表示された "ストリームキー"
設定が完了したら、「配信開始」します。
配信を開始すると、Amazon IVS のチャネルページ内の「ライブストリーム」タブで配信している内容を確認する事ができます。
ちゃんと配信できていますね。
では、再生設定に記載されている URL を使用して実際にブラウザで再生をしてみましょう。
今回はVideoJS HLS で再生を試みてみました。Amazon IVS プレイヤー SDK はまたの機会に使ってみたいと思います。。。
VideoJS HLS ページで上記 URL を入力してロードを行うと、無事にライブ配信が再生されました。
海外リージョンを経由しているため超低遅延とは行きませんが、それでも 20秒ほどの遅延となっているので(一般的な HLS での配信の遅延は 30秒~1分)、同一リージョン内で配信を行えばほぼリアルタイムに近い配信が実現できそうです。
※右(配信元)が 25:01
に対して、左(再生側)は 05:26
となっており、約20秒の遅延
内部の仕組みまでは把握できませんが、おそらく CMAF をベースとした Chunked Transfer Encoding でチューニングされているのではないでしょうか。
使ってみた感想など
実際に触ってみて、ライブ配信を行うためのインフラがまるっとマネージドサービスとして提供された事の楽さを実感しました。
「インタラクティブ性」を1つの強みとするサービスではありますが、MediaLive や MediaPackage で行える様な細かい設定が不要のワークロードでは Amazon ISV 使うだけでよくなるケースもこれから増えてくるのではないでしょうか。。。
ざっくりとした使い分けのイメージは以下でしょうか。
- Amazon ISV
- 動画配信においてインタラクティブ性が求められる
- MediaLive 等で実施できる細かいチューニングが不要
- Elemental 系サービス(従来)
- MediaLive 等のチューニングが必要
- DRM や DVR、広告挿入など、高度な動画機能が必要
- CloudFront を使用したい(Amazon ISV は CloudFront ではない CDN を使用する為)
今回は触れていませんが、プレイヤー SDK が提供されたのも中々の衝撃です。こちらも近々触りたいと思います。
おわりに
AWS メディアサービスの新サービスである、Amazon Interactive Video Service を紹介しました。
今まで以上に気軽にライブ配信を行う事ができるマネージドサービスとして非常に今後が楽しみです。
また、「ライブ配信=MediaLive+MediaStore/Package」の様な前提をひっくり返す新しい選択肢として、今後使われるケースが増えてくる事が予想されます。
まだまだキャッチアップできていない箇所もたくさんありますが、まずは速報という事で・・・。
この記事がどなたかのお役にたてば幸いです。
以上、AWS 事業本部の大前でした。