WebRTC

WebRTC（）は、ウェブブラウザやモバイルアプリケーションにシンプルなAPI経由でリアルタイム通信（; RTC）を提供する自由かつオープンソースのプロジェクトである。ウェブページ内で直接ピア・ツー・ピア通信を行うことによって、プラグインのインストールやネイティブアプリのダウンロードを行わなくても、ウェブブラウザ間のボイスチャット、ビデオチャット、ファイル共有などを実装できるようになる。WebRTCは、Apple、Google、マイクロソフト、Mozilla、Operaがサポートしており、World Wide Web Consortium（W3C）およびInternet Engineering Task Force（IETF）で標準化が進行中である。
WebRTCの目的は、「ブラウザ、モバイルプラットフォーム、IoTデバイス向けのリッチで高品質なRTPアプリケーションを、開発できるようにし、共通のプロトコルセットで通信できるようにすること」である。リファレンス実装がBSDライセンスのフリーソフトウェアとして公開されている。また、マルチメディアフレームワークのGStreamerをベースに実装されたOpenWebRTCという別のフリー実装も存在する。JavaScriptを発明したブレンダン・アイクは、WebRTCのことを 「妨げなく開かれているウェブへの戦いにおける新たな戦線」であると評している。
歴史.
ブラウザでリアルタイムなコミュニケーションを可能にするWebRTCは、Googleによってオープンソース化されており、IETFによる関連プロトコルとW3Cによるブラウザ対応APIの標準化が進められてきた。
W3CによるWebRTCのドラフトは、Google ChromeとMozilla Firefoxで特別に実験的に実装が行われる。APIはWHATWGに予備的に記述され、ConnectionPeer APIと呼ばれており、Ericsson Labsが仮の標準概念実装として作成している。ウェブリアルタイムコミュニケーションワーキンググループは、この仕様が以下の項目に基づいて進化することを期待している。
概要.
設計.
WebRTCを構成する主要な API を次に挙げる。
WebRTC には統計のためのAPIもある。
WebRTC自体には、シグナリング（ピア同士の検索と接続確立のためのプロセス）のためのAPIは含まれない。代わりに、アプリケーションではInteractive Connectivity Establishment（ICE）を用いる。なお、ICEのプロセスではシグナリングやNATトラバーサルのためにサーバーを介した通信が必要な場合がある。
サポート.
WebRTCは以下のブラウザでサポートされている。