WebRTC, or Web Real-Time Communication, is a unicast streaming protocol, similar to RTMP, that has a feedback channel to adapt the video/audio stream to the network that’s carrying it. In practice, this means that the quality of the connection can be taken into account when selecting the most appropriate stream quality, i.e., it supports an adjustable bit rate streaming. It 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.
WebRTC supports P2P communication, which is an extremely efficient way to distribute video. Typically, when a 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 them to requesters 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 electronically close viewers. The great thing about WebRTC, and P2P generally, is that the more viewers there are, the more efficient the distribution becomes.