Web RTC を勉強してみた感想
2021/06/10
Web RTC とは
- Web Real Time Communication
- ボイスチャット・ビデオチャットがブラウザでできる
- P2P
- Web 標準として実装されているので、全ての主要なブラウザで通常の JavaScript API として利用可能
- Apple, Google, Microsoft, Mozilla などによってサポートされている
構成する主要な API
getUserMedia
- カメラやマイクなどのメディア入力の利用をユーザーに許可させる
RTCPeerConnection
- ピア同士で直接やりとりするためのクラス。
- シグナリング・コーデックの処理・P2P通信など
シグナリングについて
WebRTC 自体には、シグナリング(ピア同士の検索と接続確立のためのプロセス)のための API は含まれないので、Socket.io などの Web Socket を駆使してクライアントとサーバー間で情報をやりとりして接続確立する必要がある。
感想
メディアを利用して直接ユーザー間でデータのやりとりをする API が Web 標準になっていることに驚いたが、NAT 越え問題やモバイルプラットフォームで簡単に実装するまでにはもう少し時間がかかりそうです。ですが、Web アプリケーションで Web RTC を駆使してチャット系の機能を実装するとき、ググると参考になる有能な Sample リポジトリがたくさんありました。
最後に僕が一番参考にしたリポジトリをご紹介します。
ぜひ、みなさんも Web RTC について勉強してみたくなったら参考にしてみてください。
https://github.com/fireship-io/webrtc-firebase-demo