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 |
---|---|---|---|---|---|---|---|---|
190 | 8 (5%) | 0 (0%) | 0 (0%) | 21 (12%) | 27 (15%) | 0 (0%) | 21 (12%) | 35 (19%) |
See also localization status of this section.
Needs* tags
Found 8 pages. Learn more about how to deal with meta-tags.
Technical reviews
Found 21 pages. Learn more about how to do a technical review.
- LocalMediaStream
- MediaDeviceInfo
- MediaStreamTrack.remote
- RTCCertificate
- RTCDataChannel.onbufferedamountlow
- RTCDataChannel.readyState
- RTCIceCandidate
- RTCPeerConnection.addIceCandidate()
- RTCPeerConnection.createDataChannel()
- RTCPeerConnection.currentLocalDescription
- RTCPeerConnection.currentRemoteDescription
- RTCPeerConnection.generateCertificate()
- RTCPeerConnection.onicegatheringstatechange
- RTCPeerConnection.onsignalingstatechange
- RTCPeerConnection.ontrack
- RTCPeerConnection.pendingLocalDescription
- RTCPeerConnection.pendingRemoteDescription
- RTCPeerConnection.removeTrack()
- RTCPeerConnection.setLocalDescription()
- RTCPeerConnection.signalingState
- RTCSessionDescription
Outdated pages
Found 27 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
887 days old - MediaStream.getTrackById()
396 days old - MediaStreamEvent()
889 days old - RTCDataChannel.maxPacketLifeTime
382 days old - RTCDataChannel.reliable
382 days old - RTCDataChannel.stream
382 days old - RTCDataChannelEvent
383 days old - RTCDataChannelEvent()
383 days old - RTCDataChannelEvent.channel
383 days old - RTCIceServer
393 days old - RTCIceServer.credentialType
449 days old - RTCIceServer.url
449 days old - RTCIceServer.username
449 days old - RTCIceServers.urls
449 days old - RTCIdentityAssertion
568 days old - RTCIdentityErrorEvent
568 days old - RTCIdentityErrorEvent.idp
888 days old - RTCIdentityErrorEvent.loginUrl
888 days old - RTCIdentityErrorEvent.protocol
888 days old - RTCIdentityEvent
568 days old - RTCIdentityEvent.assertion
888 days old - RTCPeerConnection.onicecandidateerror
444 days old - RTCSctpTransport
418 days old - RTCSessionDescriptionCallback
888 days old - RTCStatsReport
484 days old - High-level guides
669 days old - Using WebRTC data channels
404 days old
Dev-doc-needed bugs
Found 21 bugs. Learn more about how to resolve a dev-doc-needed bug.
Bug | Summary | Release |
---|---|---|
1344970 | Rename mozRtt stat to roundTripTime and change behavior to match spec | mozilla55 |
1323095 | Add deprecation warnings to callback-based pc.getStats() | mozilla53 |
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 |
1032839 | Implement Track replace for RTPSender | mozilla34 |
1032835 | Implement basic RTPSender and RTPReceiver with RTCPeerConnection | mozilla34 |
1036653 | Implement application sharing for getUserMedia | mozilla34 |
1038926 | Add support for window sharing for getUserMedia | mozilla33 |
942367 | Implement peerIdentity constraint | mozilla32 |
1014304 | Remove onconnection and onclosedconnection from PC | mozilla32 |
859565 | Remove readyState legacy attribute in future release | 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 35 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 |
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.
- http://dev.w3.org/2011/webrtc/editor/webrtc.html
- http://dev.w3.org/2011/webrtc/editor/getusermedia.html
- http://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/
- http://www.html5rocks.com/en/tutorials/webrtc/basics/
- dev-doc-needed bugs
- https://github.com/GoogleChrome/webrtc
- http://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 Browsers | Working Draft | |
Media Capture and Streams | Editor's Draft | |
MediaStream Recording | Working Draft |