WebRTCで複数人接続(多拠点接続)を行う方法として、WebRTC SFUを活用する方法があります。
本記事では、WebRTCプラットフォームを運営するSkyWayが、WebRTC SFU について基本的な特徴から、P2P・MCUとの違いについて、実装に活用できるオープンソースやクラウドサービス、パッケージのおすすめから、実装手順まで徹底解説しています。
- WebRTCとは
- WebRTC SFUとは
- WebRTC SFU オープンソースソフトウェア(OSS)
- おすすめなWebRTC SFU クラウドサービス・パッケージ
- WebRTC SFU を活用して実装する際のポイント
- WebRTC SFUならSkyWayがおすすめ
- まとめ
WebRTCの代表的なSDKとして、NTTコミュニケーションズが開発、運営する「SkyWay」があります。 「SkyWay」とは、ビデオ・音声通話をアプリケーションに簡単に実装できる国産SDKです。⇒無料で始めてみる
WebRTCとは
WebRTCとは、ブラウザやモバイルアプリ間でリアルタイム音声・映像・データ通信を行うための技術です。2011年にGoogleがオープンソース化し、2021年にはW3CとIETFで標準規格化されました。WebRTCはサーバー不要のP2P通信を基礎とし、低遅延でのコミュニケーションを可能にします。主要ブラウザ(Chrome、Safari、Firefoxなど)に対応しており、オンライン会議やリアルタイム動画配信、IoTの映像伝送など幅広い分野で利用されています。
以下の記事にてWebRTCを詳しく解説しているので、ご参考ください。
WebRTC SFUとは
WebRTC SFU(Selective Forwarding Unit)とは、リアルタイム通信を効率的に行うために、音声や映像データを中継するサーバーベースの仕組みです。配信元の負荷を軽減し、複数の視聴者に同時にデータを転送する際、映像や音声を加工せずそのまま転送することで低遅延を実現します。
SFUとP2Pの違いについて
P2P(Peer-to-Peer)通信は端末同士が直接接続しデータを送受信する仕組みです。遅延が少なく、サーバーの負荷がかかりませんが、接続数が増えると個々の端末に大きな負担がかかります。一方、SFU(Selective Forwarding Unit)は、サーバーが配信元のデータを受け取り、複数の視聴者にそのまま転送する構造です。これにより、配信元の負荷は軽減され、複数拠点への効率的なデータ配信が可能となります。
SFUとMCUの違いについて
SFU(Selective Forwarding Unit)とMCU(Multipoint Control Unit)はどちらもサーバーを介した多拠点接続を実現しますが、処理方法が異なります。
SFUはデータの転送のみを行うため、サーバーの負荷が低くリアルタイム性を維持しやすいのが特徴です。
一方、MCUは複数のデータを合成・再エンコードしてから転送するため、サーバーの負荷が高くなりますが、受信側の負担が軽くなる利点があります。
WebRTC SFU オープンソースソフトウェア(OSS)
WebRTC SFUを活用するには、WebRTC SFUのOSSを利用する方法があります。OSSには、具体的に以下のようなものがあります。それぞれの特徴や利点を理解して選択することが重要です。
-
mediasoup
- OSSの実装言語: C++
- 特徴: 高い拡張性、シンプルな実装、豊富な実績
- 使用例: 動的な拡張が求められるプロジェクト
- github: https://github.com/versatica/mediasoup
- 公式サイト: https://mediasoup.org/
-
Janus Gateway
- OSSの実装言語: C
- 特徴: 機能が豊富で多用途に対応、広範な実績
- 使用例: 複雑な機能要件がある開発に最適
- github: https://github.com/meetecho/janus-gateway
- 公式サイト: https://janus.conf.meetecho.com/index.html
-
Jitsi
- OSSの実装言語: Java
- 特徴: 会議機能が豊富、業界の会議ソリューションで多用
- 使用例: ビデオ会議に特化したシステム
- github: https://github.com/jitsi/webrtc
- 公式サイト: https://meet.jit.si/
詳細については各公式サイト、githubをご参照ください。
おすすめなWebRTC SFU クラウドサービス・パッケージ
WebRTC SFUのOSSを利用して実装するよりも簡単に開発できるのが、クラウドサービスやパッケージを利用する方法です。おすすめなクラウドサービスやパッケージをご紹介します。
SkyWay SFU
SkyWay SFU は、NTTコミュニケーションズが提供するWebRTCプラットフォーム「SkyWay」において、特に多拠点接続やリアルタイム通信を実現するための機能です。これにより、開発者は簡単にSFUを活用したビデオ・音声通話アプリケーションを実装できます。
SkyWay とは
「SkyWay」とは、ビデオ・音声通話をアプリケーションに簡単に実装できる国産SDKです。
大きな特徴としては、以下が挙げられます。
- スピーディーな開発ができる:
開発資料が豊富かつ日本語でわかりやすい、国内エンジニアがサポートしてくれる - 信頼性・安全性が高い:
NTTコミュニケーションズが開発、運営する国産SDK。サービス歴は10年以上で、累計導入サービス数も21,000件以上 - 無料で開発スタート:
開発検証用として、Freeプランあり。テスト検証期間中は無料で利用可能。商用サービス提供後も基本利用料11万 + 従量課金制で安心。
WebRTCのSDKとして提供されているものは、海外製が多いため、開発ドキュメントも英語か和訳のもので開発しにくい傾向にあります。 「SkyWay」であれば、NTTグループが開発、運営する安心の国産SDKかつ、国内エンジニアがサポートしてくれるため、開発運用工数も大幅に削減でき、開発のしやすさからもおすすめです。
テスト検証用は無料のため、ぜひアカウント登録をしてみください。
SkyWay SFU の特徴
- 料金:開発検証は無料。
- 高い信頼性:NTTグループのNTTコミュニケーションズが開発・運営。10年以上の運用歴。
- サポート:日本語による開発者のサポートが充実。
- 簡単な実装:実装しやすいSDKによる短時間での開発が可能。
SkyWay SFUを利用して、開発してみたい方は、まずSkyWayのアカウント登録をしてみてください。テスト検証用は無料で利用可能です。
SkyWay SFUの詳細は、以下の公式の開発ドキュメントをご参照ください。
https://skyway.ntt.com/ja/docs/user-guide/sfu/
WebRTC SFU sora
WebRTC SFU「Sora」は、株式会社時雨堂が開発した商用向けのWebRTC SFUソリューションです。以下がその特徴です。
WebRTC SFU soraの特徴
- 高い安定性:パッケージソフトウェアで提供。フルスクラッチでの開発になり、サーバーは自社で用意が必要。数百人の大規模会議にも対応。
- 多機能:
- 録画機能:サーバーでの録画が可能。
- スポットライト機能:200人以上の会議も可能。
- サポート:日本語による開発者のサポートが充実。
- 商用ライセンス:年間契約(例:100接続で84万円)。
詳細はWebRTC SFU soraの公式サイトをご参照ください。
WebRTC SFU を活用して実装する際のポイント
WebRTC SFUを活用して実装するためには、以下の手順と要素を押さえることが重要です。
- WebRTC SFUの選定 :
- 自社サーバ上にOSS(mediasoup、Janus)をインストール、もしくはクラウドサービス(SkyWay)を選択。
- 必要なサーバーを用意 :
- OSSを利用する場合は、シグナリングサーバの開発、NAT超えのためにSTUN/TURNサーバーの用意が必要
- SkyWayを利用する場合は、シグナリングサーバとSTUN/TURNサーバーの用意は不要
- セキュリティ対策:
- OSSを利用する場合は、OSSやサーバの定期的なセキュリティアップデートが必要
- SkyWayを利用する場合は、WebRTCに関するOSSやサーバの定期的なセキュリティアップデートは不要
- 負荷分散とスケーリング :
- OSSを利用する場合は、複数台のサーバに負荷分散する仕組みと、負荷に応じてスケールアウトを行う仕組みを用意する必要がある
- SkyWayを利用する場合は、SFUの負荷分散やスケーリングについての考慮は不要
- クライアント用のアプリを用意:
- Webアプリ、iOSアプリ、Androidアプリと必要に応じてクライアントアプリを開発する必要
- SkyWayを利用する場合は、クライアントアプリの開発にSDKを利用できるので開発コストを下げられる
WebRTC SFUならSkyWayがおすすめ
上述の実装ポイントでも解説したように、SkyWayを利用すれば、サーバーは不要で、セキュリティのアップデート等は不要、開発工数の削減など、WebRTC SFUを活用して実装することが非常に簡単に実現できます。
「SkyWay」とは、ビデオ・音声通話をアプリケーションに簡単に実装できる国産SDKです。
大きな特徴としては、以下が挙げられます。
- スピーディーな開発ができる:
開発資料が豊富かつ日本語でわかりやすい、国内エンジニアがサポートしてくれる - 信頼性・安全性が高い:
NTTコミュニケーションズが開発、運営する国産SDK。サービス歴は10年以上で、累計導入サービス数も21,000件以上 - 無料で開発スタート:
開発検証用として、Freeプランあり。テスト検証期間中は無料で利用可能。商用サービス提供後も基本利用料11万 + 従量課金制で安心。
WebRTCのSDKとして提供されているものは、海外製が多いため、開発ドキュメントも英語か和訳のもので開発しにくい傾向にあります。 「SkyWay」であれば、NTTグループが開発、運営する安心の国産SDKかつ、国内エンジニアがサポートしてくれるため、開発運用工数も大幅に削減でき、開発のしやすさからもおすすめです。
テスト検証用は無料のため、ぜひアカウント登録をしてみください。
まとめ
WebRTC SFUは、複数拠点への低遅延なリアルタイム通信を実現し、P2Pと比べて配信元の負荷を軽減します。OSSやクラウドサービスを活用すれば、効率的な実装が可能です。サーバー選定、ネットワーク設定、セキュリティ対策、負荷分散を押さえて、安定した多拠点接続を構築しましょう。WebRTC SFUを活用するなら、SkyWayがおすすめです。