O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Real-Time Communication with WebRTC

Book Description

Deliver rich audio and video real-time communication and peer-to-peer data exchange right in the browser, without the need for proprietary plug-ins. This concise hands-on guide shows you how to use the emerging Web Real-Time Communication (WebRTC) technology to build a browser-to-browser application, piece by piece. The authors’ learn-by-example approach is perfect for web programmers looking to understand real-time communication, and telecommunications architects unfamiliar with HTML5 and JavaScript-based client-server web programming.

Table of Contents

  1. Preface
    1. Conventions Used in This Book
    2. Using Code Examples
    3. Safari® Books Online
    4. How to Contact Us
    5. Acknowledgments
  2. Dedication
  3. 1. Introduction
    1. Web Architecture
    2. WebRTC Architecture
    3. WebRTC in the Browser
    4. Signaling
    5. WebRTC API
      1. MediaStream
      2. PeerConnection
      3. DataChannel
    6. A Simple Example
  4. 2. Handling Media in the Browser
    1. WebRTC in 10 Steps
    2. Media Capture and Streams
      1. MediaStream API
      2. Obtaining Local Multimedia Content
      3. URL
    3. Playing with the getUserMedia() API
    4. The Media Model
      1. Media Constraints
      2. Using Constraints
  5. 3. Building the Browser RTC Trapezoid: A Local Perspective
    1. Using PeerConnection Objects Locally: An Example
      1. Starting the Application
      2. Placing a Call
      3. Hanging Up
    2. Adding a DataChannel to a Local PeerConnection
      1. Starting Up the Application
      2. Streaming Text Across the Data Channel
      3. Closing the Application
  6. 4. The Need for a Signaling Channel
    1. Building Up a Simple Call Flow
    2. Creating the Signaling Channel
    3. Joining the Signaling Channel
    4. Starting a Server-Mediated Conversation
    5. Continuing to Chat Across the Channel
    6. Closing the Signaling Channel
  7. 5. Putting It All Together: Your First WebRTC System from Scratch
    1. A Complete WebRTC Call Flow
    2. Initiator Joining the Channel
    3. Joiner Joining the Channel
    4. Initiator Starting Negotiation
    5. Joiner Managing Initiator’s Offer
    6. ICE Candidate Exchanging
    7. Joiner’s Answer
    8. Going Peer-to-Peer!
      1. Using the Data Channel
    9. A Quick Look at the Chrome WebRTC Internals Tool
  8. 6. An Introduction to WebRTC API’s Advanced Features
    1. Conferencing
    2. Identity and Authentication
    3. Peer-to-Peer DTMF
    4. Statistics Model
  9. A. WebRTC 1.0 APIs
    1. RTCPeerConnection API
      1. Configuration
      2. Constructor
      3. Methods
      4. Attributes
      5. State Definition
    2. Peer-to-Peer Data API
      1. Interface RTCDataChannel Interface Methods
      2. RTCDataChannel Interface Attributes
  10. Index
  11. Colophon
  12. Copyright