エクスペリエンス・コンポーザー
Experience Composerは、一般に公開されている任意のウェブサイトをキャプチャし、既存のOpenTok APIセッション内でストリームとして配信できるクラウドベースのサービスです。これは コンポジット・ストリーム ウェブサイトの充実したUI/UX体験を損なうことなく、アーカイブ録画、放送、および他のインタラクティブなOpenTokセッションへのストリーミングに利用できます。
REST API メソッド
Video API REST API を使用して、以下の操作を行います:
OpenTok サーバーSDK また、Experience Composer の使用方法についても説明しています。
使用例
エクスペリエンス・コンポーザー アーカイブ
OpenTok をご利用いただけます アーカイブ OpenTokセッションの音声および動画を 記録する機能。ただし、作成されたアーカイブの動画レイアウトは、サポートされているものに限定されます。 ビデオ・レイアウト・オプション.
エクスペリエンス・コンポーザーを使用すると、サイトの 実際 レイアウトをアーカイブのレイアウトに使用する:
-
エクスペリエンス・コンポーザーを作成し、そのURLを、セッション内のストリームを購読し、 適切なレイアウトを適用するWebページに設定します。
-
Experience Composer を使用して、新しい OpenTok セッション内のストリームにページを公開します。
-
を使用する。 OpenTok REST API または、OpenTokサーバーSDKのメソッドを使用して、 Experience Composerのストリームをアーカイブします。
アーカイブの解像度をエクスペリエンス コンポーザーの解像度に合わせます(エクスペリエンス コンポーザーの起動時に設定されます)。
エクスペリエンス・コンポーザー・ブロードキャスト
OpenTok を使って ライブ・ストリーミング放送機能, OpenTokセッションをHLSまたはRTMPストリームに配信することができます。ただし、ライブストリーミング配信における 動画のレイアウトは、サポートされているものに限定されます。 ビデオ・レイアウト・オプション.
エクスペリエンス・コンポーザーを使用すると、サイトの 実際 レイアウトを放送レイアウトに使用する:
-
エクスペリエンス・コンポーザーを作成し、そのURLを、セッション内のストリームを購読し、 適切なレイアウトを適用するWebページに設定します。
-
Experience Composer を使用して、新しい OpenTok セッション内のストリームにページを公開します。
-
を使用する。 OpenTok REST API または、OpenTokサーバーSDKのメソッドを使用して、Experience ComposerのストリームをHLSまたはRTMPストリームに配信します。
アーカイブの解像度をエクスペリエンス コンポーザーの解像度に合わせます(エクスペリエンス コンポーザーの起動時に設定されます)。
双方向ライブ放送を拡大し、参加者を増やす(最大数百万人)
OpenTokのライブストリーミング配信では、最大15,000人のクライアントがインタラクティブなOpenTokセッションを視聴できます。 サポートされる人数は、セッション内でストリームを配信しているクライアントの数によって異なります(詳細は 双方向ライブ放送 ガイド)。
エクスペリエンス・コンポーザーを使用して、視聴者の数を増やすことができます:
-
「エクスペリエンス・コンポーザー」を作成し、そのURLを、配信対象となるメインのOpenTokセッション内のストリームを購読するWebページに設定します。
-
Experience Composer を使用して、そのページを新しい OpenTok セッションに公開してください。
-
他の複数のExperience Composerインスタンスについても、この手順を繰り返します。各インスタンスは、 最初のセッションのストリームを購読し、それらを新しいセッションにパブリッシュします。
-
アプリケーション・サーバーは、以下のセッションIDを送信します。 エクスペリエンス・コンポーザー・セッション 各閲覧クライアント(最初のセッションにコンテンツを配信していないクライアント)に対して。 アプリケーションサーバーは、各エクスペリエンス・コンポーザー・セッションに追加されたクライアントの数を追跡し、 いずれのセッションに対しても接続数が15,000を超えないようにする必要があります。
これにより構成されるExperience Composerセッションの配列は、パブリッシャーが2つの場合、最大15,000 * (15,000 - 2)
人の視聴者(224,970,000人)に対応します。パブリッシャーの数がこれ以外の場合は、
「
双方向ライブ放送 ガイド、
そしてこの手法は、
15,000 * ([number supported from that table] - [number of publishers]) の顧客だ。

