OpenAI, LLMs, WebRTC, voice bots and Programmable Video
Learn about WebRTC LLM and its applications. Discover how this technology can improve real-time communication using conversational AI.
Read MoreUse cases of WebRTC, how it works and benefits of the technology explained in a nutshell.
WebRTC is an HTML5 specification that you can use to add real time media communications directly between browser and devices.
Simply put:
WebRTC enables for voices and video communication to work inside web pages.
And you can do that without the need of any prerequisite of plugins to be installed in the browser.
It was announced in 2011 and since then it has steadily grown in popularity and adoption.
By 2016 there has been an estimate from 2 billion browsers installed that are enabled to work with WebRTC. From traffic perspective, it has seen an estimate of over a billion minutes and 500 terabytes of data transmitted every week from browser communications alone.
WebRTC has increased in popularity and use throughout the COVID-19 pandemic. Quarantines and work from home made remote communications a necessity, indoctrinating billions of users about the use of video calling. The end result has been a surge in the use of WebRTC:
In 2021 WebRTC got officially standardized, removing all doubts about its future prospects. Today, WebRTC is widely popular for video calling but it is capable of so much more.
A few things worth mentioning:
Covered in this video:
(this article was updated in December 2023)
WebRTC stands for Web Real-Time Communications.
Web is simple - it means that what we are doing works "over the web" and inside a browser. The browser part means that all modern browsers support WebRTC. If you run this inside a native application I will still be considering it as WebRTC. To me, it is the thought that counts, or more accurately, the implementation of WebRTC (or parts of it) are quite popular as a starting point in native applications. This is due to the quality of the WebRTC media engine (as implemented by Google) AND due to the fact that it makes it easier to communicate across native applications and web applications this way.
RTC, or Real-Time Communications means that whatever WebRTC does - it does in real time. Its focus is on sending the data it has as fast as possible - making sure to use low latency techniques to get things done. Whenever possible.
If we're moving away a bit from the word-meaning of WebRTC, then this is the definition I usually use to define WebRTC:
Lets break it down a bit:
It is important to understand from where we are coming from: If you wanted to build anything that allowed for voice or video calling a few years ago, you were most probably used C/C++ for that. This means long development cycles and higher development costs.
WebRTC changes all that: it takes the need for C/C++ and replace it with a Javascript API.
It comes with a Javascript API layer on the top that you can use inside the browser. This makes it far easier to develop and integrate real time communications anywhere. Internally, WebRTC is still mostly implemented using C/C++, but most developers that use WebRTC won’t need to dig deep into these layers in order to develop their applications.
WebRTC today is available in all modern browsers. Google Chrome, Mozilla Firefox, Apple Safari and Microsoft Edge support it.
You can also "take" it and integrate it into an application or an embedded device without the need of browser at all.
What WebRTC does is allow the access to devices. You can access the microphone of your device, the camera that you have on your phone or laptop - or it can be a screen itself. You can capture the display of the user and then have that screen shared or recorded remotely.
Whatever it does is in real time, enabling live interactions.
WebRTC isn’t limited to voice and video. It allows sending any type of arbitrary data.
You can group WebRTC applications into 4 broad categories:
The use cases where WebRTC comes in handy seem endless. Every so often, I hear of a new way that WebRTC is being used to solve yet another problem.
Here are some of the main use cases you'll find for WebRTC out there:
So what other choice do you really have besides using it?
The idea around WebRTC and what you can use it for are limitless. So go on - start building whatever you need!
There are common questions people ask about WebRTC quite often. Here are my answers to them.
WebRTC is free, but sometimes paid.
Let me explain...
WebRTC is an open protocol and has a free open source implementation. This free implementation is embedded in all modern browsers, making it free to use as a developer and a user.
The thing is, if you want to build an application with it, you will need to pay for *something* at *some point*. Meaningful applications in WebRTC require server infrastructure. This infrastructure cost to put up both in compute resources and in bandwidth resources.
You can decide to build it all from scratch on your own, or you can use third party CPaaS (communication platform as a service) vendors as a shortcut to your application development. Using a third party vendor means paying to it. Building from scratch means investing time and resources to develop and then to maintain the service (remember the infrastructure costs)?
So yes. WebRTC is free. But it costs money. I hope it makes more sense now 😉
Yes it is. Or at least it should be.
WebRTC is safe. It got a solid security architecture. I've written a longform article about this if you want to dive deeper: Everything you need to know about WebRTC security 🔒
The TL;DR version is this one -
WebRTC is a modern, secure communication protocol and implementation. It was designed that way from the get go, at a time when browsers started shifting to HTTPS-first/only web. As such, it doesn't allow for example to send media in the clear, and always encrypts the data.
Remember though that applications written using WebRTC need to take care of security and safety themselves - an application is only as secure as its weakest link, and that link isn't going to be their WebRTC implementation.
Nope.
WebRTC is embedded in all modern browsers today. Web developers can use the WebRTC Javascript APIs to build their applications for browser users.
Outside the browser, application developers can just take the free open source implementation of WebRTC (maintained by Google and used by all modern browsers), and compile it into their applications. Many communication applications do just that, which means that at the end of the day, WebRTC can be used everywhere and not only inside browsers.
Learn about WebRTC LLM and its applications. Discover how this technology can improve real-time communication using conversational AI.
Read MoreGet your copy of my ebook on the top 7 video quality metrics and KPIs in WebRTC (below).
Read More