Web Real-Time Communications Working Group Charter
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 (unless needed for firewall traversal or for providing intermediary services). APIs enabling supplementary functions, such as recording, image capture, and screen sharing are also in scope.
Charter Status | See the history of the group's charters and detailed change history. |
---|---|
Start date | 7 August 2024 |
End date | 30 September 2026 |
Chairs |
|
Team Contacts |
|
Meeting Schedule |
Teleconferences: approximately 1 per month
Face-to-face: we will meet during the W3C's annual Technical Plenary week; additional face-to-face meetings may be scheduled by consent of the participants, usually no more than 3 per year. |
Scope
Enabling real-time communications between Web browsers requires the following client-side technologies to be available:
- API functions for transferring data between peers, and
- API functions for establishing direct peer-to-peer connections, including firewall/NAT traversal.
- Traditional Web pages,
- Web Workers of various types,
- Iframes, with appropriate access controls, and
- 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
The Working Group will deliver specifications that cover the following functions until another group becomes available to take that work over:
- 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 decoding and processing (including echo canceling, stream synchronization, and a number of other functions) of those streams at the incoming end, and
- Delivery to the user of those media streams via local screens and audio output devices (partially covered with HTML5).
Out of Scope
The definition of the network protocols used to establish the connections between peers is out of scope. In general, it is expected that protocol considerations will be handled in the IETF.
The definition of any new codecs for audio and video is out of scope.
Success Criteria
To advance to Proposed Recommendation, each normative specification is expected to have two independent, interoperable implementations of every feature defined in the specification, where interoperability can be verified by passing open test suites.
To advance to Proposed Recommendation, interoperability between the independent implementations (that is, bidirectional audio and video communication as well as data transfer between the implementations) should be demonstrated.
Each specification should contain sections detailing all known security and privacy implications for implementers, Web authors, and end users.
There should be testing plans for each specification, starting from the earliest drafts. To promote interoperability, all changes made to specifications in Candidate Recommendation or to features that have deployed implementations should have tests. Testing efforts should be conducted via the Web Platform Tests project.
Deliverables
Updated document status is available on the group publication status page.
Draft state indicates the state of the deliverable at the time of the charter approval. Expected completion indicates when the deliverable is projected to become a Recommendation, or otherwise reach a stable state.
Normative Specifications
The Working Group will deliver specifications that cover at least the following functions, unless they are found to be fully specified within other Working Groups' finished results:
- Data Access Functions
- API functions that allow Web applications to access and manipulate data in media streams.
- Data Transfer Functions
- API functions to provide interfaces that enable the transfer of data between peers,
Included in this category are API functions for message-based as well as stream-based communications. This also includes integrating changes that would be required to support implementations of T.140 Real-Time Text over WebRTC in browsers
The WG will consider any necessary API changes or extensions to enable use of more than one data transfer protocol to support the data transfer functions. - P2P Connection Functions
- API functions to provide interfaces that enable the conveyance of parameters necessary to establish peer to peer connections, based on the protocols selected by the IETF RTCWeb Working Group. Included in this category are also API functions to allow identification of the peer.
- Network Management Functions
- API functions to provide control on network traffic characteristics such as congestion control, bandwidth limitation, or latency.
The Working Group will deliver specifications that cover the following functions until another group becomes available to take that work over:
- Media Stream Functions
- API functions to manipulate media streams for interactive real-time communications, connecting various processing functions to each other, and to media devices and network connections, including media manipulation functions for e.g. allowing to synchronize streams. Supplementary functions such as recording of media streams are also in scope.
- Audio Stream Functions
- An extension of the Media Stream Functions to process audio streams, to enable features such as automatic gain control, mute functions and echo cancellation.
- Video Stream Functions
- An extension of the Media Stream Functions to process video streams, to enable features such as backpressure control, image manipulation or "video mute".
- Functional Component Functions
- API functions that allow to query for the components present in an implementation, instantiate them, and connect them to media streams.
- Data Access Functions
- API functions that allow Web applications to access and manipulate data in media streams.
The Working Group may decide to group the specified functions in one or more specifications, and to develop extensions to its existing specifications to bring additional functionality identified as needed.
The Working Group has already started and will continue work on the following specifications:
- Identity for WebRTC 1.0
- Latest publication: 2018-09-27
- Exclusion Draft: https://www.w3.org/TR/2018/CR-webrtc-identity-20180927/
- associated Call for Exclusion on 2018-09-27 ended on 2018-11-26
- Produced under Working Group Charter: https://www.w3.org/2018/07/webrtc-charter.html
- WebRTC Priority Control API
- Latest publication: 2021-03-18
- Exclusion Draft: https://www.w3.org/TR/2021/CR-webrtc-priority-20210318/
- associated Call for Exclusion on 2021-03-18 ended on 2021-05-17
- Produced under Working Group Charter: https://www.w3.org/2020/09/webrtc-charter.html
- MediaStreamTrack Content Hints
- Latest publication: 2021-07-22
- Exclusion Draft: https://www.w3.org/TR/2018/WD-mst-content-hint-20180703/
- associated Call for Exclusion on 2018-07-03 ended on 2018-11-30
- Produced under Working Group Charter: http://www.w3.org/2015/07/webrtc-charter.html
- Viewport Capture
- Latest publication: 2022-06-21
- Exclusion Draft: https://www.w3.org/TR/2022/WD-mediacapture-viewport-20220524/
- associated Call for Exclusion on 2022-05-24 ended on 2022-10-21
- Produced under Working Group Charter: https://www.w3.org/2020/09/webrtc-charter.html
- Capture Handle - Bootstrapping Collaboration when Screensharing
- Latest publication: 2022-07-06
- Exclusion Draft: https://www.w3.org/TR/2022/WD-capture-handle-identity-20220510/
- associated Call for Exclusion on 2022-05-10 ended on 2022-10-07
- Produced under Working Group Charter: https://www.w3.org/2020/09/webrtc-charter.html
- MediaStreamTrack Insertable Media Processing using Streams
- Latest publication: 2022-10-20
- Exclusion Draft: https://www.w3.org/TR/2022/WD-mediacapture-transform-20220210/
- associated Call for Exclusion on 2022-02-10 ended on 2022-07-10
- Produced under Working Group Charter: https://www.w3.org/2020/09/webrtc-charter.html
- MediaStream Recording
- Latest publication: 2023-05-11
- Exclusion Draft: https://www.w3.org/TR/2013/WD-mediastream-recording-20130205/
- associated Call for Exclusion on 2013-02-06 ended on 2013-07-06
- Produced under Working Group Charter: http://www.w3.org/2011/04/webrtc-charter.html
- Region Capture
- Latest publication: 2023-07-12
- Exclusion Draft: https://www.w3.org/TR/2022/WD-mediacapture-region-20220405/
- associated Call for Exclusion on 2022-04-05 ended on 2022-09-02
- Produced under Working Group Charter: https://www.w3.org/2020/09/webrtc-charter.html
- Audio Output Devices API
- Latest publication: 2023-08-31
- Exclusion Draft: https://www.w3.org/TR/2017/CR-audio-output-20171003/
- associated Call for Exclusion on 2017-10-03 ended on 2017-12-02
- Produced under Working Group Charter: http://www.w3.org/2015/07/webrtc-charter.html
- MediaStream Image Capture
- Latest publication: 2023-10-26
- Exclusion Draft: https://www.w3.org/TR/2013/WD-image-capture-20130709/
- associated Call for Exclusion on 2013-07-09 ended on 2013-12-06
- Produced under Working Group Charter: http://www.w3.org/2011/04/webrtc-charter.html
- Media Capture from DOM Elements
- Latest publication: 2023-12-12
- Exclusion Draft: https://www.w3.org/TR/2015/WD-mediacapture-fromelement-20150219/
- associated Call for Exclusion on 2015-02-19 ended on 2015-07-19
- Produced under Working Group Charter: http://www.w3.org/2011/04/webrtc-charter.html
- Identifiers for WebRTC's Statistics API
- Latest publication: 2024-01-25
- Exclusion Draft: https://www.w3.org/TR/2020/CR-webrtc-stats-20200114/
- associated Call for Exclusion on 2020-01-14 ended on 2020-03-14
- Produced under Working Group Charter: https://www.w3.org/2018/07/webrtc-charter.html
- Screen Capture
- Latest publication: 2024-02-08
- Exclusion Draft: https://www.w3.org/TR/2015/WD-screen-capture-20150210/
- associated Call for Exclusion on 2015-02-10 ended on 2015-07-10
- Produced under Working Group Charter: http://www.w3.org/2011/04/webrtc-charter.html
- WebRTC Encoded Transform
- Latest publication: 2024-04-19
- Exclusion Draft: https://www.w3.org/TR/2021/WD-webrtc-encoded-transform-20210921/
- associated Call for Exclusion on 2021-09-21 ended on 2022-02-18
- Produced under Working Group Charter: https://www.w3.org/2020/09/webrtc-charter.html
- Media Capture and Streams
- Latest publication: 2024-05-02
- Exclusion Draft: https://www.w3.org/TR/2021/CR-mediacapture-streams-20211013/
- associated Call for Exclusion on 2021-10-13 ended on 2021-12-12
- Produced under Working Group Charter: https://www.w3.org/2020/09/webrtc-charter.html
- Scalable Video Coding (SVC) Extension for WebRTC
- Latest publication: 2024-05-16
- Exclusion Draft: https://www.w3.org/TR/2019/WD-webrtc-svc-20191022/
- associated Call for Exclusion on 2019-10-22 ended on 2020-03-20
- Produced under Working Group Charter: https://www.w3.org/2018/07/webrtc-charter.html
- The Capture-Handle Actions Mechanism
- Draft state: Editor's draft
- Media Capture Automation
- Draft state: Editor's draft
- WebRTC RTP Transport
- Draft state: Unofficial Proposal
- Direct control: The new APIs are intended to provide direct control over the details of real-time communication, where the application can directly specify how information should be transmitted, without any built-in negotiation semantics.
- Standalone operation: The new APIs will be complete enough to allow applications to write solely to the new APIs to complete common tasks.
- Backwards-compatibility: The new APIs will extend the WebRTC 1.0 APIs, rather than replace them. Applications that use the PeerConnection API will continue to function, unless there is a clear and compelling reason to deprecate specific 1.0 functionality.
- Feature independence: Features may be introduced in the new APIs that are not available when using the PeerConnection API.
The Working Group intends to re-publish the WebRTC API as an updated Recommendation based on collected errata and new features.
The preferred mode of adding new features is by means of extension specifications, rather than new features in the existing specs. At appropriate times, the WG may choose to redistribute the work between chartered documents - by splitting, merging or repartitioning the work as appropriate.
This work is done in collaboration with the IETF. The W3C defines APIs to ensure that application developers can control the components of the architecture for selection and profiling of the wire protocols that have been produced by the IETF Real-Time Communication in WEB-browsers (RTCWeb) Working Group. While the specified API Functions will not constrain implementations into supporting a specific profile, they will be compatible with the Profile that is specified by the RTCWeb Working Group.
In addition to the work items identified above, the Working Group will consider developing further extensions to the WebRTC 1.0 core API. In developing these new APIs, the Working Group will adhere to the following principles:
A use-case document is maintained to identify the functionality that needs new API for realization.
The specified API Functions and the requirements on their implementation must offer functionality that ensures that users' expectations of privacy and control over their devices are met - this includes, but is not limited to, ensuring that users can control what local devices an application can access for capturing media, and are able to at any time revoke that access.
Similarly, all the deliverables must address issues of security. The security and privacy goals and requirements will be harmonized with those developed by the IETF RTCWeb Working Group.
Similarly, all deliverables must address issues of accessibility including relevant requirements listed in the Media User Accessibility Requirements document (MAUR), such as multiple well-synchronized instances of the same media type. The accessibility goals and requirements will be developed in coordination with the Accessible Platform Architectures Working Group.
This Working Group expects to follow the TAG Web Platform Design Principles.
Other Deliverables
A comprehensive test suite for all features of a specification is necessary to ensure the specification's robustness, consistency, and implementability, and to promote interoperability between User Agents. Therefore, each specification must have a companion test suite, which must be completed, with an implementation report, before transition from Candidate Recommendation to Proposed Recommendation. Additional tests may be added to the test suite at any stage of the Recommendation track, and the maintenance of a implementation report is encouraged.
In particular, since WebRTC deals with communications, specific attention will be brought to the interoperability testing of the WebRTC API implementations (both browser-to-browser and browser-to-native).
Other non-normative documents may be created such as:
- Primers
- Requirements and use case document for specifications
- Non-normative group notes
Given sufficient resources, this Working Group should review other Working Groups' deliverables that are identified as being relevant to the Working Group's mission.
Timeline
The group's home page provides current data about all of the group's specifications. Although the group expects all of its active deliverables to progress during this charter period, the charter does not include detailed milestone data for each specification because such data is speculative and easily becomes out of date. The Working Group does expect the following to occur:
- Media Capture and Streams: Recommendation in Q1 2025
- Identifiers for WebRTC Statistics: Recommendation in Q1 2025
Coordination
For all specifications, this Working Group will seek horizontal review for accessibility, internationalization, privacy, and security with the relevant Working and Interest Groups, and with the TAG. Invitation for review must be issued during each major standards-track document transition, including FPWD. The Working Group is encouraged to engage collaboratively with the horizontal review groups throughout development of each specification. The Working Group is advised to seek a review at least 3 months before first entering CR and is encouraged to proactively notify the horizontal review groups when major changes occur in a specification following a review.
Additional technical coordination with the following Groups will be made, per the W3C Process Document:
W3C Groups
- Media Working Group
- The Media Working Group develops client-side media processing APIs and features that are likely to intersect with the WebRTC Working Group developments.
- WebTransport Working Group
- The WebTransport Working Group develops a client/server API that has been inspired by WebRTC datachannels and may inform their future evolution.
- Audio Working Group
- The API developed by the Audio Working Group builds upon the
MediaStream
object built by this group; further collaboration on the management of audio output device is expected. - Web Application Security Working Group
- The Web Application Security Working Group is developing guidance on APIs that expose sensitive information, and an API to manage permissions, both of which matter to several of this group specifications.
- Second Screen Working Group
- The Second Screen Presentation Working Group is developing APIs to allow rendering of media on secondary devices; potential overlap with features enabled by the Audio Output Devices API will need to be looked at.
- Web Performance Working Group
- The Web Performance Working Group APIs share goals and characteristics with the WebRTC Statistics API.
- Media and Entertainment Interest Group
- The Media and Entertainment Interest Group may uncover aspects that affect the design of real-time communications functions, e.g., on use of WebRTC for streaming of entertainment media content. The WebRTC Working Group will coordinate with the Interest Group on these use cases and requirements as appropriate.
- Web and Networks Interest Group
- The Web & Networks Interest Group is looking at how network and applications intersect, a common pattern in the WebRTC architecture.
- Accessible Platform Architectures Working Group
- The Accessible Platform Architectures identifies use cases for users with disabilities and reviews technologies to avoid unintentional introduction of barriers. Its Media Accessibility User Requirements and Real-Time Communication Accessibility User Requirements provide important input to the work of this group.
External Organizations
- IETF Applications and Real-Time Area (ART)
- The RTC APIs developed by this group will build upon the protocols and formats developed in the IETF RTCWeb Working Group. Subsequent to the termination of that WG, this WG will liaise with other groups of the ART area and elsewhere in the IETF as appropriate; of particular interest are the MMUSIC, AVTEXT, ICE and QUIC working groups.
- IETF Transport Area Working Group (TSVWG)
- The TSVWG develops SCTP on which WebRTC data channels relies.
- Web Hypertext Application Technology Working Group (WHATWG)
- The RTC APIs developed by this group will potentially reference the Fetch, Streams and other API specifications maintained by the WHATWG
Participation
To be successful, this Working Group is expected to have 6 or more active participants for its duration, including representatives from the key implementors of this specification, and active Editors and Test Leads for each specification. The Chairs, specification Editors, and Test Leads are expected to contribute half of a working day per week towards the Working Group. There is no minimum requirement for other Participants.
The group encourages questions, comments and issues on its public mailing lists and document repositories, as described in Communication.
The group also welcomes non-Members to contribute technical submissions for consideration upon their agreement to the terms of the W3C Patent Policy.
Participants in the group are required (by the W3C Process) to follow the W3C Code of Conduct.
Communication
Technical discussions for this Working Group are conducted in public: the meeting minutes from teleconference and face-to-face meetings will be archived for public review, and technical discussions and issue tracking will be conducted in a manner that can be both read and written to by the general public. Working Drafts and Editor's Drafts of specifications will be developed in public repositories, and may permit direct public contribution requests. The meetings themselves are not open to public participation, however.
Information about the group (including details about deliverables, issues, actions, status, participants, and meetings) will be available from the WebRTC Working Group home page.
Most WebRTC Working Group teleconferences will focus on discussion of particular specifications, and will be conducted on an as-needed basis.
This group primarily conducts its technical work in its repositories' GitHub issues and on its public mailing list public-webrtc@w3.org (archives). The public is invited to review, discuss and contribute to this work.
The group may use a Member-confidential mailing list for administrative purposes and, at the discretion of the Chairs and members of the group, for member-only discussions in special cases when a participant requests such a discussion.
Decision Policy
This group will seek to make decisions through consensus and due process, per the W3C Process Document (section 5.2.1, Consensus). Typically, an editor or other participant makes an initial proposal, which is then refined in discussion with members of the group and other reviewers, and consensus emerges with little formal voting being required.
After mailing list and other informal discussion, substantive change proposals should be submitted as GitHub pull requests. These can come from the editors or from WG members.
Chairs are responsible for determining whether or not there is WG consensus for the changes contained in a pull request.
Editors are responsible for “curating” the pull requests to reject frivolous ones and substantive ones that the Chairs have determined do not comply with the IPR policies.
In cases where the editors make substantive changes without WG consensus, those changes must be labeled as provisional. The chairs are responsible for resolving the status of such changes.
When the Chair puts a question and observes dissent, after due consideration of different opinions, the Chair should record a decision (possibly after a formal vote) and any objections, and move on.
To afford asynchronous decisions and organizational deliberation, any resolution (including publication decisions) taken in a face-to-face meeting or teleconference will be considered provisional. A call for consensus (CfC) will be issued for all resolutions (for example, via email, GitHub issue or web-based survey), with a response period from one week to 10 working days, depending on the chair's evaluation of the group consensus on the issue. If no objections are raised by the end of the response period, the resolution will be considered to have consensus as a resolution of the Working Group.
All decisions made by the group should be considered resolved unless and until new information becomes available, or unless reopened at the discretion of the Chairs.
This charter is written in accordance with the W3C Process Document (Section 5.2.3, Deciding by Vote), and includes no voting procedures beyond what the Process Document requires.
Patent Policy
This Working Group operates under the W3C Patent Policy (version of 15 September 2020). To promote the widest adoption of Web standards, W3C seeks to issue Web specifications that can be implemented, according to this policy, on a Royalty-Free basis. For more information about disclosure obligations for this group, please see the W3C Patent Policy Implementation.
Licensing
This Working Group will use the W3C Software and Document license for all its deliverables.
About this Charter
This charter has been created according to section 3.4 of the Process Document. In the event of a conflict between this document or the provisions of any charter and the W3C Process, the W3C Process shall take precedence.
Charter History
The following table lists details of all changes from the initial charter, per the W3C Process Document (section 4.3, Advisory Committee Review of a Charter):
Charter Period | Start Date | End Date | Changes |
---|---|---|---|
Initial Charter | 5 May 2011 | 30 September 2015 | N/A |
Rechartered | 27 July 2015 | 31 March 2018 | This charter reflected the actual split of the various features identified in well-defined specifications, and added WebRTC NV in scope for the group. |
Rechartered | 24 July 2018 | 30 September 2020 | This charter proposed an updated timeline for completion of WebRTC 1.0 and more details on the WebRTC NV work developed as extensions to the core APIs |
Rechartered | 30 September 2020 | 30 September 2022 | This charter proposed a final timeline for completing WebRTC 1.0 and a more detailed picture of extensions to the core APIs, while opening the way for the media work to be moved to a separate Working Group |
Rechartered | 7 October 2022 | 30 September 2024 | This charter reflects the updated list of deliverables the WebRTC Working Group is developing |
Rechartered | 7 August 2024 | 30 September 2026 | This charter reflects the updated list of deliverables the WebRTC Working Group is developing |