This page tracks ongoing documentation work in the MDN WebRTC section.
Feel free to contribute! We love help!
Summary
Pages | Needs* tags | Missing tags | Editorial reviews | Technical reviews | Outdated pages | Missing pages | Dev-doc-needed bugs | Documentation requests |
---|---|---|---|---|---|---|---|---|
181 | 9 (5%) | 0 (0%) | 2 (2%) | 18 (10%) | 26 (15%) | 0 (0%) | 19 (11%) | 36 (20%) |
See also localization status of this section.
Needs* tags
Found 9 pages. Learn more about how to deal with meta-tags.
- NeedsSpecTable
- NeedsExample
- NeedsUpdate
- NeedsContent
Editorial reviews
Found 2 pages. Learn more about how to do an editorial review.
Technical reviews
Found 18 pages. Learn more about how to do a technical review.
- LocalMediaStream
- MediaDeviceInfo
- MediaStreamTrack.remote
- RTCCertificate
- RTCDataChannel.onbufferedamountlow
- RTCDataChannel.readyState
- RTCIceCandidate
- RTCPeerConnection.addIceCandidate()
- RTCPeerConnection.currentLocalDescription
- RTCPeerConnection.currentRemoteDescription
- RTCPeerConnection.onicegatheringstatechange
- RTCPeerConnection.onsignalingstatechange
- RTCPeerConnection.ontrack
- RTCPeerConnection.pendingLocalDescription
- RTCPeerConnection.pendingRemoteDescription
- RTCPeerConnection.signalingState
- removeTrack
- WebRTC basics
Outdated pages
Found 26 pages. These pages haven't been updated in over a year. Outdated pages can have problems with both content and format. Look at these pages and consider: Is this page talking about the Web of today? Does it look consistent with newer pages in this topic area? If not, make any needed changes.
- LocalMediaStream
612 days old - MediaStreamEvent()
614 days old - MediaStreamEvent.stream
614 days old - MediaStreamTrack.onoverconstrained
614 days old - MediaStreamTrack.onunmute
614 days old - RTCIdentityErrorEvent.idp
613 days old - RTCIdentityErrorEvent.loginUrl
613 days old - RTCIdentityErrorEvent.protocol
613 days old - RTCIdentityEvent.assertion
613 days old - RTCPeerConnection.getIdentityAssertion()
613 days old - RTCPeerConnection.getLocalStreams()
613 days old - RTCPeerConnection.getRemoteStreams()
613 days old - RTCPeerConnection.getStreamById()
613 days old - RTCPeerConnection.onidentityresult
613 days old - RTCPeerConnection.onidpassertionerror
613 days old - RTCPeerConnection.onidpvalidationerror
613 days old - RTCPeerConnection.onpeeridentity
613 days old - RTCPeerConnection.setIdentityProvider()
613 days old - RTCPeerConnectionIceEvent.candidate
613 days old - RTCSessionDescription.toJSON()
613 days old - RTCSessionDescriptionCallback
613 days old - High-level guides
394 days old - Improving compatibility using WebRTC adapter.js
483 days old - Taking still photos with WebRTC
461 days old - WebRTC API overview
483 days old - WebRTC protocols
483 days old
Dev-doc-needed bugs
Found 19 bugs. Learn more about how to resolve a dev-doc-needed bug.
Bug | Summary | Release |
---|---|---|
1213056 | Change RTCStatsReport to be maplike. | mozilla48 |
1232082 | Add RTCRtpReceiver and fire ontrack for remote tracks | mozilla46 |
1175609 | onnegotiationneeded fires synchronously | mozilla45 |
1155923 | Unprefix WebRTC | mozilla44 |
1189060 | Add hooks to allow an extension to hook into createOffer() and createAnswer() | mozilla43 |
1184426 | Unprefix RTCIceCandidatePairStats.priority (formerly mozPriority) | mozilla42 |
1152538 | Enable WebRTC identity by default | mozilla40 |
975144 | Support electrolysis for WebRTC identity | mozilla38 |
1032835 | Implement basic RTPSender and RTPReceiver with RTCPeerConnection | mozilla34 |
1036653 | Implement application sharing for getUserMedia | mozilla34 |
1032839 | Implement Track replace for RTPSender | mozilla34 |
1038926 | Add support for window sharing for getUserMedia | mozilla33 |
859565 | Remove readyState legacy attribute in future release | mozilla32 |
942367 | Implement peerIdentity constraint | mozilla32 |
1014304 | Remove onconnection and onclosedconnection from PC | mozilla32 |
796463 | Pref on WebRTC by default | mozilla21 |
752352 | Define and implement chrome extensions to getUserMedia and MediaStreams for privileged callers | mozilla18 |
691234 | Write MediaEngine backend for Desktop based on WebRTC code | mozilla16 |
752353 | Implement DOM bindings for getUserMedia | mozilla15 |
Browse as bug list.
Documentation requests
Found 36 bugs. Documentation request bugs can contain various kinds work related to MDN pages. Read through the bug and ask questions in the bug if in doubt.
Bug | Summary |
---|---|
1050930 | [META] Complete WebRTC documentation |
1117356 | Update WebRTC basics article |
1119285 | webrtc video chat examples and documentation are old and broken |
1243487 | Document potential causes of WebRTC ICE renegotiation |
1257984 | Document RTCIceTransport interface |
1257987 | Clean up RTCSessionDescription documentation |
1257988 | Clean up and verify documentation of RTCPeerConnectionIceEvent |
1257990 | Update and complete RTCRtpSender documentation |
1257992 | Update and complete RTCRtpReceiver documentation |
1257994 | Update and complete RTCTrackEvent documentation |
1257999 | Document RTCCertificate |
1258002 | Document RTCDataChannel |
1258004 | Document RTCDTMFSender |
1258007 | Document RTCDTMFToneChangeEvent |
1258393 | Document RTCStatsReport |
1258394 | Document RTCIdentityProviderRegistrar |
1258395 | Document RTCIdentityProvider |
1258396 | Document RTCIdentityAssertion |
1258400 | Update documentation: RTCIdentityEvent has been removed from the spec |
1258401 | Update documentation: RTCIdentityErrorEvent has been removed |
1258408 | Document RTCPeerConnectionIceErrorEvent |
1258409 | Document RTCRtpTransceiver |
1258411 | Document RTCDtlsTransport |
1258412 | Document RTCDataChannelEvent |
1258413 | Document RTCStatsReport |
1258415 | Document RTCStats |
1258418 | Complete and verify currentness of MediaStreamTrack documentation |
1258419 | Document how to use Web-based identity providers with WebRTC |
1258423 | Document how to use DTMF with WebRTC |
1258424 | Document how to use WebRTC statistics to debug and measure quality of WebRTC connections |
1258437 | Document privacy and security considerations for WebRTC apps |
1275214 | Document WebRTC APIs |
1277904 | Document RTCPeerConnectionObserver |
1280833 | MediaStreamConstraints documentation does not exist. |
1301196 | Document MediaStreamError |
1312889 | MediaRecorder documentation needs to be updated for API changes |
Browse as bug list.
Localizations
Please help us to localize this documentation into different languages. Read more about how to translate.
Language | Pages | Translated | Translations up to date |
---|---|---|---|
af | 132 | 0 (0%) | 0 (0%) |
bn-BD | 132 | 0 (0%) | 0 (0%) |
de | 132 | 2 (1%) | 0 (0%) |
es | 132 | 5 (3%) | 0 (0%) |
fa | 132 | 0 (0%) | 0 (0%) |
fr | 132 | 10 (7%) | 3 (30%) |
it | 132 | 0 (0%) | 0 (0%) |
ja | 132 | 15 (11%) | 4 (26%) |
ko | 132 | 0 (0%) | 0 (0%) |
pl | 132 | 0 (0%) | 0 (0%) |
pt-BR | 132 | 2 (1%) | 0 (0%) |
pt-PT | 132 | 0 (0%) | 0 (0%) |
ro | 132 | 0 (0%) | 0 (0%) |
ru | 132 | 2 (1%) | 1 (50%) |
zh-CN | 132 | 15 (11%) | 3 (20%) |
zh-TW | 132 | 1 (0%) | 0 (0%) |
Team
The documentation work will be handled primarily by:
- Sheppy
- Sample code and guide/tutorial content.
- Romain Gauthier (tOkeshu on IRC)
-
has volunteered to help with samples and tutorials. He's got a few already on github, including: Signaling server. HiBuddy (bidirectional video chat)
Goals
- Encourage the use of a critical new Web technology.
- Enable Firefox OS developers to easily learn how to write audio/video apps.
- Enable Firefox OS developers to perform peer-to-peer data transactions.
- Enable Firefox OS developers to write code that sends DTMF (touch-tone phone dialing) signals.
User stories
A user story is a description of a specific user's needs that should be met by the documentation once it's finished.
- I want to write a video capture application.
- I want to write a video/audio chat application.
- I want to do easy peer-to-peer data transactions.
- My app needs to send DTMF tones. Note: This is very low priority; Gecko doesn't support it yet and implementing it isn't a priority, and while Chrome supports it, generally devs aren't interested in using it.
Documents needed
Landing pages
- The main landing page for the WebRTC API will be located here: https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API.
User guides
The following user guide content will be needed.
- High level guides
- Introduction to WebRTC (what it is and what it can do)
- Overview of the APIs
- Architecture overview
- Protocols (ICE, STUN, etc)
- Two-way call architecture
- Multi-party call architecture
- The life cycle of a WebRTC connection
- Security
- Tools and frameworks
- Support and compatibility details
- Browser compatibility details
- Supported codecs/formats
- FAQ
- Low level guides
- Working with media streams
- Introduction to the MediaStream API
- Things you can do with media streams
- Creating a stream
- Peer-to-peer connections
- Introduction
- What it is
- Things you can do once connected
- Streaming media
- Data transfer
- What's done for you by RTCPeerConnection
- Signaling servers
- What signaling is
- How it works
- STUN
- TURN
- Which to use when and why
- Setting up a signaling server
- Available services to do it for you
- Setting up your own
- Available libraries and tools
- Example: Using <some package yet to be chosen>
- Establishing a connection
- Session description object
- Exchanging session descriptions
- Opening the connection
- Introduction
- Data channels
- Introduction
- What it is
- Architecture
- Use of RTCPeerConnection
- API modeled on WebSocket
- Advantages of RTCDataChannel
- Using data channels
- Creating the channel
- Sending and receiving data
- Introduction
- Using DTMF (need more info on what to do here)
- Example:
- Video conferencing
- Calling another user
- Receiving a connection
- Working with media streams
Code samples
The following things need to be demonstrated in sample code. This may be accomplished by either multiple small examples or one large example project which can be presented in pieces as needed to demonstrate specific concepts.
- Video
- One way video session
- Audio-only sessions?
- Starting a two-way video session
- Multi-user sessions
- Handling video session errors
- Adding/removing users from a session
- Screen sharing
- Data
- Initiating a data transfer session
- Unidirectional/bidirectional?
- Multicasting? (I don't know yet if this is supported)
- Chat
- A larger example of a chat client/server system using a combination of WebRTC and WebSockets
- Text chat like IRC
- Option to initiate video conference among users
- Option to transmit files among users
- A larger example of a chat client/server system using a combination of WebRTC and WebSockets
- Contact API
- Using contacts to start a WebRTC session
References
The links below contain useful information that may help when producing WebRTC documentation.
- https://dev.w3.org/2011/webrtc/editor/webrtc.html
- https://dev.w3.org/2011/webrtc/editor/getusermedia.html
- https://www.webrtc.org/
- https://hacks.mozilla.org/2013/10/an-ar-game-technical-overview/
- https://hacks.mozilla.org/2013/11/introducing-the-whiteboard-drum-webrtc-and-web-audio-api-magic/
- https://hacks.mozilla.org/2014/04/inside-the-party-bus-building-a-web-app-with-multiple-live-video-streams-interactive-graphics/
- https://www.html5rocks.com/en/tutorials/webrtc/basics/
- dev-doc-needed bugs
- https://github.com/GoogleChrome/webrtc
- https://webrtcbook.com/
-
In addition, see the dev-media mailing list for discussion about WebRTC.
Notes
Tagging standard
- Grouping tag is: "WebRTC"
Other tasks to do
- TBD
Tutorial to-do list
- TBD
Notes for translators
Any notes here? Where do we expect updates, so that localizers don't translate and update too often?
Specifications
The interfaces defined in the following specifications are tracked by this status page:
Specification | Status | Comment |
---|---|---|
WebRTC 1.0: Real-time Communication Between Browser | Working Draft | |
Media Capture and Streams | Editor's Draft | |
MediaStream Recording | Working Draft |