WebRTC API

by 2 contributors:

WebRTC (Web Real-Time Communications) is a technology which enables Web applications and sites to capture and optionally stream audio and/or video media, as well as to exchange arbitrary data between browsers without requiring an intermediary. The set of standards that comprises WebRTC makes it possible to share data and perform teleconferencing peer-to-peer, without requiring that the user install plug-ins or any other third-party software.

WebRTC consists of several interrelated APIs and protocols which work together to achieve this. The documentation you'll find here will help you understand the fundamentals of WebRTC, how to set up and use both data and media connections, and more.

Reference

Guides

WebRTC architecture overview
Beneath the APIs that developers use to create and use WebRTC connections lie a number of network protocols and connectivity standards. This brief overview covers these standards.
WebRTC basics
This article takes you through the creation of a cross-browser RTC App. By the end of it, you should have working peer-to-peer data channel and media channel.
WebRTC protocols
This article introduces the protocols on top of which the WebRTC API is built.
WebRTC connectivity
This article describes how the varous WebRTC-related protocols interact with one another in order to create a connection and transfer data and/or media among peers.
WebRTC API overview
WebRTC consists of several interrelated APIs and protocols which work together to support the exchange of data and media between two or more peers. This article provides a brief overview of each of these APIs and what purpose it serves.
Lifetime of a WebRTC session
WebRTC lets you build peer-to-peer communication of arbitrary data, audio, or video—or any combination thereof—into a browser application. In this article, we'll look at the lifetime of a WebRTC session, from establishing the connection all the way through closing the connection when it's no longer needed.

Tutorials

Improving compatibility using WebRTC adapter.js
The WebRTC organization provides on GitHub the WebRTC adapter to work around compatibility issues in different browsers' WebRTC implementations. The adapter is a JavaScript shim which lets your code to be written to the specification so that it will "just work" in all browsers with WebRTC support.
Taking still photos with WebRTC
This article shows how to use WebRTC to access the camera on a computer or mobile phone with WebRTC support and take a photo with it.
A simple RTCDataChannel sample
The RTCDataChannel interface is a feature which lets you open a channel between two peers over which you may send and receive arbitrary data. The API is intentionally similar to the WebSocket API, so that the same programming model can be used for each.

Protocols

WebRTC-proper protocols

Specifications

Specification Status Comment
WebRTC 1.0: Real-time Communication Between Browser Working Draft The initial definition of the API of WebRTC.
Media Capture and Streams Candidate Recommendation The initial definition of the object conveying the stream of media content.
Media Capture from DOM Elements Editor's Draft The initial definition on how to obtain stream of content from DOM Elements

Document Tags and Contributors

Tags: 
Contributors to this page: teoli, Sheppy
Last updated by: teoli,