What is WebRTC?
The above screen must be quite familiar to you. A company called Global IP Solutions built many components required for webRTC in 2010. It has taken till 2017 for the standard to be accepted by W3C and for the open source project to be completed.
WebRTC is free and open. It is supported by all browsers today and is the standard method of doing video conferencing on the web.
Supported APIs
getUserMedia
RTCPeerConnection
RTCDataChannel
It is these 3 APIs that do all the magic for us. The first one gets the audio and video grab. The peer connection API does the codec, signal processing and such.
The last one takes care of using the websockets connection we saw yesterday to transport data using SCTP and DTLS. DTLS is a method of using UDP in a secure and encrypted way. Then we have the
getStats()
API to get the statistics of each connection/call. It is important to note that webRTC does not signaling like SIP or H.323. It uses ICE for NAT traversal as we saw two days ago. NAT is a big issue for webRTC as you can guess.
SCTP is the TCP contender for the Internet and webRTC uses it extensively for its operation. SCTP tries to get rid of the age old problems in TCP as we have learnt a lot in decades of operation over a fragile Internet.
How does it scale NAT devices?
As we saw WebRTC uses ICE for making sure calls happen behind NAT devices. ICE in turn will use STUN and TURN depending on the NAT device in the network.
A lot of things have to happen for a video call using the browser and all these details are handled in a standards compliant way using webRTC. The fact that it is all open source is a big blessing too.
webRTC has also been ported to IoT and other places outside of the browser.
Browser support
All the popular browsers including opera support webRTC. It is an open standard, so that should not be a problem.
The API endpoints give developers an ability to tap into the potential of being able to transfer media freely across NAT constrainted locations.
The media rush
The fact that the world will never have enough of video calling capability is enough proof that Internet is being used as a carrier of media rich data.
This was not the world of 90s in which video was such a rarity. Today anyone from anywhere on the globe can talk to anyone using full screen video with high definition video and audio. This is only possible due to decades of evolution in various audio and video formats, codecs and other multimedia libraries.
Conclusion
In seeing all the technologies that enabled video calling on the Internet we saw that a step by step approach to learning the moving parts that make a comprehensive tool like webRTC is possible.
So to learn the complex moving parts of Linux we must first focus on each little area, grasp its significance and understand the why behind how things are done.
Then we can connect the dots after we gain a 30,000’ perspective on things.
Answer
Who is Bram Moolenaar?
He is author of Vim that died recently. He created multi level undo, syntax highlighting, tabbed editing and more to Vi. Moreover he created an elaborate help system with ctags like bindings for link traversal.
Question
What is netcat?
Feedback
The ability to work with Linux comes when we learn diligently. If you feel like acquiring new skills in an area you can simply drop me a note and I shall cover that topic.