WebRTC (where RTC stands for Real-Time Communications) is a technology that enables audio/video streaming and data sharing between browser clients (peers). As a set of standards, WebRTC provides any browser with the ability to share application data and perform teleconferencing peer to peer, without the need to install plug-ins or third-party software.
WebRTC components are accessed with JavaScript APIs: the Network Stream API, which represents an audio or video data stream, the PeerConnection API, which allows two or more users to communicate browser-to-browser, and the DataChannel API that enables communication of other types of data for real-time gaming, text chat, file transfer, and so forth.
Note: This documentation is not up-to-date and a work in progress. Want to help? We need someone to go through these docs and bring them up-to-date, as well as to document the APIs in our API reference! See our guide to getting started as an MDN contributor if you'd like to help.
Guide
- Introduction to WebRTC
- An introductory guide to what WebRTC is and how it works.
- Peer-to-peer communications with WebRTC
- How to perform peer-to-peer communications using the WebRTC APIs.
- Capturing images from a webcam
- An introductory guide to what WebRTC is and how it works.
- Introduction to WebRTC architecture
- (AKA "WebRTC and the Ocean of Acronyms") WebRTC has a lot of different parts to it, and it can be overwhelming and confusing to newcomers. This article aims to explain what all the parts are, and how they fit together.
- WebRTC basics
- Now you understand the WebRTC architecture, you can move on to this article, which takes you through the creation of a basic cross-browser RTC App.
Reference
- Navigator.getUserMedia
- The API to capture media (video/audio).
- RTCPeerConnection
- The interface handling the streaming of data between two peers.
- RTCDataChannel
- The interface for sending arbitrary data across the peer connection.