Web会議の基礎知識

更新日:2021.06/17(木)

WebRTC SFUとは?多拠点同時接続を実現させる仕組みを解説

ブラウザ型Web会議システムに使われている技術「WebRTC」。
ブラウザ上で音声や映像を使ったリアルタイムコミュニケーションを行えることから、ここ最近、Web会議以外のシーン、例えば、アプリや動画配信、サポート業務などでも少しずつ需要が伸びてきている技術です。
「WebRTC」の中でも、「WebRTC SFU」は、ブラウザ上での多拠点同時接続を実現できるとして、注目を集めています。
この記事では、「WebRTC SFU」の概要について、わかりやすく解説していきます。

ホワイトペーパーのタイトル

WebRTCとは?

WebRTCは、"Web Real-Time Communication"の略称です。その名の通り、プラグインを使用せず、Webブラウザ上でリアルタイムに音声や映像、その他のデジタルデータを送受信できるようにするオープンソース技術のこと。

WebRTCは、2011年にGoogleによって提唱されました。
W3C(World Wide Web Consortium)と、IETF(Internet Engineering Task Force)という、2つのインターネット技術の標準化を推進する団体によって標準化作業が行われており、現在、Chrome、FireFox、Opera、Safari、Edgeのブラウザにて、この技術を使用することができるようになっています。

WebRTCには、優れている点がいくつかあります。
1つ目は、WebRTCを利用するための専用の機器が必要ないこと。パソコンやスマホがあれば利用可能で、専用のアプリのインストールも必要ありません。
2つ目は、通信スピードが速く、遅延の少ないリアルタイムなやりとりができること。「WebRTC」の基本の通信方式は、P2P方式で、サーバーを介さずに端末同士が直接データのやり取りを行います。
また通信の開始や終了の処理がなく、即座にデータを送信してそのまま送りっぱなしという「UDP」を採用しているため、さまざまな処理による遅延が発生しにくいのです。
3つ目は、安心してデータのやりとりを行えること。WebRTCは全く新しい技術というわけではなく、さまざまな既存の技術を組み合わせてできているため、暗号化といった基本的なセキュリティ対策が既に組み込まれているのです。

逆にWebRTCが苦手なことを挙げるとすれば、多拠点同時接続です。
WebRTCは、基本的にサーバーでのデータ処理を行わないことで、リアルタイム性を維持しているため、接続拠点数が増えすぎると通信に大きな負荷がかかります。
そのため、WebRTCでは接続できる拠点数に限界があるのです。

SFUとは?

SFUは、"Selective Forwarding Unit"の略称で、クライアント・サーバー方式の1つです。
SFUサーバーを経由して音声や映像などのデータをやり取りするのですが、サーバー内でミキシングなどのデータ処理は行いません。
端末が送受信する相手がサーバー1つになるため、音声や映像を相手に送る「上り」の通信は1本になります。一方、サーバーでのデータ処理が行われないため、たとえ送受信の相手がサーバー1つでも、相手からの映像や音声を受け取る「下り」の通信は、接続している拠点数分になります。
つまりリアルタイム性を維持したまま、「上り」の通信の負荷を下げることができるのがSFUなのです。そのため、ある程度までであれば、多拠点同時接続を実現することができます。そのため現在は、WebRTCとSFUはセットで使われることがほとんどです。
ちなみにWebRTC SFUで、数十拠点以上の多拠点同時接続をしているWeb会議システムもありますが、これはサプレッションに似た仕組みを採用し、あらかじめ決められた上限人数までの音声と映像だけを同時に送受信するようにして、「下り」の通信容量を抑えているのです。

P2PとSFUの違い

P2PとSFUの大きな違いは、サーバーを経由するかしないかです。
P2Pは、接続されている全ての端末それぞれと通信を行うため、上りも下りも、接続している端末数分の通信が発生します。
一方SFUは、先ほどもお伝えした通り、端末に接続されるのはサーバー1つなので、上りは1本に。しかしサーバー内でデータの処理が行われないため、下りは接続している端末数分の通信が発生します。
そのため、SFUの方が少しだけ通信量を抑えることができ、同時接続拠点数を増やすことができます。サーバーを経由しますが、リアルタイム性はほとんど失われることはなく、その点ではほとんど差が無いでしょう。

SFUとMCUの違い

SFUとMCUはどちらもクライアント・サーバー方式。
この2つの違いは、サーバー内でミキシングなどのデータ処理を行うか否かです。そのため、下の通信の数とリアルタイム性に違いがあります。

繰り返しになりますが、SFUはサーバーを経由するだけで、サーバー内でミキシングなどのデータ処理は行いません。
一方MCU(Multi-point Control Unit)は、サーバー内で音声や映像を合成してから、各端末と送受信を行います。上りの通信も下りの通信もそれぞれ1本で済むため、膨大な数の多拠点同時接続を行っても快適に通信を行うことができます。
しかしMCUでは、リアルタイム性が著しく損なわれ、また、ミキシングによってサーバーへ負荷が集中するため、ハイスペックなサーバーを用意しなければなりません。そのため実際のところ、WebRTC MCUは、ほとんど使われていないのです。

WebRTC SFUをビジネスで活用するなら、ぜひエイネットにご相談ください!

WebRTCは、APIを利用すれば比較的簡単に開発できます。
しかし実際問題、ビジネスで活用するためには、超えなければならないハードルがいくつもあり、専門的な知識がなければ開発は難しいです。
またAPIの枠を超えたカスタマイズを行うのにも、専門的な知識が必要です。

エイネットには、ブラウザ型Web会議システム『LFV』を開発したノウハウと人材が揃っており、貴社のWebRTC開発をお手伝いすることができます。
もちろん貴社サービスに合わせたカスタマイズを行うことも可能です。
WebRTCに興味はあるけれど自社開発は難しいという場合には、お気軽にエイネットへご相談ください! WebRTCの使い心地が気になる方は、『LFV』の無料トライアルもご利用いただくことができます。

Web会議比較表ダウンロード

エクセルの比較表だから今すぐ使えます!
テレビ会議・Web会議システムの新規導入、リプレイス検討に
お役立てください。部署内での共有でも役立ちます!

関連記事