Amazon Web Services ブログ
ユースケースに合わせたAWSライブストリーミングソリューションの選択
昨年7月、AWSは低遅延の双方向ストリーミングサービスを実現するマネージドライブストリーミングサービスAmazon Interactive Video Service (Amazon IVS) を発表しました。Amazon IVSは、既存のAWSメディアサービスに加えてライブストリーミング体験を構築するための優れた機能を備えていますが、お客様から特定のユースケースに対してどのオプションが最適かという質問をよく受けます。
この質問に回答するためには、まずお客様のビジネスゴール、コア技術コンピテンシー、アプリケーション要件を理解することが重要だと考えています。もし放送局のお客様と話をするのであれば、既に様々なビデオ技術を利用されており既存のコンポーネントを活用しながら、機能を選択・設定して高度な制御を行いながら最高のビデオ品質を提供することを望まれていると想定できます。このような要件には、AWSメディアサービスのビルディングブロックアプローチは理想的です。なぜなら、エンドトゥエンドのビデオパイプラインを作成するためのサービス群と、各サービス内の制御レベル(細かいエンコード設定など)の両方において柔軟性を提供することができるからです。逆に、eコマース事業者がライブ動画を利用して商品のプロモーションを行い、ユーザーのエンゲージメントを高めようとされる場合、ビデオ配信は事業の中核でなく、動画配信技術の経験をお持ちでないケースも多いかと思います。このような場合、Amazon IVSは、動画の処理と配信の機能をすべて備えているため、非常に簡単に動画配信を始めることができます。
多くのお客様はこれらのユースケースの中間に位置しており、どのサービスを利用するかの判断はより難しくなることがあります。サービスを技術要素から選択する前に、関連するAWSサービスの範囲をライブストリーミングアーキテクチャ内での機能という観点から見てみましょう。
私はまず、この映像配信チェーンの両端を見てみたいと思います。新しいライブサービスの構築を計画している場合、どこで、どのように映像を制作するのでしょうか?ソースとなる映像を遠隔地から提供するのでしょうか?もしそうなら、そこに技術的なリソースがあるのか、必要なのか?AWS Elemental Linkを利用すれば、カメラからの映像をAWSクラウドに取り込んで処理するプロセスを簡単に実現できます。カメラのSDIまたはHDMI、電源、インターネット接続を接続するだけで、オンサイトでの設定やセットアップは必要ありません。Elemental Linkは、AWS Elemental MediaLiveのソースとなり、AWSマネジメントコンソールやAPIを介して一元的に制御可能です。ユーザーが作成したライブコンテンツをベースにしたアプリを構築している場合、ビデオストリームがいつどこで作成されるかをコントロールすることができないことがあります。この場合、Amazon IVSが最適な選択肢となります。Amazon IVSでは、ユーザーがビデオコンテンツのストリーミングを開始するまで休止しているチャンネルを作成し、入力ストリームが停止すると自動的にチャンネルを停止させることができます。これにより、オーケストレーションが大幅に簡素化され、チャンネルがアクティブになっている間だけ課金されることになります。
さて、ビデオパイプラインのもう一方の端に話を移しましょう。視聴者はどこにいて、どんなデバイスを使っているでしょうか?ウェブやモバイルデバイスに配信する場合、Amazon IVSでは、ウェブ、iOS、Androidの各プラットフォームで一貫した体験を提供するプレーヤーSDKを提供しています。低遅延を維持し、新しいインタラクティブなメタデータが到着するとイベントを生成します(詳細は後述します)。ゲーム機やコネクティッドTVなど、より幅広いデバイスにライブストリームを配信したい場合は、AWSメディアサービスで標準規格に準拠したストリームを生成することで、幅広いデバイスやサードパーティのプレーヤーへの対応が可能になります。
中間に位置する他のワークフローコンポーネント(トランスコードから配信など)については、これらの機能の1つまたは複数を管理する製品やサービスを既にご利用で、満足していて継続して利用されたい場合、AWSメディアサービスにて実現することができます。AWSメディアサービスは標準規格に準拠しており、MediaLiveと連携しているElemental Linkを除いては、それぞれサービス単独で利用することができます。一方、Amazon IVSは、お客様に代わってこれらの機能を完全に管理し、シンプルなAPIで利用することができます。
前述の図で各サービスのメリットを説明するのではなく、お客様との会話の中でよく出てくる機能要件のトピックを元に以下ようにまとめました。
インタラクティビティ(双方向性)
Amazon IVS: これはAmazon IVSの基本的な機能です。インタラクティブ機能は、ビデオストリームにインタラクティブな要素を挿入するための柔軟なメタデータAPIによって実現できます。(Amazon IVSの)プレーヤーSDKと併用することで、ビデオの各瞬間に基づいて、アプリケーションでイベントのアップデートを簡単に行うことができます。投票の作成、商品カルーセルの更新、視聴者数の表示など、さまざまな機能が考えられます。
その他AWSメディアサービス: その他AWSメディアサービスでも、技術的には双方向性を実現することは可能ですが、メタデータの挿入、ビデオパイプラインへのパス、アプリケーション内でのアクションの検出とトリガーなど、より多くのカスタム開発が必要になります。他の方法として考えられる技術は(アプリケーションによっては限定的になりますが)、Elemental LiveとMediaLiveの両方で対応している、HTML5 モーショングラフィックスオーバーレイ機能です。この技術を利用することで、ビデオコンテンツの一部として、外部のデータソースからスコアボードやその他のビジュアル要素を挿入することができます。
Low latency低遅延性
Amazon IVS: 低遅延もAmazon IVSの特徴の一つです。IVSプラットフォームとプレーヤーSDKを組み合わせることで、グラス・トゥ・グラス(カメラからスクリーンまで)のレイテンシーは通常5秒未満となります。
その他AWSメディアサービス: その他AWSメディアサービスは標準規格に準拠しており、AppleのAVPlayerやGoogleのShaka Playerなどのネイティブプレイヤーや、その他の商用またはオープンソースの製品で構築されるサービスでの利用に最適です。AWS Elemental Liveは、低遅延のDASHをサポートしています。AWS Elemental MediaStore、Amazon CloudFront、そしてchunked fragmented mp4のDASHをサポートするプレーヤーと組み合わせることで、グラス・トゥ・グラスのレイテンシーを2秒という低遅延を実現することが可能です。
コンテンツ保護
Amazon IVS: Amazon IVSは現時点ではコンテンツを暗号化するオプションを提供していませんが、再生セッションを認証することでチャンネルへのアクセスを保護するメカニズムを提供しています。視聴者のアクセスを制限する方法の詳細については、IVSユーザーガイドの「Setting Up Private Channels」を参照してください。
その他AWSメディアサービス: その他AWSメディアサービスはSPEKE(Secure Package Encoder Key Exchange)プロトコルを介して、幅広いコンテンツ保護オプションを提供します。これにより、お客様はさまざまなサードパーティベンダーが提供する標準的な暗号化方式(Apple Fairplay、Microsoft PlayReady、およびGoogle Widevine)を使用して、複数のフォーマットでコンテンツを保護することができます。
広告挿入
Amazon IVS: Amazon IVSは現在、プレロール広告やミッドロール広告を挿入してストリームを収益化する機能を提供していません。
その他AWSメディアサービス: その他AWSメディアサービスは、包括的な広告挿入機能を提供しています。MediaLiveは入力ストリームからSCTE-35広告マーカーを渡すか、サービスAPIを介してマーカーを挿入することで、広告挿入のためにコンテンツストリームを提供することができます。AWS Elemental MediaPackageはパッケージタイプに応じて、追加の制御とフィルター機能を提供します。また、AWS Elemental MediaTailorは、ターゲット広告を大規模に視聴者に提供するためのサーバーサイドマネタイズサービスです。
ストリームの自動開始
Amazon IVS: Amazon IVSで新しいチャンネルを作成すると、数秒でストリーミングが可能になります。さらに重要なのはチャンネルが入力ビデオを受信すると、自動的にストリーミングを開始できることです。これにより、オーケストレーションが非常に簡単になり、ユーザーがいつでもビデオのストリーミングを開始できるユーザー生成コンテンツ(UGC)アプリケーションに最適です。
その他AWSメディアサービス: MediaLiveでは、ソースコンテンツの配信を開始する前に、チャンネルを起動している状態である必要があります。MediaLiveチャンネルは、AWSマネジメントコンソールやAPIで起動コマンドを受け取ってから、実行状態になりコンテンツの出力を開始するまでに数分かかります。
24/365チャンネル
Amazon IVS: Amazon IVSはイベントベースのワークフローをベースとしています。私の経験では、24時間365日のチャンネルをストリーミングしているお客様からは、一般的に冗長アーキテクチャと障害シナリオの制御が考慮が必要になります。
その他AWSメディアサービス: MediaLiveは、ソースやインジェストのネットワーク障害の可能性に対応する入力フェイルオーバー・オプションを提供し、さらに、別々のアベイラビリティーゾーンに分散された完全に冗長なパイプライン(標準モード)を実行するオプションを提供します。AWS Elemental MediaPackageも入力フェイルオーバーをサポートしており、MediaLiveの冗長化パイプラインと組み合わせることで、複数の配信URLの管理やプレーヤー内での障害ロジックの処理を必要とせず、可用性の高いビデオサービスを構築することができます。
ライブストリーミングはこれまで以上にユーザーを魅了する、視聴者のエンゲージメントを高める、新しいアイデアを共有するなど、ユーザーとのつながりを維持するために、さまざまな業界で利用されてきています。このブログではその機能のほんの一部をご紹介しましたが、AWSメディアサービスは、自由度の高いデザインでプラットフォームから制御を行いたい場合や、APIにより容易にアプリへライブビデオ機能を追加したい場合など、お客様に高品質なビデオ体験を提供するための一連のサービス群を提供しています。
AWS Media & Entertainment 参考コンテンツ
・AWS Media & Entertainment Blog (日本語)
・AWS Media & Entertainment Blog (英語)
AWSのメディアチームの問い合わせ先: awsmedia@amazon.co.jp
※毎月のメルマガをはじめました。最新のニュースやイベント情報を発信していきます。購読希望は上記宛先にご連絡ください。
翻訳は BD山口とSA安司が担当しました。原文はこちらをご覧ください。