本文へスキップ
SynQNow
配信技術・プロトコル6分で読めます

ブラウザ送出をリリースしました — エンコーダなしで双方向配信を回す

配信コンソールにブラウザ送出を追加しました。エンコーダもウインドウキャプチャも要らず、音声はn-1を送るだけ。配信元の構成をブラウザ1枚に畳んだ内容と、遅延が約1秒から190ミリ秒になったことを書きます。

文 / YKCイベント配信エンジニア / SynQNow 開発者

配信コンソールにブラウザ送出を追加しました。超低遅延モードのイベントで、ブラウザから直接映像を送れます。

これまで双方向の配信を1拠点で回すには、配信元に2系統の送出を並べる必要がありました。OBSなどのエンコーダでカメラ映像をRTMPで送り、それとは別にブラウザで質疑応答コンソールを開いて質問者とやり取りする。音声も、配信基盤へ送る全体ミックスと質問者へ返すn-1を、卓で作り分けていました。この構成が、ブラウザ1枚に畳まれます。

今回のリリースで変わるのは次の点です。

  • 配信元のソフトがブラウザ1枚になります(エンコーダが要りません)
  • 音声はn-1を送るだけで済みます(全体ミックスはブラウザ側で合成します)
  • 質問者の映像は発言と同時に自動でPiPに乗ります(ウインドウキャプチャが要りません)
  • カメラから視聴ページまでの遅延が約1秒から190ミリ秒になりました(自社実測)
  • 従来のRTMP送出もイベントごとに選べます

以下、それぞれ何がどう変わったのかを書きます。

配信元の構成が、ブラウザ1枚になりました

構成を並べると差がはっきりします。

これまで配信コンソール
配信元のソフトエンコーダ(OBS等)+ 質疑応答コンソールブラウザ1枚
送出RTMPで送出ブラウザから直接送出
質問者の映像クリーンフィード窓をウインドウキャプチャ自動でPiPに乗る
音声全体ミックスとn-1を卓で作り分けるn-1を送るだけ。全体ミックスはブラウザ側で合成する
ミキサー2系統を出せるバス数が必要出力1系統で足りる
司会の操作質疑応答コンソールを別に開く同じ画面で兼ねる

音声の行が、実務では一番効きます。質問者の声はブラウザの中に届いているので、配信基盤へ送る全体ミックスはブラウザ側で作れます。卓から出すのは質問者の声が入っていない音、つまりn-1だけでよく、これは卓のメイン出力そのものです。返しのバスを立てる作業も、ブラウザの音を卓へ戻す配線も無くなります。

減ったのは機材と設定項目だけではありません。キャプチャ元のウインドウを取り違える、キャプチャ範囲がずれる、バスの送り先を間違えて質問者にハウリングを返すといった、本番中に起きうる事故の経路がまとめて消えます。設定が減るというより、事故の起点が減るという言い方のほうが実感に近いはずです。

質問者は、発言と同時に自動でPiPに乗ります

質問者の映像は、発言が許可された時点で自動的にPiPとして合成されます。発言が終われば外れます。発言できるのは常に1名という制御がサーバー側にあるので、誰を映すかで迷う場面が構造的に生まれません。

配置は5つのプリセットから選べます。

プリセット
右下(既定)配信者を全画面、質問者を右下に小さく
左下同じく、質問者を左下に
大きめ質問者を右下に大きく(表情まで見せたいとき)
並べる左右に同じ大きさで(対談)
入れ替え質問者を全画面、配信者を右下に小さく

プリセットを選んだあと、プレビュー上でそのままドラッグやリサイズができます。内部的にはプリセットも自由配置も同じ「矩形」として持っているので、プリセットから少し動かす、という操作が破綻しません。ドラッグした瞬間に表示は「自由配置」へ変わり、実態と食い違わないようにしてあります。

プレビューは、視聴者に届く絵そのものです

画面に出しているプレビューは、合成後のキャンバスをそのまま映したものです。別に作った確認用の絵ではありません。

配信で怖いのは、手元で見ている絵と視聴者に届く絵が食い違うことです。ウインドウキャプチャを挟む構成では、キャプチャ範囲や重なり順の設定を誤ると、この食い違いが起きます。合成そのものを画面に出していれば、原理的に食い違いません。

もうひとつ、従来の質疑応答コンソールを併用する運用も残してあるため、両方から司会者の映像を送ると質問者に二重に届きます。この状況は検知して警告を出すようにしました。

遅延は、約1秒から190ミリ秒になりました

構成の簡素化を狙った改良でしたが、遅延にも効きました。カメラから視聴ページまでの実測値です(いずれも自社実測)。

送出方式実測遅延
エンコーダからRTMPで送出約1秒
ブラウザから直接送出190ミリ秒

RTMPで送る経路では、エンコードとRTMPでの伝送、そこから配信基盤内での変換が積み上がります。ブラウザ送出はその段を踏まないぶん、素直に短くなります。

