Array ( [0] => {{short description|API that supports browser-to-browser communication}} [1] => {{Infobox software [2] => | name = WebRTC [3] => | logo = [[File:WebRTC Logo.svg|250px]] [4] => | released = {{Start date and age|df=yes|2011}} [5] => | latest release version = 1.0{{cite web|title=WebRTC 1.0: Real-time Communication Between Browsers|url=https://www.w3.org/TR/webrtc/|website=World Wide Web Consortium|access-date=25 March 2019|date=27 September 2018|archive-date=7 April 2019|archive-url=https://web.archive.org/web/20190407011412/http://www.w3.org/TR/webrtc/|url-status=live}} [6] => | latest release date = {{Start date and age|2018|05|04}} [7] => | repo = {{URL|https://webrtc.googlesource.com/}} [8] => | programming language = [[C++]],{{Cite web | url=https://webrtc.googlesource.com/src/webrtc/ | title=Src/webrtc - Git at Google | access-date=2018-04-22 | archive-date=2018-04-23 | archive-url=https://web.archive.org/web/20180423034244/https://webrtc.googlesource.com/src/webrtc/ | url-status=live }} [[JavaScript]] [9] => | genre = [10] => | author = Justin Uberti
Peter Thatcher [11] => | license = [[BSD license]] {{citation needed|date=December 2022}} [12] => | website = {{URL|https://webrtc.org/}} [13] => | standard = {{URL|https://w3.org/TR/webrtc/}} [14] => }} [15] => [16] => '''WebRTC''' ('''Web Real-Time Communication''') is a [[Free and open-source software|free and open-source]] project providing [[web browser]]s and [[mobile application]]s with [[real-time communication]] (RTC) via [[API|application programming interface]]s (APIs). It allows audio and video communication and streaming to work inside web pages by allowing direct [[peer-to-peer]] communication, eliminating the need to install [[Plug-in (computing)|plugins]] or download native apps. [17] => [18] => Supported by [[Apple Inc.|Apple]], [[Google]], [[Microsoft]], [[Mozilla]], and [[Opera (company)|Opera]], WebRTC specifications have been published by the [[World Wide Web Consortium]] (W3C) and the [[Internet Engineering Task Force]] (IETF).{{cite web|last=|first=|date=26 Jan 2021|title=Web Real-Time Communications (WebRTC) transforms the communications landscape as it becomes a World Wide Web Consortium (W3C) Recommendation and Internet Engineering Task Force (IETF) standards|url=https://www.w3.org/2021/01/pressrelease-webrtc-rec.html.en|url-status=live|archive-url=https://web.archive.org/web/20220727142803/https://www.w3.org/2021/01/pressrelease-webrtc-rec.html.en|archive-date=27 July 2022|access-date=27 Jan 2021|website=World Wide Web Consortium}}{{Cite web|title=Rtcweb Status Pages|url=https://tools.ietf.org/wg/rtcweb/|access-date=2021-02-18|website=tools.ietf.org|archive-date=2020-04-20|archive-url=https://web.archive.org/web/20200420003228/https://tools.ietf.org/wg/rtcweb/|url-status=live}} [19] => [20] => According to the webrtc.org website, the purpose of the project is to "enable rich, high-quality RTC applications to be developed for the browser, mobile platforms, and [[Internet of things|IoT]] devices, and allow them all to communicate via a common set of [[communication protocol|protocols]]".{{cite web|title=WebRTC|url=https://webrtc.org/|website=WebRTC|access-date=6 February 2018|archive-url=https://web.archive.org/web/20180128042919/https://webrtc.org/|archive-date=28 January 2018|url-status=bot: unknown}} [21] => [22] => == History == [23] => [24] => In May 2010, Google bought [[Global IP Solutions]] or GIPS, a [[Voice over IP|VoIP]] and [[videoconferencing]] 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]] and [[W3C]] to ensure industry consensus.{{cite web|title=Are the WebRTC components from Google's acquisition of Global IP Solutions?|url=https://webrtc.org/faq/#are-the-webrtc-components-from-googles-acquisition-of-global-ip-solutions|website=WebRTC|access-date=6 February 2018|archive-date=7 June 2011|archive-url=https://web.archive.org/web/20110607005550/https://webrtc.org/faq/#are-the-webrtc-components-from-googles-acquisition-of-global-ip-solutions|url-status=dead}}{{cite news|last1=Wauters|first1=Robin|title=Google makes $68.2 million cash offer for Global IP Solutions|url=https://techcrunch.com/2010/05/18/google-makes-68-2-million-cash-offer-for-global-ip-solutions|access-date=6 February 2018|work=TechCrunch|date=18 May 2010|archive-date=7 February 2018|archive-url=https://web.archive.org/web/20180207062936/https://techcrunch.com/2010/05/18/google-makes-68-2-million-cash-offer-for-global-ip-solutions/|url-status=live}} In May 2011, [[Google]] released an [[open-source software|open-source]] project for browser-based real-time communication known as WebRTC. This has been followed by ongoing work to standardize the relevant [[communication protocol|protocols]] in the [[Internet Engineering Task Force|IETF]] and browser APIs in the W3C. [25] => [26] => In January 2011, [[Ericsson]] Labs built the first implementation of WebRTC using a modified [[WebKit]] library.{{cite news|author1=Stefan Håkansson|author2=Stefan Ålund|title=Beyond HTML5: Experiment with Real-Time Communication in a Browser|url=https://www.ericsson.com/research-blog/beyond-html5-experiment-real-time-communication-browser|access-date=6 February 2018|work=Ericsson Research blog|date=26 May 2011|archive-date=7 February 2018|archive-url=https://web.archive.org/web/20180207012115/https://www.ericsson.com/research-blog/beyond-html5-experiment-real-time-communication-browser/|url-status=live}} In October 2011, the [[World Wide Web Consortium|W3C]] published its first draft for the spec.{{cite web|title=WebRTC 1.0: Real-time Communication Between Browsers (W3C Working Draft 27 October 2011)|url=https://www.w3.org/TR/2011/WD-webrtc-20111027/|website=World Wide Web Consortium|access-date=6 February 2018|date=27 October 2011|archive-date=29 October 2011|archive-url=https://web.archive.org/web/20111029173130/https://www.w3.org/TR/2011/WD-webrtc-20111027/|url-status=live}} 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]] was "kind of" using WebRTC.{{cite web|last1=Nowak|first1=Szymon|title=WebRTC: So Much More Than Videoconferencing|url=https://szimek.github.io/presentation-meetjs-summit-2014-webrtc/#16|website=GitHub|access-date=6 February 2018|archive-date=7 February 2018|archive-url=https://web.archive.org/web/20180207005022/https://szimek.github.io/presentation-meetjs-summit-2014-webrtc/#16|url-status=live}} [27] => [28] => The W3C draft API was based on preliminary work done in the [[WHATWG]]. It was referred to as the ConnectionPeer API, and a pre-standards concept implementation was created at [[Ericsson]] Labs. The WebRTC Working Group expects this specification to evolve significantly based on: [29] => [30] => * Outcomes of ongoing exchanges in the companion RTCWEB group at [[IETF]] to define the set of [[Communications protocol|protocols]] that, together with this document, define [[real-time communication]]s in web browsers. While no one signaling protocol is mandated, [[Session Initiation Protocol|SIP]] over [[WebSocket]]s ({{IETF RFC|7118}}) is often used partially due to the applicability of SIP{{Cite web |title=SIP Trunking VoIP with WebRTC SDK |last=SIP Trunking |first=MTPL |website=Moon Technolabs |date=18 July 2023 |url=https://www.moontechnolabs.com/blog/sip-trunking/ |access-date=18 July 2023 |archive-date=5 August 2023 |archive-url=https://web.archive.org/web/20230805170916/https://www.moontechnolabs.com/blog/sip-trunking/ |url-status=live }} to most of the envisaged communication scenarios as well as the availability of open-source software such as [[JsSIP]]. [31] => * [[Internet privacy|Privacy issues]] that arise when exposing local capabilities and local streams [32] => * Technical discussions within the group, on implementing data channels in particular [33] => * Experience gained through early experimentation [34] => * Feedback from other groups and individuals [35] => [36] => In November 2017, the WebRTC 1.0 specification transitioned from Working Draft to Candidate Recommendation.{{cite web |url=https://www.w3.org/TR/2017/CR-webrtc-20171102/ |title=WebRTC 1.0: Real-time Communication Between Browsers (W3C Candidate Recommendation 02 November 2017) |date=2 November 2017 |access-date=25 March 2019 |archive-date=2 November 2017 |archive-url=https://web.archive.org/web/20171102204947/https://www.w3.org/TR/2017/CR-webrtc-20171102/ |url-status=live }} [37] => [38] => In January 2021, the WebRTC 1.0 specification transitioned from Candidate Recommendation to [[World Wide Web Consortium#W3C recommendation (REC)|Recommendation]]. [39] => [40] => == Design == [41] => [42] => Major components of WebRTC include several [[JavaScript]] [[Application programming interface|APIs]]: [43] => * getUserMedia acquires the audio and video media (e.g., by accessing a device's camera and microphone). [44] => * RTCPeerConnection enables audio and video communication between peers. It performs [[signal processing]], [[codec]] handling, peer-to-peer communication, security, and [[bandwidth (computing)|bandwidth]] management. [45] => * RTCDataChannel allows bidirectional communication of arbitrary data between peers. The data is transported using [[SCTP]] over [[DTLS]].{{Cite web |title=RFC 8831 - WebRTC Data Channels |url=https://datatracker.ietf.org/doc/html/rfc8831 |access-date=2022-03-10 |website=datatracker.ietf.org |language=en |archive-date=2022-03-10 |archive-url=https://web.archive.org/web/20220310133453/https://datatracker.ietf.org/doc/html/rfc8831 |url-status=live }} It uses the same API as [[WebSocket]]s and has very low [[Network latency|latency]]. [46] => [47] => The WebRTC API also includes a statistics function: [48] => * 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. [49] => [50] => 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]] for connections and are responsible for managing sessions, possibly relying on any of [[Session Initiation Protocol]], Extensible Messaging and Presence Protocol ([[XMPP]]), [[Message Queuing Telemetry Transport]], [[Matrix (protocol)|Matrix]], or another protocol. Signaling may depend on one or more servers.{{cite web |title=WebRTC Server: What is it exactly? |url=https://bloggeek.me/webrtc-server/ |date=13 April 2020 |author=Tsahi Levent-Levi |work=BlogGeek.me |access-date=10 June 2020 |archive-date=11 May 2020 |archive-url=https://web.archive.org/web/20200511114630/https://bloggeek.me/webrtc-server/ |url-status=live }}{{cite web |title=Matrix.org and WebRTC: An Interview with Matthew Hodgson |url=https://bloggeek.me/matrix-webrtc-interview/ |date=13 November 2014 |author=Tsahi Levent-Levi |work=BlogGeek.me |access-date=10 June 2020 |archive-date=25 February 2021 |archive-url=https://web.archive.org/web/20210225150612/https://bloggeek.me/matrix-webrtc-interview/ |url-status=live }} [51] => [52] => {{IETF RFC|7478}} requires implementations to provide [[A-law algorithm|PCMA]]/[[PCMU]] ({{IETF RFC|3551}}), Telephone Event as [[DTMF]] ({{IETF RFC|4733}}), and [[Opus (audio format)|Opus]] ({{IETF RFC|6716}}) [[audio codec]]s as minimum capabilities. The PeerConnection, data channel and media capture browser APIs are detailed in the W3C specification. [53] => [54] => W3C is developing ORTC (Object Real-Time Communications) for WebRTC. [55] => [56] => == Applications == [57] => [58] => WebRTC allows browsers to stream files directly to one another, reducing or entirely removing the need for server-side file hosting. [[WebTorrent]] uses a WebRTC transport to enable peer-to-peer file sharing using the [[BitTorrent]] protocol in the browser.{{Cite web |title=WebTorrent FAQ |url=https://webtorrent.io/faq |access-date=2022-03-10 |website=webtorrent.io |language=en |archive-date=2022-03-11 |archive-url=https://web.archive.org/web/20220311144830/https://webtorrent.io/faq |url-status=live }} Some [[File hosting service#One-click hosting|file-sharing]] 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.{{Cite web |date=2021-08-04 |title=How to Transfer Files Between Linux, Android, and iOS Using Snapdrop |url=https://www.makeuseof.com/transfer-files-between-linux-android-ios-snapdrop/ |access-date=2022-03-10 |website=MUO |language=en-US |archive-date=2022-01-29 |archive-url=https://web.archive.org/web/20220129164205/https://www.makeuseof.com/transfer-files-between-linux-android-ios-snapdrop/ |url-status=live }}{{Cite web |last=Pinola |first=Melanie |date=2014-04-07 |title=The easiest and quickest way to transfer files between devices on the same network |url=https://www.computerworld.com/article/2697955/the-easiest-and-quickest-way-to-transfer-files-between-devices-on-the-same-network.html |access-date=2022-03-10 |website=Computerworld |language=en |archive-date=2022-06-28 |archive-url=https://web.archive.org/web/20220628235829/https://www.computerworld.com/article/2697955/the-easiest-and-quickest-way-to-transfer-files-between-devices-on-the-same-network.html |url-status=live }}{{Cite web |date=2015-05-12 |title=FilePizza: share files without the middleman in your browser - gHacks Tech News |url=https://www.ghacks.net/2015/05/12/filepizza-share-files-without-the-middleman-in-your-browser/ |access-date=2022-03-10 |website=gHacks Technology News |language=en-US |archive-date=2022-01-23 |archive-url=https://web.archive.org/web/20220123091008/https://www.ghacks.net/2015/05/12/filepizza-share-files-without-the-middleman-in-your-browser/ |url-status=live }} A few [[Content delivery network|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.{{Cite web |last=Foley |first=Mary Jo |title=Microsoft acquires Peer5 to supplement Teams' live video streaming |url=https://www.zdnet.com/article/microsoft-acquires-peer5-to-supplement-teams-live-video-streaming/ |access-date=2022-03-10 |website=ZDNet |language=en |archive-date=2022-03-10 |archive-url=https://web.archive.org/web/20220310140207/https://www.zdnet.com/article/microsoft-acquires-peer5-to-supplement-teams-live-video-streaming/ |url-status=live }}{{Cite web |title=Overview - Peer5 P2P Docs |url=https://docs.peer5.com/overview/ |access-date=2022-03-10 |website=docs.peer5.com |archive-date=2022-03-16 |archive-url=https://web.archive.org/web/20220316194439/https://docs.peer5.com/overview/ |url-status=live }} [59] => [60] => Although initially developed for web browsers, WebRTC has applications for non-browser devices, including mobile platforms and [[Internet of things|IoT devices]]. Examples include browser-based [[VoIP]] 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.{{Cite web| url=https://www.siliconrepublic.com/comms/babelfish-softphone-cloud-goldfish| title=Catch the Babelfish: Irish telco devises a new kind of cloud phone| date=November 2017| access-date=2017-11-20| archive-date=2017-11-01| archive-url=https://web.archive.org/web/20171101172651/https://www.siliconrepublic.com/comms/babelfish-softphone-cloud-goldfish| url-status=live}} [61] => [62] => == Support == [63] => WebRTC is supported by the following browsers (incomplete list; oldest supported version specified): [64] => * Desktop PC [65] => **[[Microsoft Edge]] 12+ [66] => ** [[Google Chrome]] 28+ [67] => ** [[Firefox|Mozilla Firefox]] 22+ [68] => ** [[Safari (web browser)|Safari]] 11+ [69] => ** [[Opera (web browser)|Opera]] 18+ [70] => ** [[Vivaldi (web browser)|Vivaldi]] 1.9+ [71] => ** [[Brave (web browser)|Brave]] [72] => * [[Android (operating system)|Android]] [73] => ** Google Chrome 28+ (enabled by default since 29) [74] => ** Mozilla Firefox 24+ [75] => ** Opera Mobile 12+ [76] => * [[ChromeOS]] [77] => * [[Firefox OS]] [78] => * [[BlackBerry 10]] [79] => * [[iOS]] [80] => **MobileSafari/WebKit ([[iOS 11]]+) [81] => *[[Tizen]] 3.0 [82] => [83] => [[GStreamer]] directly provides a free WebRTC implementation.{{Cite web|url=https://gstreamer.freedesktop.org/releases/1.14/|title=GStreamer 1.14 release notes|website=gstreamer.freedesktop.org|access-date=2019-12-19|archive-date=2018-03-20|archive-url=https://web.archive.org/web/20180320084417/https://gstreamer.freedesktop.org/releases/1.14/|url-status=live}} since version 1.15 [84] => [85] => === Codec support across browsers === [86] => WebRTC establishes a standard set of codecs which all compliant browsers are required to implement. Some browsers may also support other codecs.{{Cite web|title=Codecs used by WebRTC - Web media technologies {{!}} MDN|url=https://developer.mozilla.org/en-US/docs/Web/Media/Formats/WebRTC_codecs|access-date=2021-07-29|website=developer.mozilla.org|language=en-US|archive-date=2021-07-27|archive-url=https://web.archive.org/web/20210727121111/https://developer.mozilla.org/en-US/docs/Web/Media/Formats/WebRTC_codecs|url-status=live}} [87] => {| class="wikitable" [88] => |+Video codec compatibility [89] => !Codec name [90] => !Profile(s) [91] => !Browser compatibility [92] => |- [93] => ![[H.264/MPEG-4 AVC products and implementations|H.264]] [94] => |Constrained Baseline (CB) [95] => |Chrome (52+), Edge, Firefox[1], Safari [96] => |- [97] => ![[VP8]] [98] => | - [99] => |Chrome, Edge, Firefox, Safari (12.1+){{Cite web|last=Fablet|first=Youenn|date=2019-03-12|title=On the Road to WebRTC 1.0, Including VP8|url=https://webkit.org/blog/8672/on-the-road-to-webrtc-1-0-including-vp8/|access-date=2021-07-29|website=WebKit|archive-date=2021-07-29|archive-url=https://web.archive.org/web/20210729000922/https://webkit.org/blog/8672/on-the-road-to-webrtc-1-0-including-vp8/|url-status=live}} [100] => |- [101] => ![[VP9]] [102] => | - [103] => |Chrome (48+), Firefox [104] => |} [105] => {| class="wikitable" [106] => |+Audio codec compatibility [107] => !Codec name [108] => !Browser compatibility [109] => |- [110] => ![[Opus (audio format)|Opus]] [111] => |Chrome, Edge, Firefox, Safari [112] => |- [113] => ![[G.711|G.711 PCM (A-law)]] [114] => |Chrome, Firefox, Safari [115] => |- [116] => ![[G.711|G.711 PCM (µ-law)]] [117] => |Chrome, Firefox, Safari [118] => |- [119] => ![[G.722]] [120] => |Chrome, Firefox, Safari [121] => |- [122] => ![[Internet Low Bitrate Codec|iLBC]] [123] => |Chrome, Safari [124] => |- [125] => !iSAC [126] => |Chrome, Safari [127] => |} [128] => [129] => == Vulnerability== [130] => In January 2017, [[TorrentFreak]] reported a serious security flaw in browsers supporting WebRTC, that compromised the security of [[Virtual private network|VPN]] tunnels by exposing a user's true [[IP address]]. The IP address read requests are not visible in the browser's developer console, and they are not blocked by most [[ad blocking]], [[Internet privacy|privacy]] and [[Internet security|security]] add-ons, enabling online tracking despite precautions. [131] => [132] => 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.{{Cite web |title=WebRTC leaks real IP addresses (even with VPN) |last=Timmerman |first=Crystal |website=IPVanish |date=28 February 2022 |url=https://www.ipvanish.com/blog/webrtc/ |access-date=12 August 2022 |archive-date=13 August 2022 |archive-url=https://web.archive.org/web/20220813032544/https://www.ipvanish.com/blog/webrtc/ |url-status=live }} WebRTC can be disabled, if not required, in most browsers. The [[uBlock Origin]] 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{{cite web |title=Prevent WebRTC from leaking local IP address |author=Raymond Hill |work=uBlock Origin documentation. |url=https://github.com/gorhill/uBlock/wiki/Prevent-WebRTC-from-leaking-local-IP-address |date=17 Sep 2021 |access-date=18 Dec 2021 |archive-date=21 February 2016 |archive-url=https://web.archive.org/web/20160221222622/https://github.com/gorhill/uBlock/wiki/Prevent-WebRTC-from-leaking-local-IP-address |url-status=live }}). [133] => [134] => == References == [135] => {{Reflist|30em|refs= [136] => [http://blogs.trilogy-lte.com/post/77427158750/how-webrtc-is-revolutionizing-telephony How WebRTC Is Revolutionizing Telephony] {{Webarchive|url=https://web.archive.org/web/20140407071345/http://blogs.trilogy-lte.com/post/77427158750/how-webrtc-is-revolutionizing-telephony |date=2014-04-07 }}. Blogs.trilogy-lte.com (2014-02-21). Retrieved on 2014-04-11. [137] => [138] => {{cite web |url=http://lists.w3.org/Archives/Public/public-webrtc/2011May/0022.html |title=Google release of WebRTC source code |author=Harald Alvestrand |date=2011-05-31 |publisher=public-webrtc@w3.org |access-date=2012-09-12 |archive-date=2013-02-27 |archive-url=https://web.archive.org/web/20130227012310/http://lists.w3.org/Archives/Public/public-webrtc/2011May/0022.html |url-status=live }} [139] => [140] => {{Cite web |url=http://datatracker.ietf.org/wg/rtcweb/charter/ |title=Charter of the Real-Time Communication in WEB-browsers (rtcweb) working group |access-date=2013-11-11 |archive-date=2013-11-11 |archive-url=https://web.archive.org/web/20131111040415/http://datatracker.ietf.org/wg/rtcweb/charter/ |url-status=live }} [141] => [142] => {{cite web |url=http://www.w3.org/TR/webrtc/ |title=WebRTC 1.0: Real-time Communication Between Browsers |publisher=W3.org |access-date=2012-09-12 |archive-date=2012-09-05 |archive-url=https://web.archive.org/web/20120905093824/http://www.w3.org/TR/webrtc/ |url-status=live }} [143] => [144] => {{cite web |url=http://www.whatwg.org/specs/web-apps/current-work/multipage/introduction.html#history-1 |title=Introduction — HTML Standard |publisher=Whatwg.org |access-date=2012-09-12 |archive-date=2014-08-16 |archive-url=https://web.archive.org/web/20140816032701/http://www.whatwg.org/specs/web-apps/current-work/multipage/introduction.html#history-1 |url-status=live }} [145] => [146] => {{cite web|url=http://www.ericsson.com/research-blog/context-aware-communication/beyond-html5-peer-peer-conversational-video/ |title=Beyond HTML5: Peer-to-Peer Conversational Video |publisher=Labs.ericsson.com|date=25 January 2011|access-date=21 March 2021|website = Ericsson Research blog| archive-url=https://web.archive.org/web/20170225045214/http://www.ericsson.com/research-blog/context-aware-communication/beyond-html5-peer-peer-conversational-video/ |archive-date=25 February 2017}} [147] => [148] => {{cite web |url=http://tools.ietf.org/wg/rtcweb/ |title=Rtcweb Status Pages |publisher=Tools.ietf.org |access-date=2012-09-12 |archive-date=2012-09-05 |archive-url=https://web.archive.org/web/20120905214006/http://tools.ietf.org/wg/rtcweb/ |url-status=live }} [149] => [150] => {{cite web |url=http://tools.ietf.org/html/draft-jesup-rtcweb-data-protocol-00 |title=draft-jesup-rtcweb-data-protocol-00 - WebRTC Data Channel Protocol |publisher=Tools.ietf.org |access-date=2012-09-12 |archive-date=2012-10-31 |archive-url=https://web.archive.org/web/20121031070900/http://tools.ietf.org/html/draft-jesup-rtcweb-data-protocol-00 |url-status=live }} [151] => [152] => {{cite web |url=https://www.w3.org/TR/mediacapture-streams/#dom-mediadevices-getusermedia |title=Media Capture and Streams: getUserMedia |publisher=W3C |date=2013-09-03 |access-date=2014-01-15 |archive-date=2014-01-02 |archive-url=https://web.archive.org/web/20140102135721/http://www.w3.org/TR/mediacapture-streams/#dom-mediadevices-getusermedia |url-status=live }} [153] => [154] => {{cite web |url=http://www.w3.org/TR/webrtc/#rtcpeerconnection-interface |title=WebRTC: RTCPeerConnection Interface |publisher=W3C |date=2013-09-10 |access-date=2014-01-15 |archive-date=2012-09-05 |archive-url=https://web.archive.org/web/20120905093824/http://www.w3.org/TR/webrtc/#rtcpeerconnection-interface |url-status=live }} [155] => [156] => {{cite web |url=http://www.w3.org/TR/webrtc/#rtcdatachannel |title=WebRTC: RTCDataChannel |publisher=W3C |date=2013-09-10 |access-date=2014-01-15 |archive-date=2012-09-05 |archive-url=https://web.archive.org/web/20120905093824/http://www.w3.org/TR/webrtc/#rtcdatachannel |url-status=live }} [157] => [158] => {{cite web |url=https://w3c.github.io/webrtc-stats/webrtc-stats.html |title=Identifiers for WebRTC's Statistics API |publisher=W3C |date=2014-09-29 |access-date=2017-12-02 |archive-date=2017-07-15 |archive-url=https://web.archive.org/web/20170715052823/https://w3c.github.io/webrtc-stats/webrtc-stats.html |url-status=live }} [159] => [160] => [161] => [162] => {{cite web|url=http://www.w3.org/community/ortc/|title=W3C ORTC (Object Real-time Communications) Community Group|access-date=2014-10-29|archive-date=2014-10-29|archive-url=https://web.archive.org/web/20141029141846/http://www.w3.org/community/ortc/|url-status=live}} [163] => [164] => {{cite web | url=https://blogs.windows.com/msedgedev/2015/09/18/ortc-api-is-now-available-in-microsoft-edge/ | title=ORTC API is now available in Microsoft Edge | publisher=Microsoft | date=2015-09-18 | access-date=2015-09-20 | archive-date=2015-10-09 | archive-url=https://web.archive.org/web/20151009090318/http://blogs.windows.com/msedgedev/2015/09/18/ortc-api-is-now-available-in-microsoft-edge/ | url-status=live }} [165] => [166] => [https://www.mozilla.org/en-US/firefox/22.0/releasenotes/ Firefox Notes - Desktop] {{Webarchive|url=https://web.archive.org/web/20140821215925/https://www.mozilla.org/en-US/firefox/22.0/releasenotes/ |date=2014-08-21 }}. Mozilla.org (2013-06-25). Retrieved on 2014-04-11. [167] => [168] => [http://blogs.opera.com/news/2013/11/opera-18/ Opera News] {{Webarchive|url=https://web.archive.org/web/20150907003321/http://blogs.opera.com/news/2013/11/opera-18/ |date=2015-09-07 }}. blogs.opera.com (2013-11-19). Retrieved on 2015-09-17. [169] => [170] => [https://www.mozilla.org/en-US/mobile/24.0/releasenotes/ Firefox Notes - Desktop] {{Webarchive|url=https://web.archive.org/web/20210401044319/https://www.mozilla.org/en-US/mobile/24.0/releasenotes/ |date=2021-04-01 }}. Mozilla.org (2013-09-17). Retrieved on 2014-08-04. [171] => [172] => {{cite web | url=https://developer.apple.com/library/content/releasenotes/General/WhatsNewInSafari/Safari_11_0/Safari_11_0.html | title=Safari 11.0 | publisher=Apple Inc. | access-date=6 June 2017 | archive-date=14 November 2017 | archive-url=https://web.archive.org/web/20171114193322/https://developer.apple.com/library/content/releasenotes/General/WhatsNewInSafari/Safari_11_0/Safari_11_0.html | url-status=live }} [173] => [174] => [https://torrentfreak.com/huge-security-flaw-leaks-vpn-users-real-ip-addresses-150130/ Huge Security Flaw Leaks VPN Users’ Real IP-addresses] {{Webarchive|url=https://web.archive.org/web/20210108120117/https://torrentfreak.com/huge-security-flaw-leaks-vpn-users-real-ip-addresses-150130/ |date=2021-01-08 }} TorrentFreak.com (2015-01-30). Retrieved on 2015-02-21. [175] => [176] => [https://github.com/diafygi/webrtc-ips STUN IP Address requests for WebRTC] {{Webarchive|url=https://web.archive.org/web/20150218134636/https://github.com/diafygi/webrtc-ips |date=2015-02-18 }} Retrieved on 2015-02-21. [177] => }} [178] => [179] => == Further reading == [180] => * {{cite IETF |title=Additional WebRTC Audio Codecs for Interoperability |rfc=7875 |editor1-last=Proust |editor1-first=S. |date=May 2016 |publisher=[[Internet Engineering Task Force|IETF]] |access-date=2016-10-12}} [181] => * {{cite IETF |title=WebRTC Audio Codec and Processing Requirements |rfc=7874 |last1=Valin |first1=J. M. |last2=Bran |first2=C. |date=May 2016 |publisher=[[Internet Engineering Task Force|IETF]] |access-date=2016-10-12}} [182] => * {{cite IETF |title=WebRTC Video Processing and Codec Requirements |rfc=7742 |last1=Roach |first1=A. B. |date=March 2016 |publisher=[[Internet Engineering Task Force|IETF]] |access-date=2016-10-12}} [183] => * {{cite IETF |title=Session Traversal Utilities for NAT (STUN) Usage for Consent Freshness |rfc=7675 |last1=Perumal |first1=M. |last2=Wing |first2=D. |last3=Ravindranath |first3=R. |last4=Reddy |first4=T. |last5=Thomson |first5=M. |date=October 2015 |publisher=[[Internet Engineering Task Force|IETF]] |access-date=2016-10-12}} [184] => * {{cite IETF |title=Web Real-Time Communication Use Cases and Requirements |rfc=7478 |last1=Holmberg |first1=C. |last2=Hakansson |first2=S. |last3=Eriksson |first3=G. |date=March 2015 |publisher=[[Internet Engineering Task Force|IETF]] |access-date=2016-10-12}} [185] => [186] => == External links == [187] => * {{official website}} [188] => * [https://www.w3.org/2011/04/webrtc/ W3C Web Real-Time Communications Working Group] [189] => * [https://tools.ietf.org/wg/rtcweb/ IETF Real-Time Communication in WEB-browsers (rtcweb) Working Group] [190] => * [https://github.com/webrtc/apprtc Video chat demo app based on WebRTC] [191] => * [https://libdatachannel.org libdatachannel, open-source WebRTC network library] [192] => [193] => {{Web browsers|fsp}} [194] => {{Web interfaces}} [195] => [196] => [[Category:WebRTC| ]] [197] => [[Category:Peer-to-peer]] [198] => [[Category:Software using the BSD license]] [199] => [[Category:Web development]] [200] => [[Category:Web standards]] [] => )
good wiki

WebRTC

WebRTC (Web Real-Time Communication) is a set of communication protocols and APIs (Application Programming Interfaces) that enable real-time audio, video, and data transfer between web browsers and mobile applications. It allows developers to create browser-based applications with integrated communication capabilities, eliminating the need for separate plugins or software installations.

More about us

About

It allows developers to create browser-based applications with integrated communication capabilities, eliminating the need for separate plugins or software installations. WebRTC was developed by Google and released as an open-source project in 2011. It is supported by major web browsers such as Google Chrome, Mozilla Firefox, and Microsoft Edge, making it widely accessible to users worldwide. The technology allows for peer-to-peer communication, enabling direct interactions between users without the need for centralized servers. The key components of WebRTC include the MediaStream API, which enables access to camera and microphone feeds, the RTCPeerConnection API, which manages the connections between devices, and the RTCDataChannel API, which facilitates the transmission of non-streaming data. These APIs provide developers with the tools to build various applications, ranging from video conferencing and file sharing to online gaming and real-time collaborations. WebRTC offers several benefits, including low latency, high quality, and secure communication over the internet. It enables real-time interactions in applications like video calls, voice chats, and screen sharing. The protocol also supports encryption, identity verification, and firewall traversal techniques to ensure secure and reliable communication. The adoption of WebRTC has grown rapidly, with its usage expanding beyond browsers to mobile applications and Internet of Things (IoT) devices. Businesses and organizations have utilized WebRTC to create innovative solutions in sectors such as telecommunication, healthcare, education, and customer support. However, there are also challenges associated with WebRTC, including compatibility issues between different web browsers, limited support for certain features on mobile devices, and potential security vulnerabilities. Despite these challenges, WebRTC continues to evolve, with ongoing development efforts to address issues and improve the technology. In conclusion, WebRTC is a powerful and versatile technology that enables real-time communication between web browsers and mobile applications. Its open-source nature and cross-platform compatibility have made it a popular choice for developers, offering a wide range of possibilities for enhancing user experiences and enabling innovative applications.

Expert Team

Vivamus eget neque lacus. Pellentesque egauris ex.

Award winning agency

Lorem ipsum, dolor sit amet consectetur elitorceat .

10 Year Exp.

Pellen tesque eget, mauris lorem iupsum neque lacus.