Your Search Results

    WebRTC documentation plan

    The WebRTC documentation project's goal is to produce complete, accurate, and useful documentation and sample code for using the WebRTC API and its related technologies.

    Note: This project is now underway; see the doc status page for current status information!

    Name: WebRTC (#)
    Description: WebRTC is responsible for realtime audio and video communication, as well as related issues like low-level camera and microphone access (on desktop at least)
    Owner: Randell Jesup
    Peer(s): Eric Rescorla, Ethan Hugg, Tim Terriberry, Byron Campen Adam Roach
    Source Dir(s): media/webrtc dom/media/webrtc
    Bugzilla Component(s): Core::WebRTC, Core::WebRTC (Audio/Video), Core::WebRTC (Networking), Core::WebRTC (Signaling)
    DiscussionĀ Group: dev-media


    The documentation work will be handled primarily by:

    Reference pages and some guide content.
    Assisting as available (hopefully lots, but probably only a little).
    Sample code and guide/tutorial content.

    Join the project

    MDN is built by you, the reader! If you'd like to help make this documentation real, we'd like to hear from you. You may contact the writing team by clicking on their names above, or on our mailing list. If you're a new MDN contributor, please have a look at our contributor guide. You can also join the conversation in our IRC channel, #mdn.

    Romain Gauthier (tOkeshu on IRC) has volunteered to help with samples and tutorials. He's got a few already on github, including:


    • 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.

    Target milestones

    1. September 30
      1. Completed all documentation for Web developers
      2. All existing content reviewed

    Note: Each milestone bug should block bugĀ 1050930, which is a tracking/meta bug for this project.

    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.

    Documents needed

    The lists here detail specific types of content that need to be produced, as well as precise pages that we know need to be produced or updated.

    Note: See also this spreadsheet listing individual interfaces, methods, and properties that need to be documented.

    Types of pages

    The following types of pages will need to be produced.

    • Reference
      • Interfaces
      • Properties
      • Methods
      • Events
    • Landing pages
    • Guides/tutorials
    • Sample apps and web content

    Landing pages

    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
        • Establishing a connection
          • Session description object
          • Exchanging session descriptions
          • Opening the connection
      • 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
      • Using DTMF (need more info on what to do here)
      • Example:
      • Video conferencing
        • Calling another user
        • Receiving a connection

    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
    • Contact API
      • Using contacts to start a WebRTC session


    The links below contain useful information that may help when producing WebRTC documentation.

    Existing content

    The following articles about WebRTC and its related APIs already exist, and need to be reviewed, updated, and/or completed as necessary.

    Other notes

    None at this time.

    Document Tags and Contributors

    Contributors to this page: Sheppy
    Last updated by: Sheppy,
    Hide Sidebar