HOME

TheInfoList



OR:

WebRTC (Web Real-Time Communication) is a
free and open-source Free and open-source software (FOSS) is software available under a Software license, license that grants users the right to use, modify, and distribute the software modified or not to everyone free of charge. FOSS is an inclusive umbrella term ...
project providing
web browser A web browser, often shortened to browser, is an application for accessing websites. When a user requests a web page from a particular website, the browser retrieves its files from a web server and then displays the page on the user's scr ...
s and
mobile application A mobile application or app is a computer program or software application designed to run on a mobile device such as a phone, tablet, or watch. Mobile applications often stand in contrast to desktop applications which are designed to run on d ...
s with
real-time communication Real-time communication (RTC) is a category of software protocols and communication hardware media that gives real-time guarantees, which is necessary to support real-time guarantees of real-time computing. Real-time communication Protocols (comp ...
(RTC) via
application programming interface An application programming interface (API) is a connection between computers or between computer programs. It is a type of software Interface (computing), interface, offering a service to other pieces of software. A document or standard that des ...
s (APIs). It allows audio and video communication and streaming to work inside web pages by allowing direct
peer-to-peer Peer-to-peer (P2P) computing or networking is a distributed application architecture that partitions tasks or workloads between peers. Peers are equally privileged, equipotent participants in the network, forming a peer-to-peer network of Node ...
communication, eliminating the need to install plugins or download native apps. Supported by
Apple An apple is a round, edible fruit produced by an apple tree (''Malus'' spp.). Fruit trees of the orchard or domestic apple (''Malus domestica''), the most widely grown in the genus, are agriculture, cultivated worldwide. The tree originated ...
,
Google Google LLC (, ) is an American multinational corporation and technology company focusing on online advertising, search engine technology, cloud computing, computer software, quantum computing, e-commerce, consumer electronics, and artificial ...
,
Microsoft Microsoft Corporation is an American multinational corporation and technology company, technology conglomerate headquartered in Redmond, Washington. Founded in 1975, the company became influential in the History of personal computers#The ear ...
,
Mozilla Mozilla is a free software community founded in 1998 by members of Netscape. The Mozilla community uses, develops, publishes and supports Mozilla products, thereby promoting free software and open standards. The community is supported institution ...
, and
Opera Opera is a form of History of theatre#European theatre, Western theatre in which music is a fundamental component and dramatic roles are taken by Singing, singers. Such a "work" (the literal translation of the Italian word "opera") is typically ...
, WebRTC specifications have been published by the
World Wide Web Consortium The World Wide Web Consortium (W3C) is the main international standards organization for the World Wide Web. Founded in 1994 by Tim Berners-Lee, the consortium is made up of member organizations that maintain full-time staff working together in ...
(W3C) and the
Internet Engineering Task Force The Internet Engineering Task Force (IETF) is a standards organization for the Internet standard, Internet and is responsible for the technical standards that make up the Internet protocol suite (TCP/IP). It has no formal membership roster ...
(IETF).


History

In May 2010, Google bought
Global IP Solutions Global IP Solutions (also known as GIPS) was a United States–based corporation that developed real-time voice and video processing software for Internet Protocol, IP networks, before it was acquired by Google in May 2010. The company delivered ...
or GIPS, a
VoIP Voice over Internet Protocol (VoIP), also known as IP telephony, is a set of technologies used primarily for voice communication sessions over Internet Protocol (IP) networks, such as the Internet. VoIP enables voice calls to be transmitted as ...
and
videoconferencing Videotelephony (also known as videoconferencing or video calling) is the use of audio signal, audio and video for simultaneous two-way communication. Today, videotelephony is widespread. There are many terms to refer to videotelephony. ''Vide ...
software company that had developed many components required for RTC, such as codecs and echo cancellation techniques. Google open-sourced the GIPS technology and engaged with relevant standards bodies at the
IETF The Internet Engineering Task Force (IETF) is a standards organization for the Internet standard, Internet and is responsible for the technical standards that make up the Internet protocol suite (TCP/IP). It has no formal membership roster ...
and
W3C The World Wide Web Consortium (W3C) is the main international standards organization for the World Wide Web. Founded in 1994 by Tim Berners-Lee, the consortium is made up of member organizations that maintain full-time staff working together in ...
to ensure industry consensus. In May 2011,
Google Google LLC (, ) is an American multinational corporation and technology company focusing on online advertising, search engine technology, cloud computing, computer software, quantum computing, e-commerce, consumer electronics, and artificial ...
released an
open-source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use and view the source code, design documents, or content of the product. The open source model is a decentrali ...
project for browser-based real-time communication known as WebRTC. This has been followed by ongoing work to standardize the relevant
protocols Protocol may refer to: Sociology and politics * Protocol (politics), a formal agreement between nation states * Protocol (diplomacy), the etiquette of diplomacy and affairs of state * Etiquette, a code of personal behavior Science and technology ...
in the
IETF The Internet Engineering Task Force (IETF) is a standards organization for the Internet standard, Internet and is responsible for the technical standards that make up the Internet protocol suite (TCP/IP). It has no formal membership roster ...
and browser APIs in the W3C. In January 2011,
Ericsson (), commonly known as Ericsson (), is a Swedish multinational networking and telecommunications company headquartered in Stockholm, Sweden. Ericsson has been a major contributor to the development of the telecommunications industry and is one ...
Labs built the first implementation of WebRTC using a modified
WebKit WebKit is a browser engine primarily used in Apple's Safari web browser, as well as all web browsers on iOS and iPadOS. WebKit is also used by the PlayStation consoles starting with the PS3, the Tizen mobile operating systems, the Amazon K ...
library. In October 2011, the
W3C The World Wide Web Consortium (W3C) is the main international standards organization for the World Wide Web. Founded in 1994 by Tim Berners-Lee, the consortium is made up of member organizations that maintain full-time staff working together in ...
published its first draft for the spec. WebRTC milestones include the first cross-browser video call (February 2013), first cross-browser data transfers (February 2014), and as of July 2014
Google Hangouts Google Hangouts was a cross-platform instant messaging (IM) service developed by Google. It originally was a feature of Google+, becoming a standalone product in 2013, when Google also began integrating features from Google+ Messenger and Googl ...
was "kind of" using WebRTC. The W3C draft API was based on preliminary work done in the
WHATWG The Web Hypertext Application Technology Working Group (WHATWG) is a community of people interested in evolving HTML and related technologies. The WHATWG was founded by individuals from Apple Inc., the Mozilla Foundation and Opera Software, ...
. It was referred to as the ConnectionPeer API, and a pre-standards concept implementation was created at
Ericsson (), commonly known as Ericsson (), is a Swedish multinational networking and telecommunications company headquartered in Stockholm, Sweden. Ericsson has been a major contributor to the development of the telecommunications industry and is one ...
Labs. The WebRTC Working Group expects this specification to evolve significantly based on: * Outcomes of ongoing exchanges in the companion RTCWEB group at
IETF The Internet Engineering Task Force (IETF) is a standards organization for the Internet standard, Internet and is responsible for the technical standards that make up the Internet protocol suite (TCP/IP). It has no formal membership roster ...
to define the set of
protocols Protocol may refer to: Sociology and politics * Protocol (politics), a formal agreement between nation states * Protocol (diplomacy), the etiquette of diplomacy and affairs of state * Etiquette, a code of personal behavior Science and technology ...
that, together with this document, define
real-time communication Real-time communication (RTC) is a category of software protocols and communication hardware media that gives real-time guarantees, which is necessary to support real-time guarantees of real-time computing. Real-time communication Protocols (comp ...
s in web browsers. While no one signaling protocol is mandated, SIP over
WebSocket WebSocket is a computer communications protocol, providing a full-duplex, simultaneous two-way communication channel over a single Transmission Control Protocol (TCP) connection. The WebSocket protocol was standardized by the Internet Engineering ...
s () is often used partially due to the applicability of SIP to most of the envisaged communication scenarios as well as the availability of open-source software such as
JsSIP JsSIP is a library for the programming language JavaScript. It takes advantage of SIP and WebRTC to provide a fully featured SIP endpoint in any website. JsSIP allows any website to get real-time communication features using audio and video. It ...
. * Privacy issues that arise when exposing local capabilities and local streams * Technical discussions within the group, on implementing data channels in particular * Experience gained through early experimentation * Feedback from other groups and individuals In November 2017, the WebRTC 1.0 specification transitioned from Working Draft to Candidate Recommendation. In January 2021, the WebRTC 1.0 specification transitioned from Candidate Recommendation to Recommendation.


Design

Major components of WebRTC include several
JavaScript JavaScript (), often abbreviated as JS, is a programming language and core technology of the World Wide Web, alongside HTML and CSS. Ninety-nine percent of websites use JavaScript on the client side for webpage behavior. Web browsers have ...
APIs: * getUserMedia acquires the audio and video media (e.g., by accessing a device's camera and microphone). * RTCPeerConnection enables audio and video communication between peers. It performs
signal processing Signal processing is an electrical engineering subfield that focuses on analyzing, modifying and synthesizing ''signals'', such as audio signal processing, sound, image processing, images, Scalar potential, potential fields, Seismic tomograph ...
,
codec A codec is a computer hardware or software component that encodes or decodes a data stream or signal. ''Codec'' is a portmanteau of coder/decoder. In electronic communications, an endec is a device that acts as both an encoder and a decoder o ...
handling, peer-to-peer communication, security, and
bandwidth Bandwidth commonly refers to: * Bandwidth (signal processing) or ''analog bandwidth'', ''frequency bandwidth'', or ''radio bandwidth'', a measure of the width of a frequency range * Bandwidth (computing), the rate of data transfer, bit rate or thr ...
management. * RTCDataChannel allows bidirectional communication of arbitrary data between peers. The data is transported using
SCTP The Stream Control Transmission Protocol (SCTP) is a computer networking communications protocol in the transport layer of the Internet protocol suite. Originally intended for Signaling System 7 (SS7) message transport in telecommunication, the ...
over
DTLS Datagram Transport Layer Security (DTLS) is a communications protocol providing security to datagram-based applications by allowing them to communicate in a way designed to prevent eavesdropping, tampering, or message forgery. The DTLS protocol ...
. It uses the same API as
WebSocket WebSocket is a computer communications protocol, providing a full-duplex, simultaneous two-way communication channel over a single Transmission Control Protocol (TCP) connection. The WebSocket protocol was standardized by the Internet Engineering ...
s and has very low latency. The WebRTC API also includes a statistics function: * getStats allows the web application to retrieve a set of statistics about WebRTC sessions. These statistics data are being described in a separate W3C document. The WebRTC API includes no provisions for signaling, that is discovering peers to connect to and determine how to establish connections among them. Applications use
Interactive Connectivity Establishment Interactive Connectivity Establishment (ICE) is a technique used in computer networking to find ways for two computers to talk to each other as directly as possible in peer-to-peer networking. This is most commonly used for interactive media such ...
for connections and are responsible for managing sessions, possibly relying on any of
Session Initiation Protocol The Session Initiation Protocol (SIP) is a signaling protocol used for initiating, maintaining, and terminating communication sessions that include voice, video and messaging applications. SIP is used in Internet telephony, in private IP telepho ...
, Extensible Messaging and Presence Protocol (
XMPP Extensible Messaging and Presence Protocol (abbreviation XMPP, originally named Jabber) is an Open standard, open communication protocol designed for instant messaging (IM), presence information, and contact list maintenance. Based on XML (Ext ...
), Message Queuing Telemetry Transport,
Matrix Matrix (: matrices or matrixes) or MATRIX may refer to: Science and mathematics * Matrix (mathematics), a rectangular array of numbers, symbols or expressions * Matrix (logic), part of a formula in prenex normal form * Matrix (biology), the m ...
, or another protocol. Signaling may depend on one or more servers. requires implementations to provide PCMA/ PCMU (), Telephone Event as
DTMF Dual-tone multi-frequency (DTMF) signaling is a telecommunication signaling system using the voice-frequency band over telephone lines between telephone equipment and other communications devices and switching centers. DTMF was first developed ...
(), and
Opus Opus (: opera Opera is a form of History of theatre#European theatre, Western theatre in which music is a fundamental component and dramatic roles are taken by Singing, singers. Such a "work" (the literal translation of the Italian word "opera ...
()
audio codec An audio codec is a device or computer program capable of encoding or decoding a digital data stream (a codec) that encodes or decodes audio. In software, an audio codec is a computer program implementing an algorithm that compresses and decompres ...
s as minimum capabilities. The PeerConnection, data channel and media capture browser APIs are detailed in the W3C specification. W3C is developing ORTC (Object Real-Time Communications) for WebRTC.


Applications

WebRTC allows browsers to stream files directly to one another, reducing or entirely removing the need for server-side file hosting.
WebTorrent WebTorrent is a peer-to-peer (P2P) streaming torrent client written in JavaScript that enables BitTorrent functionality directly within web browsers. Created by Feross Aboukhadijeh, the developer behind YouTube Instant, WebTorrent implements the ...
uses a WebRTC transport to enable peer-to-peer file sharing using the
BitTorrent BitTorrent is a Protocol (computing), communication protocol for peer-to-peer file sharing (P2P), which enables users to distribute data and electronic files over the Internet in a Decentralised system, decentralized manner. The protocol is d ...
protocol in the browser. Some
file-sharing File sharing is the practice of distributing or providing access to digital media, such as computer programs, multimedia (audio, images and video), documents or electronic books. Common methods of storage, transmission and dispersion include re ...
websites use it to allow users to send files directly to one another in their browsers, although this requires the uploader to keep the tab open until the file has been downloaded. A few CDNs, such as the Microsoft-owned Peer5, use the client's bandwidth to upload media to other connected peers, enabling each peer to act as an edge server. Although initially developed for web browsers, WebRTC has applications for non-browser devices, including mobile platforms and IoT devices. Examples include browser-based
VoIP Voice over Internet Protocol (VoIP), also known as IP telephony, is a set of technologies used primarily for voice communication sessions over Internet Protocol (IP) networks, such as the Internet. VoIP enables voice calls to be transmitted as ...
telephony, also called cloud phones or web phones, which allow calls to be made and received from within a web browser, replacing the requirement to download and install a softphone.


Support

WebRTC is supported by the following browsers (incomplete list; oldest supported version specified): * Desktop PC **
Microsoft Edge Microsoft Edge is a Proprietary Software, proprietary cross-platform software, cross-platform web browser created by Microsoft and based on the Chromium (web browser), Chromium open-source project, superseding Edge Legacy. In Windows 11, Edge ...
12+ **
Google Chrome Google Chrome is a web browser developed by Google. It was first released in 2008 for Microsoft Windows, built with free software components from Apple WebKit and Mozilla Firefox. Versions were later released for Linux, macOS, iOS, iPadOS, an ...
28+ **
Mozilla Firefox Mozilla Firefox, or simply Firefox, is a free and open-source web browser developed by the Mozilla Foundation and its subsidiary, the Mozilla Corporation. It uses the Gecko rendering engine to display web pages, which implements curren ...
22+ **
Safari A safari (; originally ) is an overland journey to observe wildlife, wild animals, especially in East Africa. The so-called big five game, "Big Five" game animals of Africa – lion, African leopard, leopard, rhinoceros, African elephant, elep ...
11+ **
Opera Opera is a form of History of theatre#European theatre, Western theatre in which music is a fundamental component and dramatic roles are taken by Singing, singers. Such a "work" (the literal translation of the Italian word "opera") is typically ...
18+ **
Vivaldi Antonio Lucio Vivaldi (4 March 1678 – 28 July 1741) was an Italian composer, virtuoso violinist, impresario of Baroque music and Roman Catholic priest. Regarded as one of the greatest Baroque composers, Vivaldi's influence during his lif ...
1.9+ **
Brave Brave(s) or The Brave(s) may refer to: Common meanings *Brave, an adjective for one who possesses courage * Braves (Native Americans), a Euro-American stereotype for Native American warriors Film and television * ''Brave'' (1994 film), a concept ...
*
Android Android most commonly refers to: *Android (robot), a humanoid robot or synthetic organism designed to imitate a human * Android (operating system), a mobile operating system primarily developed by Google * Android TV, a operating system developed ...
** Google Chrome 28+ (enabled by default since 29) ** Mozilla Firefox 24+ ** Opera Mobile 12+ *
ChromeOS ChromeOS, sometimes styled as chromeOS and formerly styled as Chrome OS, is an operating system designed and developed by Google. It is derived from the open-source operating system and uses the Google Chrome web browser as its principal user ...
*
Firefox OS Firefox OS (project name: ''Boot to Gecko'', also known as ''B2G'') is a discontinued Open-source software, open-source operating system made for smartphones, tablet computers, smart TVs, and Matchstick TV, dongles designed by Mozilla and exte ...
*
BlackBerry 10 BlackBerry 10 (BB10) is a proprietary mobile operating system for the BlackBerry line of smartphones, both developed by BlackBerry Limited (formerly known as Research In Motion). Released in January 2013, BlackBerry 10 is a complete rework from t ...
*
iOS Ios, Io or Nio (, ; ; locally Nios, Νιός) is a Greek island in the Cyclades group in the Aegean Sea. Ios is a hilly island with cliffs down to the sea on most sides. It is situated halfway between Naxos and Santorini. It is about long an ...
**MobileSafari/WebKit (
iOS 11 iOS 11 is the iOS version history, eleventh major release of the iOS mobile operating system developed by Apple Inc., Apple, being the successor to iOS 10. It was announced at the company's Worldwide Developers Conference on June 5, 2017, and w ...
+) *
Tizen Tizen () is a Linux-based operating system primarily developed by Samsung Electronics and supported by the Linux Foundation. The project was originally conceived as an HTML5-based platform for mobile devices to succeed MeeGo. It was backed by o ...
3.0 *
GStreamer GStreamer is a Pipeline (computing), pipeline-based multimedia framework that links together a wide variety of media processing systems to complete complex workflows. For instance, GStreamer can be used to build a system that reads files in one f ...
directly provides a free WebRTC implementation. *
OvenMediaEngine OvenMediaEngine (OME) is a low-latency streaming server with large-scale and high-definition that AirenSoft Co., Ltd. released as open-source software via GitHub in December 2018. The main programming language used was C++, and the first updat ...
*
Ant Media Server Ants are eusocial insects of the family Formicidae and, along with the related wasps and bees, belong to the order Hymenoptera. Ants evolved from vespoid wasp ancestors in the Cretaceous period. More than 13,800 of an estimated total of 22, ...


Codec support across browsers

WebRTC establishes a standard set of codecs which all compliant browsers are required to implement. Some browsers may also support other codecs.


Vulnerability

In January 2015,
TorrentFreak __NOTOC__ TorrentFreak (TF) is a blog dedicated to reporting the latest news and trends on the BitTorrent protocol and file sharing, as well as on copyright infringement and digital rights. The website was started in November 2005 by a Dutchma ...
reported a serious security flaw in browsers supporting WebRTC, that compromised the security of
VPN Virtual private network (VPN) is a network architecture for virtually extending a private network (i.e. any computer network which is not the public Internet) across one or multiple other networks which are either untrusted (as they are not c ...
tunnels by exposing a user's true
IP address An Internet Protocol address (IP address) is a numerical label such as that is assigned to a device connected to a computer network that uses the Internet Protocol for communication. IP addresses serve two main functions: network interface i ...
. The IP address read requests are not visible in the browser's developer console, and they are not blocked by most
ad blocking Ad blocking (or ad filtering) is a software capability for blocking or altering online advertising in a History of the web browser, web browser, an Application software, application or a network. This may be done using browser extensions or othe ...
,
privacy Privacy (, ) is the ability of an individual or group to seclude themselves or information about themselves, and thereby express themselves selectively. The domain of privacy partially overlaps with security, which can include the concepts of a ...
and
security Security is protection from, or resilience against, potential harm (or other unwanted coercion). Beneficiaries (technically referents) of security may be persons and social groups, objects and institutions, ecosystems, or any other entity or ...
add-ons, enabling online tracking despite precautions. It has been reported that the cause of the address leak is not a bug that can be patched, but is foundational to the way WebRTC operates; however, there are several solutions to mitigate the problem. WebRTC leakage can be tested for, and solutions are offered for most browsers. WebRTC can be disabled, if not required, in most browsers. The
uBlock Origin uBlock Origin ( ) is a free and open-source browser extension for content filtering, including ad blocking. The extension is available for Firefox and Chromium-based browsers (such as Chrome, Edge, Brave, and Opera). uBlock Origin is activ ...
add-on can fix this problem (as some browsers now fix this problem by themselves, from uBlock Origin v1.38 onwards this option has been disabled on these browsers).


See also

*
CU-RTC-WEB Customizable, Ubiquitous Real Time Communication over the Web is an API definition being drafted by Bernard Aboba at Microsoft. It is a competing standard to WebRTC, which drafted by a World Wide Web Consortium working group since May 2011. As o ...
*
Real-time Transport Protocol The Real-time Transport Protocol (RTP) is a network protocol for delivering audio and video over IP networks. RTP is used in communication and entertainment systems that involve streaming media, such as telephony, video teleconference applic ...
(also known as RTP) is used internally by WebRTC (specifically, it uses SRTP)


References


Further reading

* * * * *


External links

*
W3C Web Real-Time Communications Working Group

IETF Real-Time Communication in WEB-browsers (rtcweb) Working Group

Video chat demo app based on WebRTC

libdatachannel, open-source WebRTC network library
{{Web interfaces Peer-to-peer Software using the BSD license Web development Web standards