そのため質疑応答をしない配信でも、単に遅延を詰めたい場面で使えます。会場の音や画といっしょに見せる用途、拍手や反応が返ってくることに意味がある用途では、1秒と0.2秒の差はそのまま体験の差になります。質疑応答機能を使う予定がなくても、超低遅延モードのイベントであれば送出方式としてブラウザ送出を選べます。

合成のフレームレートは、Chrome・Safari・Firefoxのいずれでも30fps前後でした(自社実測)。ブラウザによる差はほとんどありません。

RTMPでの送出も、イベントごとに選べます

すべてをブラウザに寄せたわけではありません。送出方式はイベントごとの設定です。

ブラウザ送出は超低遅延モードのイベントで選べます。一方で、放送用のカメラやスイッチャーを持ち込む現場、複数カメラをスイッチングする現場では、これまでどおりエンコーダからRTMPで送るほうが確実です。機材を作り込む必要がある配信まで、ブラウザに置き換えるつもりはありません。

簡素にできる現場を簡素にするための選択肢であって、置き換えではない、という位置づけです。

回線側の話はボンディングルーターの記事にも書きました。ブラウザ送出を前提にすると、現場に必要な機材が「安定したインターネット回線を作るもの」だけになります。

手こずったのは、機能そのものより周辺でした

余談ですが、開発で時間を取られたのは合成や送出の本体ではなく、その周りの細部でした。発言者が交代したときにPiPをきれいに入れ替えること、司会者が二重になっている状態を検知すること、タブを裏に回してもフレームレートを落とさないこと、長時間のイベントのあいだ、配信と質疑応答それぞれの認証トークンを切らさずに保つこと。どれも地味ですが、本番で効くのはこの層です。それぞれの詰め方はいずれ別の記事で書きます。

まとめ

  • 配信コンソールにブラウザ送出を追加しました。超低遅延モードのイベントで選べます
  • 配信元の構成がエンコーダ+質疑応答コンソールの2系統から、ブラウザ1枚になりました
  • 音声はn-1を送るだけでよくなり、全体ミックスはブラウザ側で合成します。卓は出力1系統で足ります
  • 質問者は発言と同時に自動でPiPに乗ります。配置はプリセット5種から選び、そのままドラッグで調整できます
  • 遅延は約1秒から190ミリ秒になりました(自社実測)。質疑応答をしない配信でも、遅延を詰めたい場面で使えます
  • 従来のRTMP送出もイベントごとに選べます。機材を作り込む現場まで置き換えるものではありません

音声のn-1そのものの考え方は配信のマイナスワン(n-1)とはで書いています。送出をブラウザに寄せても、質問者に自分の声を返さないという原則は変わりません。

  • #新機能
  • #WebRTC
  • #双方向配信
  • #質疑応答
  • #配信構成
  • #ブラウザ送出

この記事を書いた人

YKC

イベント配信エンジニア / SynQNow 開発者

イベント制作の現場に25年、映像配信に20年近く携わってきました。オンライン配信が当たり前になるより前から、拠点間中継やライブ配信の現場に立っています。

  • イベント制作の現場に入り、以来25年にわたって本番運営に携わる
  • 映像配信に軸足を移し、20年近く配信オペレーションと技術設計を担当
  • オンライン配信が一般化する以前から、拠点間中継・遠隔中継の現場を手掛ける
  • 株主総会をはじめとする、失敗が許されない配信の現場を数多く経験
  • 現場で繰り返し直面した課題をそのまま設計に落とし、SynQNowを開発
  • ライブ配信
  • 超低遅延配信
  • WebRTC
  • HLS
  • RTMP
  • SRT
  • 拠点間中継
  • 株主総会配信
  • IR・決算説明会配信
  • 社内配信
  • イベント音響・映像オペレーション

YKC のプロフィールを見る →

配信技術・プロトコル7分で読めます

配信画面を作り直しています — 7つに分かれた操作を1画面へ

4つの送出方式それぞれに別の画面があり、どれが何の役目か分かりにくくなっていました。1画面へ統合し、配信前に絵を確認してから開始できるようにします。実装前の設計として、決めたことと、その理由、できないと分かったことを書きます。

  • #UI設計
  • #配信オペレーション
  • #管理画面
  • #WebRTC
  • #開発中
配信技術・プロトコル6分で読めます

WebRTC / HLS / SRT / RTMP、結局どれを選ぶのか

WebRTC・HLS・SRT・RTMPは並列に比較できるものではなく、担当する区間と得意分野が違います。それぞれの仕組みとトレードオフを整理し、用途から逆算して選ぶための判断基準をまとめます。

  • #WebRTC
  • #HLS
  • #SRT
  • #RTMP
  • #プロトコル
配信技術・プロトコル6分で読めます

AWS IVSとSkyWayを選んだ理由 — SynQNowの配信アーキテクチャ

SynQNowの配信基盤にAWS IVSとSkyWayという2つのマネージドサービスを選んだ理由と全体構成を解説します。自前でSFUを立てない判断と、2つの配信モードがこの構成から生まれた経緯について。

  • #AWS IVS
  • #SkyWay
  • #WebRTC
  • #アーキテクチャ
  • #SynQNow

← 記事一覧へ戻る