WebRTC
WebRTC (Web Real-Time Communication) is an API definition drafted by the World Wide Web Consortium (W3C) that supports browser-to-browser applications for voice calling, video chat, and P2P file sharing without plugins.[1]
History
In May 2011, Google released an open source project for browser-based real-time communication known as WebRTC.[2] This has been followed by ongoing work to standardise the relevant protocols in the IETF[3] and browser APIs in the W3C.[4]
The W3C draft of WebRTC[5] is a work in progress with advanced implementations in the Chrome and Firefox browsers. The API is based on preliminary work done in the WHATWG.[6] It was referred to as the ConnectionPeer API, and a pre-standards concept implementation was created at Ericsson Labs.[7] The Web Real-Time Communications Working Group expects this specification to evolve significantly based on:
- Outcomes of ongoing exchanges in the companion RTCWEB group at IETF[8] to define the set of protocols that, together with this document, define real-time communications in Web browsers
- Privacy issues that arise when exposing local capabilities and local streams
- Technical discussions within the group, on implementing data channels in particular[9]
- Experience gained through early experimentation
- Feedback from other groups and individuals
Design
Major components of WebRTC include:
getUserMedia
, which allows a web browser to access the camera and microphone and to capture media[10]RTCPeerConnection
, which sets up audio/video calls[11]RTCDataChannels
, which allow browsers to share data via peer-to-peer[12]
The WebRTC API also includes a statistics function:
getStats
, which allows the web application to retrieve a set of statistics about WebRTC sessions. This statistics data are being described in a separate W3C document.[13]
As of March 2012, the IETF WebRTC Codec and Media Processing Requirements draft[14] requires implementations to provide PCMA/PCMU (RFC 3551), Telephone Event as DTMF (RFC 4733), and Opus (RFC 6716), along with a number of video codec minimum capabilities. The Peerconnection, Data channels and a media capture browser APIs are detailed in the W3C.
Support
WebRTC is supported in the following browsers.
- Desktop PC
- Google Chrome 23
- Mozilla Firefox 22[15]
- Opera 18[16]
- Android
- Google Chrome 28 (Enabled by default since 29)
- Mozilla Firefox 24[17]
- Opera Mobile 12
- Google Chrome OS
- Firefox OS
As of August 2014[update], Internet Explorer and Safari still lack the native support of WebRTC.[18] Several plugins are available to add the support of WebRTC to these browsers.[19][20]
See also
- CU-RTC-WEB
- Jingle (protocol)
- Datagram Transport Layer Security (DTLS), Secure Real-time Transport Protocol (SRTP) - DTLS-SRTP is an essential protocol for WebRTC key management
References
- ^ How WebRTC Is Revolutionizing Telephony. Blogs.trilogy-lte.com (2014-02-21). Retrieved on 2014-04-11.
- ^ "Google release of WebRTC source code from Harald Alvestrand on 2011-05-31". [email protected]. Retrieved 2012-09-12.
- ^ Charter of the Real-Time Communication in WEB-browsers (rtcweb) working group
- ^ "WebRTC 1.0: Real-time Communication Between Browsers". W3.org. Retrieved 2012-09-12.
- ^ "WebRTC 1.0: Real-time Communication Between Browsers". Dev.w3.org. Retrieved 2012-09-12.
- ^ "Introduction — HTML Standard". Whatwg.org. Retrieved 2012-09-12.
- ^ "Beyond HTML5: Peer-to-Peer Conversational Video | Ericsson Labs". Labs.ericsson.com. Retrieved 2012-09-12.
- ^ "Rtcweb Status Pages". Tools.ietf.org. Retrieved 2012-09-12.
- ^ "draft-jesup-rtcweb-data-protocol-00 - WebRTC Data Channel Protocol". Tools.ietf.org. Retrieved 2012-09-12.
- ^ "Media Capture and Streams: getUserMedia". W3C. 2013-09-03. Retrieved 2014-01-15.
- ^ "WebRTC: RTCPeerConnection Interface". W3C. 2013-09-10. Retrieved 2014-01-15.
- ^ "WebRTC: RTCDataChannel". W3C. 2013-09-10. Retrieved 2014-01-15.
- ^ "Identifiers for WebRTC's Statistics API". W3C. 2014-09-29.
- ^ "draft-cbran-rtcweb-codec-02 - WebRTC Codec and Media Processing Requirements". Tools.ietf.org. 2012-03-12. Retrieved 2012-09-12.
- ^ Firefox Notes - Desktop. Mozilla.org (2013-06-25). Retrieved on 2014-04-11.
- ^ Dev.Opera. My.opera.com. Retrieved on 2014-04-11.
- ^ Firefox Notes - Desktop. Mozilla.org (2013-09-17). Retrieved on 2014-08-04.
- ^ "Internet Explorer Web Platform Status and Roadmap". Microsoft. Retrieved 7 September 2014.
- ^ Priologic Releases First Open Source WebRTC Plugin for Internet Explorer
- ^ http://www.prweb.com/releases/2014/05/prweb11844308.htm
External links
- Official website
- W3C Web Real-Time Communications Working Group
- IETF Real-Time Communication in WEB-browsers (rtcweb) Working Group
- Google's open source WebRTC software project
- Contact centers could benefit from WebRTC
- WebRTC Book
- Getting Started With WebRTC
- WebRTC and Web Audio resources
- Real-time communication with WebRTC: Google I/O 2013
- WebRTC Interest and History
- WebRTC News and Articles