The mission of the Web Real-Time Communications Working Group is to define client-side APIs to enable Real-Time Communications in Web browsers. These APIs should enable building applications that can be run inside a browser, requiring no extra downloads or plugins, that allow communication between parties using audio, video and supplementary real-time communication, without having to use intervening servers.
Enabling real-time communications between Web browsers require the following client-side technologies to be available:
- API functions to explore device capabilities, e.g. camera, microphone, speakers,
- API functions to capture media from local devices (e.g. camera and microphone, but also output devices such as a screen),
- API functions for encoding and other processing of those media streams,
- API functions for accessing the data in these media streams,
- API functions for transferring data between peers,
- API functions for establishing direct peer-to-peer connections, including firewall/NAT traversal,
- API functions for decoding and processing (including echo canceling, stream synchronization and a number of other functions) of those streams at the incoming end,
- Delivery to the user of those media streams via local screens and audio output devices (partially covered with HTML5).
The working group will address issues related to using these functions in various contexts on the Web platform, such as:
- Traditional Web pages
- Web Workers of various types
- Iframes, with appropriate access controls
- Applications that span multiple pages
- Pages, workers and frames specifying content security policies or other security mechanisms that should impact the use of these APIs