There has been a lot of talk about the synergies of pairing Internet of Things with WebRTC, it is largely about rich machine-to-machine connections. Due to its nature, WebRTC has features that can really boost M2M connections: real-time and high frequency interaction, strong encryption, and direct p2p connections.
Real-time and high frequency connections are at the core of WebRTC. Frequency of the real-time connection varies depending on the needs of the application, especally the data generation speed and volume. A smart refrigerator gives timely information by showing its status once a minute but a good quality video surveillance stream requires at least 24 frames per second. Furthermore, some high speed industrial applications might require connections with even higher frequency to track data at millisecond timescales.
In addition to the real-time aspect, WebRTC connections can be created as a direct and encrypted pipe between endpoints. By using WebRTC, IoT devices will be able to talk directly to each other with little effort. As WebRTC connections are also encrypted, they can be used to connect mission critical devices without revealing the data to outsiders.
To give some examples of how IoT devices can benefit from WebRTC, we’ll go through a few use cases below highlighting also the aforementioned features.
Video streaming (live and on-demand)
Delivering video content to thousands or millions of users simultaneously requires a lot of bandwidth and can be very expensive if a company creates individual streams to deliver media content to each user. With WebRTC some of the video delivery can be done by leveraging the other peers consuming the same content, i.e., re-broadcasting the original video stream from one peer to other peers that are close by. For example, Streamroot and Peer5 are solutions that turn an audince into a broadcasting network that saves bandwidth and money, and at the same time delivering video with high quality.
We recently saw a super cool demo at WebRTC meetup 2 in Munich from Kristijan Burnik showing live subtitling using html5 speech recognition and transmitting it over WebRTC data channels (check link for documentation). Imagine, in the near future, with WebRTC, we would be able to deliver subtitles in a language of the user’s preference, in the browser, on-demand. Furthermore, Skype recently announced a live subtitling and translation feature.
The most popular games of the 21st century are, apart from a few exceptions, played online with other players. Some of the games, for example, first person shooter games are played in real-time and using WebRTC would give a straight real-time connection to connect the players. Have a look at Banana Bread Demo, it is a first person shooter game that leverages WebRTC’s datachannel for delivering multiplayer gaming experience. In a fast paced multiplayer game, players’ gaming data (for example, position) needs to be synced in real-time in sub-second intervals to make the gaming experience as fluid as possible.
Banana Bread Demo - first person shooter using WebRTC
Many companies are working with self-driving cars but with WebRTC it is fairly easy to create a real-time connection between a mobile phone and an networked automobile. A direct high frequency connection could be used to drive the car from a distance. In motor racing, a WebRTC connection could be used to fetch the car’s telemetry data in real-time. In the same way, an airplane could connect to a tracking system that would always know where the plane is and how it is performing.
All things considered, WebRTC has a lot to give by offering encrypted real-time peer-to-peer connections for IoT applications. However, just like communication applications can choose from multiple technologies, the same applies to IoT applications. WebRTC is just a building block that can help IoT applications. In conclusion, the real success of any business comes from finding a great product-market fit not the technology itself.
If you use WebRTC with IoT in any of the above mentioned ways or in any other way, we would like to hear from you. Email me at
lasse-at-callstats.io or simply leave a comment below.
Are you thinking about sharing this article but looking for something more visual? Don’t worry! We have created an infographic of this blog post. You can find it here.