WebRTC

WebRTCってどんな技術?

WebRTCは、Web Real-Time Communicationの略称で、ブラウザ同士でリアルタイムに通信を行うための仕組みです。Web技術の標準化団体であるW3C(World Wide Web Consortium)がリアルタイムコミュニケーション用のAPIの定義として提唱したものです。一般的な通信サービスである 「LINE」や「Skype」は、開発企業によって独占されるクローズド規格です。それに対して、WebRTCはオープンな技術であり、様々なWebブラウザやアプリケーションで採用されています。

webRTCイメージ

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

webRTCイメージ

Androidアプリや、iOSアプリケーション等のネィティブクライアントの場合は、同じ機能を提供するライブラリを利用することができます。

WebRTCの利用シーン

WebRTC技術は「オープンソースで汎用性が高い・リアルタイムで映像や音声のやり取りができる・通信が軽い・プラグイン不要でマルチプラットフォームに対応」などの特徴から、時間や場所の制約がある環境で映像や音声を届けたい場合に非常に有効な技術です。
その利用シーンは多岐に渡り、ビデオ会議・教育・エンターテインメント・放送・監視・操縦・医療などの幅広い分野で積極的な活用がはじまっています。
また、AI技術や自社のサービスやシステムと組み合わせることで、さらに広がりをもった利用方法が期待されています。

農業ドローンや無人耕作機械の操縦、見守りカメラによる害獣監視や盗難対策、WebRTC技術で遠隔地からリアルタイムに操縦や監視。

webRTCができること

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

webRTCができること

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

webRTCができること
webRTCができること

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

webRTCができること

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

webRTCができること

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

スクロールアイコン

WebRTCの通信方式
P2P・MCU・SFU

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

MCUアイコン
MCUアイコン

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

SFUアイコン
MCUアイコン

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

SFUアイコン
SFUアイコン

PCやスマホなどの各端末からサーバーへ送信された映像や音声を、他の各端末へ分配します。サーバーでは各端末から受け取った映像を加工することなく各端末へ送信します。負荷を、各端末とサーバーで分担するという仕組みです。

WebRTCを支える技術

P2Pでも実はサーバーを使ってる?

WebRTCは、完全なP2P方式ではなく、通信を開始するためのシグナリングサーバーが必要になります。IPアドレス・ポート番号といった接続先情報や、使用する帯域幅、エンコード方法、エンコードのパラメータ、フレームレートと いった音声・映像・データの形式の情報をシグナリングサーバーを介して交換することで、ようやく端末同士で直接やりとりができるようになるのです。

WebRTC通信に必要な情報ICEとは

webRTCの通信の仕組み

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

WebRTC通信を実現するためにNAT越えが必要

webRTCの通信の仕組み

NATとはWi-Fiなどを経由して、パソコンをインターネットに接続する場合、そのパソコンにはプロバイダーから 付与されるグローバルIPアドレスではなく、プライベートIPアドレスが割り当てられます。このグローバルIPアドレスとプライベートIPアドレスの自動変換を行い、スムーズなデータの送受信を行う技術のことをNAT(Network Address Translation)と呼びます。

NATは、プライベートネットワークから外部のサーバーへ接続することを 前提としているため、逆に外部のサーバーからプライベートネットワーク内にある端末にアクセスすることはできません。そのため、P2P方式の通信を行うためには、NAT越えをする必要があるのです。

WebRTCでかわる未来

これまでWebRTCが提供する技術を見てきました。繰り返しになりますが、WebRTCは、
映像や音声等の大容量データをリアルタイムに送受信することが可能です。

WebRTCでかわる未来

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

WebRTCでかわる未来

多様なソリューション配信する映像は、様々なクライアントデバイスを使うことにより、多様なソリューションへ繋がっていきます。空からの映像が欲しい場合にはDroneを使用し、3D映像が欲しい場合には、VRやHololensを組み合わせます。他にも遠隔操作して、ロボットや、IoT製品を動かす場合にも、WebRTCを使うことができます。

スクロールアイコン

WebRTCベースの
低遅延映像配信システム

SaverVideoConnectV4

WebRTCの力を余すことなく活用した映像配信システムです。マルチプラットフォームに対応し、双方向ビデオチャットや低遅延の映像配信を実現しました。
映像コンテンツを配信するエンターテインメント分野や、遠隔地をつなぐ教育・指導・監視・操縦・医療など、幅広い分野で映像と音声のコミュニケーションを実現します。

詳しくはこちら