株式会社Jストリーム 様
ブラウザ完結型「参加型ライブ配信」Webアプリケーション プロトタイプ開発
プロジェクト概要
離れた場所にいる出演者やゲストがブラウザから番組に参加し、その映像をテレビ番組のように自由にレイアウトして、そのままライブ配信する「参加型ライブ配信」Webアプリケーションについて、実現できるかを確かめるためのプロトタイプを開発しました。
「専用ソフトや配信機材なしで、Google Chrome だけで出演者の参加、配信画面づくり、ライブ配信の3つを一か所で完結できるか」を検証テーマとし、実際に動くアプリケーションを作って、構成と技術の実現性を確かめています。
出演者が参加する仕組みには Amazon Chime SDK、視聴者への配信には Amazon IVS を採用し、サーバー側は必要なときだけ処理が動くサーバーレス構成で構築しました。
背景と検証の目的
複数の出演者やゲストが参加するライブ配信では、これまで複数のツールを組み合わせる必要があり、運営側に大きな負担がかかっていました。
- 出演者をつなぐツールと配信ソフトを別々に用意する必要がある
Zoom などで出演者を集め、その映像を OBS などの配信ソフトに取り込む設定と機材が必要でした。 - 配信ソフトの操作が難しく、属人化しやすい
詳しい担当者がいないと配信を運営できませんでした。 - 出演者が別々の場所にいると、映像と音声を1つの番組にまとめるのが大変
遠隔地の出演者やゲストを配信画面に登場させるまでの手間が大きいという声がありました。 - 専用の配信機材を揃えると費用が高額になる
本格的な配信を行うための専用機材は高額でした。
こうした課題に対し、機材や専門知識がなくてもブラウザだけで出演者を招き、番組として配信できる仕組みが実現可能かを見極めるため、プロトタイプを開発しました。ブラウザとクラウドサービスの組み合わせで実現できれば、専用機材を使う場合と比べて初期費用を抑え、使った分だけの費用で配信を運営できることも期待されます。
主な検証ポイントは次のとおりです。
| 検証ポイント | 確認したいこと |
|---|---|
| 出演者の参加 | ブラウザだけで、遠隔地の出演者がスムーズに番組へ参加できるか |
| 映像と音声の品質 | 自宅などからの参加でも、配信に耐える見た目と聞こえ方にできるか |
| 配信画面の構成 | 配信ソフトを使わずに、ブラウザ上で番組らしい画面を組み立てられるか |
| 配信 | 組み立てた画面を、そのまま視聴者向けにライブ配信できるか |
プロトタイプの実装内容
参加型ライブ配信の流れ(ルーム作成、出演者の参加、画面レイアウト、配信開始)を一つずつ分解し、各工程を実際に動く形で実装して検証しました。
出演者ルーム:IDを共有するだけで番組に参加できるか
Amazon Chime SDK を用いて、出演者が集まる「ルーム」を実装しました。ボタン1つでルームを作成し、発行されたIDを共有するだけで、出演者やゲストがブラウザから参加できます。
カメラ、マイク、スピーカーの切り替えや参加者名の日本語表示にも対応し、配信に不慣れな出演者でも扱える画面になるかを確認しています。
カメラと音声の補正:自宅からの出演でも配信品質を保てるか
出演者がどこから参加しても見やすく聞きやすい映像にできるかを確かめるため、Amazon Chime SDK の補正機能を組み込みました。
| 機能 | 内容 |
|---|---|
| 背景ぼかし | 出演者の後ろの部屋をぼかして映さないようにする |
| 背景画像 | 背景を任意の画像に差し替える |
| ノイズ除去 | キーボード音や周囲の雑音を AI で除去し、声を聞き取りやすくする |
いずれもボタン1つで切り替えられる形で実装し、本番直前の調整にも使えるかを検証しました。
配信画面をつくる「スタジオ」:ブラウザ上で番組らしい画面を組み立てられるか
配信する映像を自由にレイアウトできるスタジオ画面をカスタム開発しました。
- 出演者の映像をドラッグ&ドロップで好きな位置に配置
- 画像、動画、テキスト(テロップ)、半透明の帯などを重ねて表示
- 位置、大きさ、文字サイズ、色、重なり順などを細かく調整
- 「オープニング用」「トーク用」など、複数の画面パターン(シーン)を作成して切り替え
アップロードした動画に音声が含まれている場合は、その音声を出演者の音声とまとめて配信に乗せる仕組みも試作しています。
「見たまま」を配信:Element Capture によるスタジオ画面の直接配信
配信用の映像を別の仕組みで組み立て直すのではなく、Chrome の新しい機能である Element Capture API を活用し、スタジオ画面の「配信エリア」だけを切り取って Amazon IVS へ送出する方式を検証しました。
画面で見たとおりの映像をそのまま視聴者に届けられるため、運営者が「実際にはどう映っているのか」と迷わずに済む構成です。
検証結果
「ルームを作る、出演者に参加してもらう、画面をレイアウトする、配信開始ボタンを押す」という4ステップの流れを、ブラウザ上で一通り動作させることができ、ブラウザ完結型の参加型ライブ配信が技術的に実現可能であることを確認しました。
開発スタックと体制
- フロントエンド:React / TypeScript / Vite / Tailwind CSS / shadcn/ui
- 出演者の参加:Amazon Chime SDK(Voice Focus ノイズ除去、背景ぼかし、背景置換)
- ライブ配信:Amazon IVS Real-Time Streaming / Element Capture API
- バックエンド:AWS Lambda(Node.js 22)/ Amazon API Gateway / AWS SAM
- Web公開:Amazon S3 / Amazon CloudFront / AWS CDK