Amazon Web Services ブログ

新機能 — Amazon IVS によるインタラクティブなリアルタイムライブストリーム配信

ライブストリーミングは、インタラクティブなライブ動画エクスペリエンスを通して、顧客を顧客のお気に入りのインフルエンサーやブランドにつなぐ方法としてますます一般的になっています。AWS のお客様である DeNAルーターは、フルマネージドのライブストリーミングソリューションである Amazon Interactive Video Service (Amazon IVS) を活用して、ターゲットの視聴者向けに魅力的なライブストリームとインタラクティブな動画エクスペリエンスを構築しています。

3 月には、ステージというリソースを使用して、インタラクティブなエクスペリエンスをより柔軟に構築できるように、ライブストリームでの複数のホストに対する Amazon IVS のサポートが導入されました。ステージは、参加者がリアルタイムで音声と動画をやり取りできる仮想空間です。

ただし、視聴者を引き付け、全体的なエクスペリエンスを向上させるためにレイテンシーが重要な要素であることは変わりありません。レイテンシーが短いほど、ライブの視聴者と直接かつパーソナルな方法でつながることができます。これまで、Amazon IVS はステージを介して最大 12 のホストでリアルタイムのライブストリーミングをサポートしていました。チャンネル経由の視聴者のレイテンシーは約 3~5 秒でした。このレイテンシーギャップは、より多くの視聴者を対象とした直接的で魅力的なインタラクティブなエクスペリエンスを構築する際の障害となります。

Amazon IVS リアルタイムストリーミングの概要
本日、Amazon IVS Real-Time Streaming で、1 つのステージから最大 12 のホストで 10,000 人の視聴者にリアルタイムのライブストリームを配信できるようになったことに加えて、ホストから視聴者までのレイテンシーが 300 ミリ秒以下になったことをお伝えできることを嬉しく思います。

この機能により、ソーシャルメディアアプリケーションや、レイテンシーの影響を受けやすいオークションなどのユースケース向けに、インタラクティブな動画エクスペリエンスを構築する機会が広がります。

視聴者にリアルタイムレイテンシーを提供するために妥協する必要がなくなりました。複数の AWS サービスや外部ツールを使用するなどの代替策は必要ありません。一元化されたサービスとして Amazon IVS を使用するだけで、リアルタイムのインタラクティブなライブストリームを配信できます。この機能の使用を開始するためにアカウントで何かしらの要素を有効にする必要はありません。

Amazon IVS Broadcast SDK を使用したリアルタイムストリーム配信
リアルタイムストリームを配信するには、ステージリソースを操作し、iOS、Android、およびウェブで利用できる Amazon IVS Broadcast SDK を使用する必要があります。ステージを使用すると、参加者が視聴者またはホストとして参加できる仮想スペースを作成できます。リアルタイムのレイテンシーは 300 ミリ秒以下です。

ステージを使用して、ホストと視聴者が共にライブでつながるエクスペリエンスを構築できます。例えば、視聴者をホストに招待して他のホストを質疑応答に参加させること、歌のコンクールを開催すること、またはトークショーに複数のゲストを招待することができます。

ステージリソースの使用を開始する方法の概要については、「Amazon IVS を利用してライブストリームに複数のホストを追加する方法」を参照してください。全体的なフローとステージリソースの操作方法について簡単に復習しておきましょう。

まず、ステージを作成する必要があります。これはコンソールから行うか、Amazon IVS API を使用してプログラムで行うことができます。次のコマンドは、create-stage API と AWS CLI を使用してステージを作成する方法の例です。

$ aws ivs-realtime create-stage \
    --region us-east-1 \
    --name demo-realtime \
{
    "stage": {
        "arn": "arn:aws:ivs:us-east-1:xyz:stage/mEvTj9PDyBwQ",
        "name": "demo-realtime",
        "tags": {}
    }
}

参加者がホストまたは視聴者として参加できるようにするステージリソースの重要な概念は、参加者トークンです。参加者トークンは、参加者がステージを公開またはサブスクライブできるようにする承認トークンです。create-stage API を使用している場合は、カスタムユーザー ID と表示を含む属性を使用して参加者トークンを生成し、追加情報を追加することもできます。API はステージの詳細と参加者トークンを返します。

$ aws ivs-realtime create-stage \
    --region us-east-1 \
    --name demo-realtime \
    --participant-token-configurations userId=test-1,capabilities=PUBLISH,SUBSCRIBE,attributes={demo-attribute=test-1}

{
    "participantTokens": [
        {
            "attributes": {
                "demo-attribute": "test-1"
            },
            "capabilities": [
                "PUBLISH",
                "SUBSCRIBE"
            ],
            "participantId": "p7HIfs3v9GIo",
            "token": "TOKEN",
            "userId": "test-1"
        }
    ],
    "stage": {
        "arn": "arn:aws:ivs:us-east-1:xyz:stage/mEvTj9PDyBwQ",
        "name": "demo-realtime",
        "tags": {}
    }
}

