THE 2010S

WebRTC

WebRTC is a technology born from the convergence of web browsers and real-time communication. Its roots run deep through several decades of Internet protocol evolution.

Back to 1996. The publication of the Real-time Transport Protocol (RTP) in RFC 1889 laid the foundations for what would become WebRTC. Ron Frederick, one of the protocol’s authors, had begun experimenting with the Sun VideoPix video capture card as early as October 1992. His goal was to create an IP multicast-based network videoconferencing tool. The project was called “nv” (Network Video tool) and was inspired by “vat”, an audio conferencing tool developed by LBL that used a lightweight session protocol to manage participants.

Video compression represented a considerable technical challenge. Frederick wanted to achieve an acceptable stream within bandwidth limited to 128 kbps, the capacity of a standard ISDN line. This required a compression factor of approximately 20 for the targeted image size and frame rate. Frederick succeeded in developing an innovative technique that became the subject of a patent (US5485212A) on software video compression for teleconferencing.

The first version of nv was released in November 1992. It broadcast certain IETF sessions worldwide. The impact was immediate: approximately 200 subnets in 15 countries could receive this broadcast, and between 50 and 100 people used nv during this period. The success was confirmed at various international workshops, notably the Australian NetWorkshop and the MultiG workshop on distributed virtual realities in Sweden.

Frederick released the source code publicly in February 1993. He then introduced a new wavelet-based compression system and added color video support. The network protocol used by nv and other Internet conferencing tools served as the basis for the RTP protocol that the IETF standardized. RTP became an essential standard, first published in RFCs 1889-1890, then revised in RFCs 3550-3551.

The evolution of nv continued with ports to different hardware platforms and video capture devices. NASA chose this tool to broadcast live coverage of space shuttle missions. In 1994, Frederick enhanced nv with compression algorithms developed by others, including hardware systems such as the CellB format from the SunVideo capture card.

This early history of real-time Internet communications foreshadows WebRTC. The challenges encountered by pioneers like Frederick established the foundations of modern protocols. IP multicast enabled efficient data distribution to multiple recipients, a different approach from the unicast architecture later adopted by WebRTC.

The shift from multicast to unicast can be explained by practical reasons. The complexity of implementing multicast in existing networks led to favoring simpler-to-deploy solutions. This evolution required the introduction of new architectures, such as SFUs (Selective Forwarding Units), to manage media stream distribution among participants.

WebRTC’s history took a turn with the arrival of Serge Lachapelle. His passion for communication software dates back to the 1990s, when he developed a project to join video calls directly from a browser. This experience led him to co-found Marratech, a company specializing in group videoconferencing. Google acquired Marratech in 2007 and integrated valuable expertise into its team.

The development of Gmail’s voice and video messaging represented a significant intermediate step. This achievement involved the complex integration of different components: audio under GIPs license, video from Vidyo, and networking via libjingle. Justin Uberti took on the technical challenge of making these systems with disparate APIs work together, which required extensive knowledge in networking, cryptography, and media.

The launch of the Chrome project at Google opened a new chapter. The ambition to enhance browser capabilities, combined with a desire to abandon the NPAPI API for security reasons, created a favorable context for WebRTC’s emergence. Chrome’s sandbox architecture, which isolates potentially dangerous operations in separate processes, influenced WebRTC’s secure design.

WebRTC’s birth addressed three main objectives. First, simplifying the development of real-time communication experiences. Second, promoting open and unhindered human communication. Finally, ensuring security by default. To realize this vision, Google acquired and open-sourced several key technologies, notably those from On2 for video and Global IP Solutions for real-time communications.

WebRTC’s standardization represented an unprecedented effort. It required collaboration between two standardization bodies (IETF and W3C) and hundreds of international experts. Harald Alvestrand, with his IETF experience, initiated the process. An informal meeting in Maastricht in 2010 brought together developers from Google, Cisco, Ericsson, Skype, Mozilla, and Linden Labs. The specification’s foundations were laid.

WebRTC built upon the legacy of existing technologies. It avoided reinventing already proven solutions. The decision not to standardize signaling, handled by SIP and other protocols, illustrates this pragmatic approach. This strategy concentrated efforts on innovation rather than redefining established concepts.

WebRTC’s use in cloud gaming demonstrates its versatility. Advances in artificial intelligence improve communication quality, notably through background noise suppression. This expansion of use cases testifies to the robustness and flexibility of WebRTC’s architecture. International collaboration and commitment to open standards have created a platform that continues to innovate and adapt to new use cases.