WebRTC
WebRTC (Web Real-Time Communication) is an API definition being drafted by the World Wide Web Consortium (W3C) to enable browser-to-browser applications for voice calling, video chat, and P2P file sharing without plugins.
History
A project known as WebRTC, for browser-based real-time communication, was open sourced by Google in May 2011.[1] This has been followed by ongoing work to standardise the relevant protocols in the IETF[2] and browser APIs in the W3C.[3]
The W3C draft of WebRTC[4] 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.[5] It was referred as the ConnectionPeer API, and a pre-standards concept implementation was created at Ericsson Labs.[6] The Web Real-Time Communications Working Group expects this specification to evolve significantly based on:
- The outcomes of ongoing exchanges in the companion RTCWEB group at IETF[7] to define the set of protocols that, together with this document, will enable 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.[8]
- Experience gained through early experimentation.
- Feedback received 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[9]RTCPeerConnection
, which sets up audio/video calls[10]RTCDataChannels
, which allow browsers to share data via peer-to-peer[11]
As of March 2012 the IETF WebRTC Codec and Media Processing Requirements draft[12] 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[13]
- Opera 18[14]
- Android
- Google Chrome 28 (Enabled by default since 29)
- Mozilla Firefox 24[15]
- Opera Mobile 12
- Google Chrome OS
See also
References
- ^ "Google release of WebRTC source code from Harald Alvestrand on 2011-05-31". public-webrtc@w3.org. 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.
- ^ "draft-cbran-rtcweb-codec-02 - WebRTC Codec and Media Processing Requirements". Tools.ietf.org. 2012-03-12. Retrieved 2012-09-12.
- ^ https://www.mozilla.org/en-US/firefox/22.0/releasenotes/
- ^ http://my.opera.com/ODIN/blog/opera-desktop-18-released
- ^ https://bugzilla.mozilla.org/show_bug.cgi?id=750010
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