WebRTC (Web Real-Time Communication)

Related Post

> P2P (Peer-to-peer) > WebRTC (Web Real-Time Communication)

WebRTC (Web Real-Time Communication)とはWorld Wide Web Consortium (W3C)が提唱するリアルタイムコミュニケーション用のAPIの定義で、プラグイン無しでウェブブラウザ間のボイスチャット、ビデオチャット、ファイル共有ができる。

【歴史】

ブラウザでリアルタイムなコミュニケーションを可能にするWebRTCはGoogleによってオープンソース化されていて、IETFによる関連プロトコルとW3Cによるブラウザ対応APIの標準化が進められてきた。
W3CによるWebRTCのドラフトはChromeとFirefoxで特別に実装されるという形で実験的に行われている。APIはWHATWGで予備的に著述されていてConnectionPeer APIと称され、Ericsson Labsによって仮の標準概念実装として作成された。ウェブリアルタイムコミュニケーションワーキンググループはこの仕様が以下の項目に基づいて進化することを期待している:

  • ウェブブラウザでのリアルタイムなコミュニケーションを可能にするこのドキュメントと一緒に一連のプロトコルを定義するためのIETFにおける仲間のRTCWEBグループでの継続的交流の成果
  • ローカルキャパシティとローカルストリームを公開する時に発生するプライバシー問題
  • 特殊な環境でデータチャネルの実装に関するグループでの技術的ディスカッション。
  • 初期の実験を通して得られる経験
  • 他のグループや個人からのフィードバックの受け取り


【設計】

2012年3月時点でIETF WebRTC Codec and Media Processing Requirementsのドラフトでは実装のためにPCMA/PCMU (RFC 3551)、コミュニケーション機能ではDTMF (RFC 4733)とOpus (RFC 6716)や数種類あるビデオコーデックの最低限機能を必要としている。Peerconnection、データチャネル、メディアキャプチャのブラウザAPIはW3Cで詳述されている。

【対応ブラウザ】

Google Chrome 23
Microsoft Edge 21
Mozilla Firefox 22
Opera 18
Android
Google Chrome 28 (29 から標準で有効)
Mozilla Firefox 24
Opera Mobile 12

2015年9月現在、Internet ExplorerおよびSafariはWebRTCをサポートしていない。これら2つのブラウザに対してWebRTCのサポートを追加するプラグインが複数発表されている。2016年4月にSafariのブラウザエンジンであるWebKitでWebRTCへのサポートが開発中にあることが明らかになった。