WebRTCとは?仕組み・活用事例・通信方法まで徹底解説
What's WebRTC?
WebRTCとは?
リアルタイム通信を可能にする最新技術や活用事例をわかりやすく解説します
WebRTCは、Web Real-Time Communicationの略称で、ブラウザ同士でリアルタイム通信(音声・映像・データ)を可能にするオープンな通信技術です。
Web技術の標準化団体であるW3C(World Wide Web Consortium)がリアルタイムコミュニケーション用のAPIの定義として提唱したものです。
LINEやSkypeなどの通信アプリは企業独自のクローズドな技術を採用していますが、WebRTCは誰でも自由に利用・実装できるオープン技術です。
この汎用性と拡張性により、企業・団体を問わず幅広く活用が進んでいます。

ピア、デバイス間の動画、音声、データを送受信することが可能で、すべての主要なブラウザで通常のJavaScript APIとして利用できます。

Androidアプリや、iOSアプリケーション等のネィティブクライアントの場合は、同じ機能を提供するライブラリを利用することができます。
WebRTCの活用事例
WebRTC技術は「オープンソースで汎用性が高い・リアルタイムで映像や音声のやり取りができる・通信が軽い・プラグイン不要でマルチプラットフォームに対応」などの特徴から、時間や場所の制約がある環境で映像や音声を届けたい場合に非常に有効な技術です。
その利用シーンは多岐に渡り、ビデオ会議・教育・エンターテインメント・放送・監視・操縦・医療などの幅広い分野で積極的な活用がはじまっています。
また、AI技術や自社のサービスやシステムと組み合わせることで、さらに広がりをもった利用方法が期待されています。
農業ドローンや無人耕作機械の操縦、見守りカメラによる害獣監視や盗難対策、WebRTC技術で遠隔地からリアルタイムに操縦。

介護ロボットによる見守り、遠隔地の診察、介護や医療機器の指導やサポートなど、WebRTCで高品質の映像や音声をリアルタイムに伝送。

GIGAスクール構想による学校ICT化、学習塾や専門教育のオンライン授業、音楽やスポーツの個別指導など、WebRTCが学びの多様化を実現。


ドローンによる測量や調査、ライブカメラによる施工進捗や安全管理、無人化建設重機など、WebRTCの技術でリアルタイムに遠隔から監視。

オフィスのセキュリティゲートや決済サービス、各種Webサービスやデバイスなど、WebRTCを利用した顔認証システムと連携してセキュリティを強化。

音楽ライブの視聴やスポーツ観戦、観光地やイベント会場からのリモート中継など、WebRTCによって臨場感のあるリアルタイム映像を配信。

WebRTCの通信方式
P2P・MCU・SFU
WebRTCの通信方式には以下の3種類あります。 それぞれの方式と特徴を詳しく説明します。


PCやスマホなどの端末が、サーバーを経由することなく端末同士で直接、映像や音声などを送受信します。1対1など少数でのビデオチャットに向いています。


PCやスマホなどの各端末からサーバーへ送信された映像や音声を1つの映像や音声に合成します。このことにより、各端末では上りも下りも1本ずつの通信で完結できるため、各端末の負荷は、映像や音声を送受信している相手の数が増えても変わりません。代わりに、映像や音声を合成するサーバーの負荷が高くなります。


PCやスマホなどの各端末からサーバーへ送信された映像や音声を、他の各端末へ分配します。サーバーでは各端末から受け取った映像を加工することなく各端末へ送信します。負荷を、各端末とサーバーで分担するという仕組みです。
WebRTCを支える技術
P2Pでも実はサーバーを使ってる?
WebRTCは、完全なP2P方式ではなく、通信を開始するためのシグナリングサーバーが必要になります。IPアドレス・ポート番号といった接続先情報や、使用する帯域幅、エンコード方法、エンコードのパラメータ、フレームレートと いった音声・映像・データの形式の情報をシグナリングサーバーを介して交換することで、ようやく端末同士で直接やりとりができるようになるのです。
WebRTC通信に必要な情報ICEとは

ICEとは、NAT越えをしてP2P方式の通信を行うための仕組みです。
NATとは
ICEの仕組み
ICEでは、NAT越えを行うためにSTUNサーバーとTURNサーバーを利用します。
STUNサーバーを利用することで、外部から見た自身のIPアドレスとNAT越えが必要であるかが分かります。
そしてNAT越えが必要な場合には、TURNサーバーがIPアドレスやポート番号の変換を行なって、P2P方式での通信の橋渡しをしてくれるのです。相手の端末との接続には、セッションの生成・変更・切断のみを行うSIP(Session Initiation Protocol)を使用します。
WebRTC通信を実現するためにNAT越えが必要

NATとは
Wi-Fiなどを経由して、パソコンをインターネットに接続する場合、そのパソコンにはプロバイダーから 付与されるグローバルIPアドレスではなく、プライベートIPアドレスが割り当てられます。このグローバルIPアドレスとプライベートIPアドレスの自動変換を行い、スムーズなデータの送受信を行う技術のことをNAT(Network Address Translation)と呼びます。
NATは、プライベートネットワークから外部のサーバーへ接続することを 前提としているため、逆に外部のサーバーからプライベートネットワーク内にある端末にアクセスすることはできません。そのため、P2P方式の通信を行うためには、NAT越えをする必要があるのです。
WebRTCでかわる未来
これまでWebRTCが提供する技術を見てきました。繰り返しになりますが、WebRTCは、
映像や音声等の大容量データをリアルタイムに送受信することが可能です。

SFUとMCU 映像や音声を届けたい拠点が増えれば、接続先を減らせるSFUを使います。また届けたい入力データを複数拠点から合成させたい場合、また数万人規模で配信したい場合には、MCUが効果を発揮します。

多様なソリューション 配信する映像は、様々なクライアントデバイスを使うことにより、多様なソリューションへ繋がっていきます。空からの映像が欲しい場合にはDroneを使用し、3D映像が欲しい場合には、VRやHololensを組み合わせます。他にも遠隔操作して、ロボットや、IoT製品を動かす場合にも、WebRTCを使うことができます。
WebRTCの導入で
リアルタイム通信技術は次のステージへ
WebRTCは、リアルタイム・高品質・低遅延な通信を誰でも簡単に導入できる技術です。
教育・医療・建設・エンタメなど多分野で導入が進んでいます。
リアルタイム通信の導入を検討している企業や開発者にとって、WebRTCは革新的な選択肢になります。