WebRTC SFUとは?通信方式の種類とリアルタイム配信ツールを自社開発する方法
感染症対策の観点から、対面ではなくオンラインでのやりとりの需要が高まっています。授業や物件の内覧などもオンラインで行われるケースがあり、リアルタイム通信ツールを自社開発したいと考えている企業も多いでしょう。
本記事では、リアルタイム通信技術である「WebRTC」について解説します。通信方式の種類やWebRTCを使った開発用のソフトウェアなどを紹介するので、参考にしてください。
目次[ 非表示 ][ 表示 ]
WebRTCとは?
WebRTCはWeb Real-Time Communicationの略称で、ブラウザやアプリで利用できるリアルタイム通信の技術です。専用のソフトウェアを使わずに、ブラウザ上で映像や音声などの大容量データをリアルタイムでやりとりできます。
Google ChromeやSafariなどの主要ブラウザに対応していて、Web会議やオンライン授業など幅広い用途で活用されています。オープン規格であることも特徴で、誰でもWebRTCの技術を利用してツールを開発できるため、今後さらに活用の幅が広がっていくでしょう。
P2P
P2PはPeer to Peerの略称で、サーバーを介さずに端末同士が直接通信する方式です。サーバーを使用しないため管理コストが安価で、サーバーのメンテナンスや故障によるダウンタイムもありません。サーバーに情報が集約されないため、利用者の匿名性も確保できます。
ただし、すべての端末同士が継続的に通信を行うため、通信量が多くなる点に注意が必要です。
SFU
SFUはSelective Forwarding Unitの略称で、サーバーを介して音声や映像をやりとりする技術です。サーバーは端末から音声・映像データを受け取り、それをそのまま他の端末に配信します。
サーバーではデータの合成などを行わないため後述のMCUより負荷を抑えられる反面、利用者側の通信環境などは考慮されないため、端末や回線に負荷がかかるケースがあります。
MCU
MCUはMultipoint Control Unitの略称で、SFUと同様サーバーを介して通信する方式です。MCUはSFUよりハイスペックなサーバーを使用し、音声や映像を合成して各端末に配信します。
サーバーの負荷が大きく、データが合成されるので画質が劣るといったデメリットがありますが、参加人数が増えても安定した通信が行えるのが大きなメリットです。
SFUとは?
SFUについて、さらに詳しくみていきましょう。先述のとおり、SFUには以下のような特徴があります。
- 端末同士はサーバーを介して通信を行う
- サーバーは各端末から受け取ったデータをそのまま配信する
この方式にはメリットもあればデメリットもあるため、以下で詳しく解説します。
メリット
SFUのメリットは、多拠点接続をする際にP2Pよりも端末の負荷が抑えられる点です。P2Pでは接続する端末の数だけ送信・受信のための通信が必要ですが、SFUなら送信先をサーバーに1本化できます。
大勢が視聴するライブ配信などをP2Pで行うのは一般的な端末では不可能なため、大量の同時接続を行うためにSFUが活用されています。
デメリット
SFUのデメリットは、サーバーを経由するためP2Pと比べてリアルタイム性が損なわれる点です。サーバーのスペックや場所、通信環境によって、音声や映像の遅延が発生するケースがあります。
同じくサーバーを経由するMCUと比べると、端末側の負荷が大きいこともデメリットです。MUCは音声・映像をサーバー側で合成して配信するので送信と受信の通信は1つずつで済みますが、SFUの場合は接続先の数だけ受信用の通信が発生します。
WebRTC SFU サービス2選
自社でリアルタイム配信環境を開発するためのWebRTC SFUサービスとして、以下の2つがあります。
- sora
- intel
それぞれのサービスの概要を、以下で紹介します。
sora
soraは、サーバーにインストールして利用するWebRTC SFUのソフトウェアです。一方向と双方向のどちらの配信にも対応していて、複数拠点感の映像配信やオンラインレッスン、オンラインクレーンゲームなど多くのサービスに活用されています。
intel
インテル社は、Collaboration Suite for WebRTCというソフトウェアを提供しています。SDKとサーバーを提供していて、リアルタイム通信ツールが開発できます。
SDKを用いて開発する
WebRTCを利用したシステムを開発するには、SDKを活用する方法もあります。SDKはシステム開発のためのパッケージで、開発や運用にかかるコストを抑えられます。
WebRTCを利用した開発ができるサービスも提供されているため、開発にかかる時間やコストを削減したい場合には活用してみてください。
まとめ
WebRTCは専用のソフトウェアを使わずにブラウザでリアルタイム通信が可能なため、使い勝手の良さがメリットです。端末同士の通信方法はP2P、SFUなど複数の方法があり、それぞれメリット・デメリットがあるため用途に合わせて選びましょう。
多拠点同時接続の場合、サーバーを経由するSFUやMCUを採用すると端末や回線の負荷を抑えられます。SFUを使った自社システムを開発できるサービスも提供されているので、活用してみてはいかがでしょうか。