ケータイ用語の基礎知識

第612回:WebRTC とは

 「WebRTC」は、ブラウザ間で、リアルタイムなコミュニケーションを可能にする仕組みです。「WebRTC」の“RTC”とは、リアルタイムコミュニケーション(Real-time Communication)の略です。

 多くのユーザーが高速なインターネット接続を利用できるようになった現在では、音声や動画を使ったリアルタイムコミュニケーションも利用できるようになっています。しかし、そうしたサービスを利用するには専用のクライアントソフトを使うのが一般的です。

 そこで、Webブラウザ上で「音声チャット」や「ビデオチャット」、「ストリーミング配信」などを行えるように、Javaスクリプトから呼び出せるAPIを用意するというのが、今回紹介する「WebRTC」です。

 WebRTCで実現できるようになる機能の内容は、Webの標準を制定している団体、World Wide Web Consortium(W3C)のサイトで公開されています。具体的な内容としては

  • カメラやマイクからマルチメディアのストリームの取り込み
  • 取り込んだストリームのリモートピアへの送信
  • リモートピアからのストリームの受信
  • NAT透過技術を利用した、リモートピアとの接続
  • 任意のデータをリモートピアへの送信、受信

といったものが挙げられます。

 WebRTCはピアツーピア(P2P)通信で、サーバーへ接続するのはチャットや配信を開始する最初の段階で、チャットや配信相手を見つけ、通信を始める手続きを行う際だけです。それ以外の場面、たとえばチャット中などには、リモートピア、つまり通信する相手のブラウザと直接繋がります。そのためチャット中のサーバーの負荷はとても低く済む、というのもWebRTCの特徴のひとつでしょう。

Android用Firefox、Chrome Betaで利用可能に

 「WebRTC」はW3Cが標準化を進めているプロジェクトで、2013年4月現在、標準化の過程としては、W3Cで規格のドラフト(草案)が公開されていて、まだこれから進められるところ、という状態です。つまり、現段階の「WebRTC」は規格も実装も“実験段階”で、まだ多くのサイトがこぞって採用する、という段階には至っていません。

 スマートフォン関連では、2013年4月、Mozillaが提供を開始した、パソコンおよびAndroidに対応したWebブラウザ「Firefox」の最新版(Ver.20)において、Android版とパソコン版共通の新機能として、「WebRTC」のgetUserMediaがサポートされました。

 また、Googleから提供されているブラウザ「Chrome Beta for Android」でも「chrome://flags」で有効化することで、WebRTCの機能を利用できるようになります。WebRTCはパソコン版のChromeでも、実験的にサポートが行われています。

 これにより、アプリの開発者は、端末のカメラやマイクにブラウザからアクセスし、リアルタイムに映像や音声を他のパソコンへ送信できるようになります。まだ先の話でしょうが、WebRTCの仕様がある程度定まり、周辺ツールなども増えてくれば、SNSでのビデオチャットなど、リアルタイムなストリーミング配信を利用しやすい環境になっていくかもしれません。

大和 哲

1968年生まれ東京都出身。88年8月、Oh!X(日本ソフトバンク)にて「我ら電脳遊戯民」を執筆。以来、パソコン誌にて初歩のプログラミング、HTML、CGI、インターネットプロトコルなどの解説記事、インターネット関連のQ&A、ゲーム分析記事などを書く。兼業テクニカルライター。ホームページはこちら
(イラスト : 高橋哲史)