※本ページにはプロモーション(広告)が含まれています
ブラウザ同士で直接ビデオ通話・音声・データをやり取りする技術。プラグイン不要で動く低遅延のリアルタイム通信基盤で、Meet・Discordなどが採用。
詳しい解説
WebRTCは「Web Real-Time Communication」の略で、ブラウザやモバイルアプリ同士が、サーバーを介さずに直接リアルタイム通信できる技術です。W3CとIETFが策定しており、Chrome・Firefox・Safari・Edgeなど主要ブラウザがネイティブ対応しています。
最大の特徴は『P2P(ピアツーピア)通信』です。映像・音声・任意のデータチャネルを2者間で直接やり取りできるため、従来型のサーバー経由通信に比べて遅延が少なく、サーバー負荷・通信コストも削減できます。プラグインや追加アプリをインストールせずに、ブラウザを開くだけで通話が始まるのも利点です。
主要なAPIは3つあり、`getUserMedia`(カメラ・マイクの取得)、`RTCPeerConnection`(端末間の接続確立)、`RTCDataChannel`(任意データの双方向送受信)です。通信経路の確立にはICE/STUN/TURNサーバーを使ってNAT越えを行い、シグナリング(接続情報の交換)部分だけは別途サーバーが必要です。
採用例はGoogle Meet、Discord、Microsoft Teams、Zoomの一部機能、Facebook Messengerのビデオ通話、ブラウザベースのオンライン診療、オンライン家庭教師、ゲーム配信サービスなど多岐にわたります。低遅延が求められるクラウドゲーミング、リモートデスクトップにも応用されています。
弱点は、多人数通話では全員がP2Pだと通信量が爆発するため、SFU/MCUと呼ばれる中継サーバーを経由する実装が必要になる点、ネットワーク環境によってはTURNリレーが必要でサーバーコストがかかる点、ブラウザ間の実装差に悩まされる点などです。
セキュリティ面では、通信は常にDTLS/SRTPで暗号化され、接続元URLがHTTPSでない場合はAPI自体が使えない仕組みです。
Google Meetの会議に参加する瞬間、カメラとマイクの許可ダイアログが出て、ブラウザだけで他の参加者と話し始められる…あの体験を支えているのがWebRTCです。Zoomのように専用アプリをインストールせずに済むため、会議URLをクリックするだけで参加できます。コロナ禍以降、リモートワークやオンライン授業の基盤となった技術の代表例と言えます。
別の呼び方
WebRTC通信
ブラウザP2P
minto.tech スマホ(Android/iPhone)・PC(Mac/Windows)の便利情報をお届け! 月間アクセス160万PV!スマートフォン、タブレット、パソコン、地デジに関する素朴な疑問や、困ったこと、ノウハウ、コツなどが満載のお助け記事サイトはこちら!