Web RTC: Real time communication made open source
Updated: Nov 22, 2019
WebRTC: Web Realtime Communication, its a layer of technology stack hiding complexities of real time communication and providing simple, safe, high quality API's to use.
Following is the MDN definition:
WebRTC (Web Real-Time Communications) is a technology which enables Web applications and sites to capture and optionally stream audio and/or video media, as well as to exchange arbitrary data between browsers without requiring an intermediary.
As the definition goes, WebRTC simply allows direct communication between browsers without the need of any server* after that they can exchange anything they want.
As we always do, we stick our head into this to satisfy our excitement about this new way of communication and we found some very interesting things which we will break down in very simple "English" for any one to understand.
A whole new next-gen real-time communication
Imagine your iPhone, PC, MAC, TV all communicating seamlessly on a platform which is free for everybody and you could just do anything like share a file, start a video chat or audio chat, live web based game streaming and a whole lot more in REAL TIME.
Why should i care ?
If you use any kind of audio / video streaming app like instagram, skype, zoom or even just simple upload / download chances are you are going to be hit by this new wave of WebRTC.
Also it has some awesome features like:
- Security: Its runs inside browsers, which is like a sandbox it does not allows web traffic to access your local machine, so that means no spyware, malware, etc possible.
- It allows direct communication between browsers.
- WebRTC automatically encrypts all types of data.
- First time in history it has happened that we have got a solution for real time communication with very high standards, until now we were using propitiatory solutions.
How it basically works ?
Step 1: Get identity.
As with case of a phone number, browsers also need a unique identity to be reached at. This they get from a STUN server(click here to know more)
Step 2: Signalling
Same, as with the case of a phone call, we send a signal requesting us to connect with the other person, in WebRTC we send a signal to our signal server which knows about the parties on both the ends.
Step 3: Connection
After the signal process is finished a connection is established between both the browsers and now they can communicate with each other in all formats that they can i.e. Audio, Video, data, etc (But not limited to this only).
Trust us, we simplified the above steps very much, to let you understand in simple terms about the concept of WebRTC, there is a lot more going up there.
Currently most modern browsers like Google Chrome, Firefox, Opera, Microsoft Edge(mostly) support WebRTC out of the box without any extra addition required.
Are there any Ugly Parts ?
- Yes, did you notice the signalling step above ? There is no standard how that should happen, so no one knows how can they connect to some other network using WebRTC.
- Also, browser support is very limited, except for few well known browsers support for WebRTC is very limited.
So, What's next ?
WebRTC is new and its stumbling, but its evolving very fast, you could find it anywhere from machine learning, Artificial intelligence, Media Optimization to making simple but seamless audio, video and data communication Real time.
Hope we were able to give a glimpse of whats coming. See you next time.
"Out of Sight is out of mind"