WebRTC is an HTML5 specification that you can use to add real-time media communications directly between browsers and devices. It is a set of standards that allows users to share data and conduct peer-to-peer teleconferencing without having to install any plug-ins or other third-party software.
WebRTC is made up of a number of interconnected APIs and protocols that work together to achieve this goal. The documentation provided here will assist you in learning the fundamentals of WebRTC, as well as how to set up and use data and media connections.
What can WebRTC do?
WebRTC has a wide range of applications, from simple web apps that use the camera or microphone to more advanced video-calling and screen-sharing applications. We’ve compiled a list of code samples to help you understand how the technology works and what you can do with it.
concepts and usage
WebRTC serves multiple purposes; when combined with the Media Capture and Streams APIs, it provides the Web with powerful multimedia capabilities such as audio and video conferencing, file exchange, screen sharing, identity management, and interfacing with legacy telephone systems, including the ability to send DTMF (touch-tone dialing) signals. Connections between peers can be established without the use of any special drivers or plug-ins, and without the use of intermediary servers in many cases.
The RTCPeerConnection interface represents connections between two peers. Media streams (MediaStreams) and/or data channels (RTCDataChannels) can be added to a connection that has been established and opened using RTCPeerConnection.
Media streams can have any number of tracks of media data; tracks, which are represented by objects based on the MediaStreamTrack interface, can contain a variety of media data types, such as audio, video, and text (such as subtitles or even chapter names). Most streams have at least one audio track and, more than likely, a video track, and they can be used to send and receive both live and stored media (such as a streamed movie).
The RTCDataChannel interface can also be used to exchange arbitrary binary data over a connection between two peers. This can be used to send back-channel data, metadata, game status packets, file transfers, or even as a primary data transfer channel.