create-stage API に加えて、API を使用して参加トークンをプログラムで生成することもできます。現在、参加トークンには PUBLISHSUBSCRIBE という 2 つの属性値があります。 参加者をホストに招待する必要がある場合、参加トークンを作成するときに PUBLISH 属性を追加する必要があります。PUBLISH 属性を使用すると、ホストの動画と音声をストリームに含めることができます。

参加トークンを生成する方法の例を次に示します。

$ aws ivs-realtime create-participant-token \
    --region us-east-1 \
	--capabilities PUBLISH \
	--stage-arn ARN \
	--user-id test-2

{
    "participantToken": {
        "capabilities": [
            "PUBLISH"
        ],
        "expirationTime": "2023-07-23T23:48:57+00:00",
        "participantId": "86KGafGbrXpK",
        "token": "TOKEN",
        "userId": "test-2"
    }
}

参加トークンを生成したら、WebSocket メッセージなどを使用して該当するクライアントに配布する必要があります。次に、Amazon IVS Broadcast SDK を使用するクライアントアプリケーション内で、この参加者トークンを使用して、ユーザーがホストまたは視聴者としてステージに参加できるようすることができます。ステージリソースの操作方法の詳細については、iOS または Android 用のサンプルデモ、およびリアルタイムデモ用のサーバーレスアプリケーションを参照してください。。

この時点で、ステージを使用して 10,000 人の視聴者にリアルタイムのライブストリームを配信できます。より多くの視聴者向けにストリームを拡張する必要がある場合は、ステージをチャンネルの入力として使用し、Amazon IVS の低レイテンシーストリーミング機能を使用できます。チャンネルを使用すれば、単一のソースから 5 秒以下の低レイテンシーで、同時実行性の高い動画を数百万人規模の視聴者に配信できます。ステージをチャンネルに公開する方法の詳細については、iOS、Android、ウェブの情報を含む Amazon IVS Broadcast SDK のドキュメントのページを参照してください。

Amazon IVS Real-Time Streaming 機能の階層型エンコーディング機能
エンドユーザーは高品質のライブストリームを求めています。ただし、ライブストリームの品質は、ネットワーク接続の状態やデバイスのパフォーマンスなど、さまざまな要因に左右されます。

最も一般的なシナリオは、最適な視聴構成以上の単一バージョンの動画を視聴者が受け取ることです。例えば、ホストが高品質の動画を制作できれば、接続が良好な視聴者はライブストリームを楽しむことができますが、接続速度が遅い視聴者の場合は読み込みに遅延が生じるだけでなく、動画を視聴できなくなることもあります。ただし、ホストが低画質の動画しか制作できない場合、接続が良好な視聴者は最適な動画が得られず、接続速度が遅い視聴者には望ましい視聴エクスペリエンスが提供されます。

この問題に対処するため、今回の発表では、Amazon IVS Real-Time Streaming 機能の階層型エンコーディング機能もリリースされました。ステージに公開すると、Amazon IVS は階層化されたエンコーディング (サイマルキャストとも呼ばれます) を使用して複数のバリエーションの動画と音声を自動的に送信します。その結果、視聴者はネットワークの状態に応じて受信可能な最高の品質でのストリームの視聴を継続できます。

お客様の声
プライベートプレビュー期間中、お客様から Amazon IVS Real-Time Streaming について多くのフィードバックをいただきました。

Whatnot は、コレクターや愛好家がコミュニティとつながり、お気に入りの商品を売買できるライブストリームショッピングプラットフォームおよびマーケットプレイスです。「ライブ動画オークションをグローバルコミュニティに拡大することは、私たちの主要なエンジニアリングの課題の 1 つです。リアルタイムのレイテンシーを確保することは、エキサイティングなオークションエクスペリエンスの整合性を維持するための基盤です。Amazon IVS Real-Time Streaming を活用することで、自信を持って業務を世界中にスケールアウトし、ウェブプラットフォームであるかモバイルプラットフォームであるかに関係なく、ユーザーベース全体でシームレスで品質の高いリアルタイム動画エクスペリエンスを保証できます」と Ludo Antonov 氏 (VP of Engineering) は語っています。

今すぐ利用可能
Amazon IVS Real-Time Streaming は、Amazon IVS を利用できるすべての AWS リージョンで利用できます。Amazon IVS Real-Time Streaming を使用する場合、ホストまたは視聴者が参加者としてステージリソースに接続している間、時間単位の料金が請求されます。

Amazon IVS’s Real-Time Streaming と低レイテンシーストリーミング機能のメリット、ユースケース、使用を開始する方法、料金の詳細については、Amazon IVS のページを参照してください。

ストリーミングをお楽しみください!
– Donnie

原文はこちらです。