2022年4月15日URLをコピーしました!以前、SkyWayを利用したWebRTCのサンプルを作成したことを覚えているだろうか。サンプルでは、以下の3つの通信方式をそれぞれ試せるようなものでした。昔から、iOSのSafariでWebRTCを実現するのが夢でした。今回は、あのNTTが(一部)無料で提供している「SkyWay」というサービスを利用したWebRTCのサンプルを作成したの...サンプルを見てもわかる通り、公開されていたソースをパクっただけで、あまり理解していませんでした。最近になって本格的にWebRTCアプリを作りたくなったので、少しだけ調べてみました。目次P2Pまずは、よく聞くP2Pから。Peer)はサーバーを経由せずにクライアント同士が繋がる通信方式です。WebRTCはクライアント端末が直接通信する方式が主で、ザーバー用意しなくて良くお手軽なメリットがある反面、端末に負荷がかかるデメリットもあります。フルメッシュフルメッシュとは、P2Pの複数同時通信版と言ったところでしょうか。こちらもサーバーを経由しない上、複数のクライアント端末と通信するので、P2Pよりさらに負荷がかかってしまいます。対して映像・音声ストリームを送信するため、人数が増えると端末負荷が大きくなるSFUSFUはサーバーを経由する通信方式で、フルメッシュより複数同時に接続できる端末が増える上、サーバーがコンテンツを処理してそれぞれのクライアントに配信してくれるので、クライアント端末の負荷が少なくなります。ここで言うサーバーをSkyWayが用意してくれてます。SFUを使用した多人数通話サーバ(SFU)に対してのみ映像・音声ストリームを送信するため、フルメッシュ接続に比べて端末負荷を抑えることができるどの通信でWebRTCを作るか?アプリを作る際に、どのくらいの規模をターゲットにするかですね。現在では、安いPCやスマホ、回線もそれなりのスペックがありますので、個人向けだとP2P・フルメッシュでも全然問題ないと思いますが、大規模アプリを考えているならSFUを利用した方が賢明です。SFUを利用すると料金が発生します。SkyWayはビデオ・音声通話が簡単に実装できる、マルチプラットフォームなSDKです。旧SkyWayの料金体系をご確認いただけます。意外と安いと思います。ちなみに筆者の場合は、1対1ならP2P、複数人で利用する場合はSFUに通信を切り替えるように作ろうと考えています。※サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。上に表示された文字を入力してください。