FirebaseRTCサンプルコード動かしてみた②
前回の記事
でGoogle様の提供してくれているFirebase + node.jsで動くWebRTCサンプルコードを実行する方法をお伝えしました。
こちらのサンプルコードは1対1のビデオ通信しかできないのですが、こちらを複数人でのビデオ通信ができるように修正してみました。
WebRTCを用いたP2Pでの複数人通信かつFirebaseを利用したコードがネット上に見当たらなかったため、これからWebRTCを勉強したいと思っている方には参考になるかもしれません。
Firebaseを利用したサンプルコードの利点は、firebaseの無料利用枠内であればインターネット経由のP2P通信が簡単に実現できることです。
以下のURLに今回作成したコードのデモをデプロイしていますので、もし興味があるかたは一度アクセスして複数人で通信できるか試してみてください。
いろいろ手抜きしているため、1度に通信できる人数は4人が限度となってます。また、一度会話を抜けた後に再接続するといったフローは一切考慮してませんのであしからず。。
昨今、clubhouseなる音声版twitterみたいなアプリが流行っていますが、WebRTCのAPIを利用すればこのような多人数での音声通信も実現することは一応可能なのでいろいろと実装してみたいことがありすぎてキリがありません。
※厳密には、WebRTCのAPIは1対1通信を行うものなので1対Nやm対N通信には向いていないため、サーバ経由で通信を行うMCU型なるものの実装が必要そうですが。
JavaScriptやfirebaseといったフロント/バックエンド周りは一切触ったことが無かったため、サンプルコードを少し修正するだけでも一から勉強であらゆる箇所でハマりましたが、動画や音声といった目に見えるフィードバックが得られるため楽しみながら実装を進められました。
今後は、もう少し実装スピードを上げるためにテストコードの書き方を学習していこうと思います。