その他の使用例
Experience Composer を使用すると、任意のウェブページをキャプチャし、それをオーディオ・ビデオストリームとして OpenTok セッションに送信して、他のユーザーが閲覧できるようにすることができます。そのページには、OpenTok ストリーム以外のソースからのオーディオやビデオが含まれている場合もあります。また、OpenTok セッションに接続しているクライアントが閲覧できる、複雑な UI レイアウトを持つ動的コンテンツが含まれている場合もあります。
制限事項
GPU非対応
Experience ComposerのレンダリングサーバーはGPUに対応していません。そのため、 デスクトップ版のChrome上で動作するGPUのリソースを通常10%以上消費するようなWeb Applicationsを実行することはできません。 Experience Composerに送信するWebアプリケーションがOpenGL(またはGPUを活用するその他のコード)を使用している場合、Experience Composerでのパフォーマンスやレンダリング品質が低下する可能性があります。
定期的なセッションが必要
エクスペリエンス・コンポーザーは、ルーティングされたセッションにのみ対応しています。 OpenTok メディアルーター).
サーバーローテーション
エクスペリエンス・コンポーザは、使用しているセッションのサーバーローテーション中に終了します。サーバー ローテーション通知イベントに応じて、エクスペリエンス コンポーザーを再起動できます。参照 サーバーのローテーションとセッションの移行.
コールバックの設定
Experience Composer Webhooks の安全なコールバックを設定するには、以下を参照してください。 本ガイド.
エクスペリエンス コンポーザーのステータスが変更されると、HTTP POST が設定された URL に配信されます。コールバック URL が設定されていない場合、ステータスの更新は配信されません。HTTP 要求の生データは、次の形式の JSON エンコードされたメッセージです:
{
"id": "<experience-composer-id>",
"sessionId": "<session-id>",
"streamId": "<output-stream-id>",
"status": "stopped",
"reason": "Max duration exceeded."
"event": "render"
}
JSONオブジェクトには以下のプロパティが含まれる:
- id — エクスペリエンス・コンポーザーの一意のID。
- sessionId — OpenTokのセッションID。
- streamId — 配信されている合成ストリームのID。ステータスが「failed」の場合、streamId は利用できないことがあります。
- status — Experience Composer のステータス。このプロパティには、以下のいずれかが設定されます:
- "started" — Vonage Video API プラットフォームは、リモートアプリケーションサーバーへの接続に成功し、 Web ビューを OpenTok ストリームに公開しています。
- 「停止しました」 — Experience Composer が停止しました。
- 「失敗」 — エラーが発生し、Experience Composer を続行できませんでした。これは、起動時に OpenTok サーバーがリモートアプリケーションサーバーに接続できない場合や、ストリームを再公開できない場合に発生することがあります。また、Vonage Video API プラットフォームのエラーにより、 処理中のどの時点でも発生する可能性があります。
- 理由 — このフィールドは、ステータスが「停止」または「失敗」の場合にのみ表示されます。ステータスが「停止」の場合、理由フィールドには「最大実行時間を超過」または「停止要求」のいずれかが表示されます。 ステータスが「失敗」の場合、理由フィールドには「Internal server failure」と表示されます。
- イベント — すべての Experience Composer コールバックイベントについて、これは「render」に設定されます。
データの可視化
Insights API でのデータの表示
を使用することができます。 インサイトAPI Experience Composerの利用データを表示するには。その experienceComposer 使用状況データは、エクスペリエンス・コンポーザーが公表した議事録を示しています。
について experienceComposerArchive そして experienceComposerBroadcast 使用プロパティは非推奨。以前は experienceComposer 利用データは 違う これには、エクスペリエンス・コンポーザーがアーカイブまたは放送に接続されていた期間の記録が含まれていました。しかし、現在はそうではありません。(「エクスペリエンス・コンポーザー・アーカイブ」および「エクスペリエンス・コンポーザー・ブロードキャスト」のバンドルは、現在利用できません。)
更新情報
2026年3月12日
以下の機能強化が行われた:
- ネイティブSDKのバージョンが2.29.0に更新されました。
- VP9コーデックを使用して、動画のフレームレートを向上させる。
- Respectプラットフォーム サーバー移行イベント を停止し、顧客にコールバックを送信する。
- 「Respect」モデレーターから送信されました 強制切断と強制解除 イベントを優雅に停止し、顧客にコールバックを送信する。
- セキュリティ修正。
2025年8月8日
以下の機能強化が行われた:
- トラフィックの急激なピークを吸収するための改良により、スケーラビリティと信頼性を強化。
2025年7月8日
以下の機能強化が行われた:
-
負荷分散とリージョン間のフェイルオーバー機能が強化され、スケーラビリティと信頼性が向上したことで、トラフィックの急増にもより迅速に対応できるようになりました。
-
不安定な動作の問題があったため、ブラウザのバージョンをM126に、ネイティブSDKのバージョンを2.27.1にダウングレードしました。
-
セキュリティ修正。
-
バグ修正。
2025年6月3日
以下の機能強化が行われた:
-
ネイティブSDKのバージョンを2.29.1に更新しました。
-
内部エラーが発生するとサービスは自動的に停止し、登録されたコールバックURLにイベントが送信される。
-
セキュリティアップデートが適用されました。
2025年5月26日
以下の機能強化が行われた:
-
ブラウザのバージョンをM133にアップグレードし、セキュリティを強化しました。
-
バグ修正。
2024年10月3日
以下の機能強化が行われた:
-
複雑な高画質ビデオストリームのためのレート制御エンジンの最適化。
-
複雑な高画質ビデオストリームのためのエンコーダーの最適化。
-
libwebrtc のバージョンアップにより、パフォーマンスと安定性が向上。