WebRTCに使われる3つの通信方式について調べてみた

webrtc-communications
  • URLをコピーしました!

以前、SkyWayを利用したWebRTCのサンプルを作成したことを覚えているだろうか。
サンプルでは、以下の3つ通信方式をそれぞれ試せるようなものでした。

  • FULLMESH(フルメッシュ)
  • P2P
  • SFU
あわせて読みたい
iOSのSafariがWebRTCに対応してたのでSkyWayのサンプル作成! 昔から、iOSのSafariでWebRTCを実現するのが夢でした。今回は、あのNTTが(一部)無料で提供している「SkyWay」というサービスを利用したWebRTCのサンプルを作成したの...

サンプルを見てもわかる通り、公開されていたソースをパクっただけで、あまり理解していませんでした。
しかし、最近になって本格的にWebRTCアプリを作りたくなったので、少しだけ調べてみました。

目次

P2P

まずは、よく聞くP2Pから。
P2PPeer to Peer)はサーバーを経由せずにクライアント同士が繋がる通信方式です。
WebRTCクライアント端末直接通信する方式が主で、ザーバー用意しなくて良くお手軽なメリットがある反面、端末負荷がかかるデメリットもあります。

フルメッシュ

フルメッシュとは、P2P複数同時通信版と言ったところでしょうか。
こちらもサーバーを経由しない上、複数のクライアント端末と通信するので、P2Pよりさらに負荷がかかってしまいます。


フルメッシュ接続による多人数通話
参加者全員に対して映像・音声ストリームを送信するため、人数が増えると端末負荷が大きくなる

SFU

SFUサーバーを経由する通信方式で、フルメッシュより複数同時に接続できる端末が増える上、サーバーがコンテンツを処理してそれぞれのクライアントに配信してくれるので、クライアント端末負荷が少なくなります。
ここで言うサーバーSkyWayが用意してくれてます。


SFUを使用した多人数通話
サーバ(SFU)に対してのみ映像・音声ストリームを送信するため、フルメッシュ接続に比べて端末負荷を抑えることができる

どの通信でWebRTCを作るか?

アプリを作る際に、どのくらいの規模ターゲットにするかですね。
現在では、安いPCスマホ回線もそれなりのスペックがありますので、個人向けだとP2Pフルメッシュでも全然問題ないと思いますが、大規模アプリを考えているならSFUを利用した方が賢明です。
もちろん、SFUを利用すると料金が発生します。
料金の参考はこちら。

あわせて読みたい
旧SkyWay料金|まずは無料版から!有料プランも安心の定額課金制 - SkyWay(スカイウェイ) SkyWayはビデオ・音声通話が簡単に実装できる、マルチプラットフォームなSDKです。旧SkyWayの料金体系をご確認いただけます。

意外と安いと思います。
ちなみに筆者の場合は、1対1ならP2P複数人で利用する場合はSFUに通信を切り替えるように作ろうと考えています。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次