WebRTC has come a long way since being developed and open-sourced by Google back in 2011. The timing was right as it is filling the gap created by the clumsiness and security issues associated with Flash. WebRTC supports HTML 5 video/audio, gaming applications and real-time web apps which were all a struggle with Flash. WebRTC is now the technology behind many of the leading click-to-call applications including Google Hangouts and Facebook Messenger. Today, it’s revolutionizing communications via one-click chat, voice call, and WebRTC video streaming.
What is WebRTC?
WebRTC, or Web Real-Time Communications, is an open-source project that provides web browsers and mobile applications with real-time communication (RTC) via simple application programming interfaces (APIs). It allows audio and video communication to work inside web pages by allowing direct peer-to-peer communication, eliminating the need to install plugins or download native apps.1 WebRTC facilitates real-time communication via peer-to-peer (P2P) communication, provides an API that can access a device’s camera and microphone, and establishes P2P connections so that media can be shared locally without going via a web server, thereby reducing latency.
WebRTC is primarily a unicast streaming protocol, similar to RTMP, and like RTMP, it has a feedback channel to adapt the video/audio stream to the network that’s carrying it. In practice, this means that that quality of the connection can be taken into account when selecting the most appropriate stream quality, i.e. it supports adjustable bitrate streaming.
Browser Support for WebRTC
Initially, WebRTC and WebRTC video streaming were only compatible with a limited set of browsers; namely Chrome and Firefox, but over time support has spread to a much broader set of browsers and operating systems. The new Microsoft browser Edge was built using Chromium (a browser in itself and the open-source code that’s the foundation for Google Chrome) and is compatible with WebRTC.
Internet Explorer is not compatible and is not likely to be as Microsoft is focused on its new Edge browser. Not only are there more browsers supporting WebRTC, but applications such as Microsoft Stream, also support WebRTC. Also, the Pion WebRTC project is a fully developed WebRTC implementation in Golang, allowing developers to make use of WebRTC in any software environment outside a web browser. This enables companies to extend the support for WebRTC even within native mobile applications and older browser versions.
WebRTC and Peer-to-Peer
WebRTC supports P2P communication which is an extremely efficient way to distribute video. Typically, when video is distributed over the internet, a stream is sent to a Content Delivery Network (CDN) and then unicast streams are sent from the CDN to those requesting it. This can get expensive when lots of unicast streams are being sent from the CDN to individual users.
CDNs try to mitigate some of this inefficiency by distributing streams to their localized streaming servers and then serving these streams to requestors from the closest electronic server. In contrast, with a commercial WebRTC deployment, streams are seeded to individual viewers and then those streams are shared with viewers who are electronically close. The great thing about WebRTC, and P2P generally, is that the more viewers there are, the more efficient the distribution becomes. See the diagram below for a simplistic representation.
WebRTC and Enterprise Streaming
WebRTC video distribution can be an extremely powerful solution in enterprise environments. WAN bandwidth is often a scarce and expensive resource. Video broadcasts can swamp even the most robust corporate networks. A CEO townhall video broadcast sends most IT staff scrambling for cover, as they know employees sitting at their desks may generate hundreds of unicast streams and will crash their network. There are options to avoid this scenario. They can gather everyone in a central location/s, they can deploy additional hardware and use multicast technology, they can install software on users’ desktops to force P2P distribution, or they could simply use a commercial WebRTC solution.
With a commercial P2P solution, such as the one developed by StriveCast, there’s no software to install, and one stream is delivered to each location/subnet within the enterprise and the video is then shared within the LAN, removing the heavy traffic from the WAN and the network access points by up to 95%. By being pre-integrated in most browsers and with extra add-on-software for older systems being available, StriveCast’s unique video delivery solution is a perfect fit for companies looking for reliable and stable company webcasts.
StriveCast and WebRTC
StriveCast is building the next generation of video delivery networks by providing industry-leading technology for controllable and secure WebRTC live streaming. In this way, we are shaping a future for those looking to stream video over the internet. We have built solutions for OTT Broadcasting of video and also tuned our WebRTC solution for enterprise streaming.
For more information on live video streaming in enterprise networks, download our Case Study: