This article is Almost Ready.
W3C Working Draft
Enables real-time communication across the web.
|LocalMediaStream||The LocalMediaStream object is the MediaStream object returned from the call to getUserMedia(). It has all the properties and events of the MediaStream object and the stop method.|
|MediaStream||The MediaStream interface of the WebRTC API describes a stream of audio or video data. A MediaStream object represents a linear, potentially infinite timeline. It is not preloadable, nor is it seekable.|
|MediaStreamTrack||A MediaStreamTrack is one of two kinds, audio or video, and represents the media source, such as a camera.|
|MediaStreamTrackList||A MediaStream has two MediaStreamTrackList objects, one for the video tracks and one for the audio tracks.|
|RTCDataChannel||Represents a bi-directional data channel between two peers.|
|RTCPeerConnection||Provides for the connection between remote peers, the transmission of locally generated MediaStream data and arbitrary data between peers.|
|RTCSessionDescription||Describes the session with a serialized Session Description Protocol object.|
The RTC in WebRTC stands for Real-Time Communications, 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.
A MediaStream object is typically set as a simple URL string which can be used to reference data stored in a DOM File or Blob object with window.URL.createObjectURL(). The MediaStream object is further distinguished as either a MediaStreamTrack or a LocalMediaStream.
A MediaStream consists of zero or more MediaStreamTrack objects, which comprise one or more channels, and which are contained in a MediaStreamTrackList. Each MediaStreamTrack may have one or more channels. The channel represents the smallest unit of a media stream, such as an audio signal.
MediaStream objects have an input and an output. A LocalMediaStream is a MediaStream object generated by getUserMedia(), and which has as its source input the user's camera or microphone. The output describes how the consumer uses the MediaStream object. The consumer is either of the media elements,
<video>, or the PeerConnection API.
The PeerConnection API, represented chiefly by the RTCPeerConnection object, provides for the exchange of MediaStream object data between browser instances (peers) across a secure channel. The process starts with signaling from one peer to others through a server. The signaling protocol is determined by the application, and once established, encapsulated in the RTCSessionDescription object.
The DataChannel API, represented by the RTCDataChannel and leveraged through RTCPeerConnection, provides for the exchange of strings or binary data between peers. A data channel can be reliable, semi reliable and not reliable.