The 2014 Wimbeldon finals score card read, 6-7, 6-4, 7-6, 5-7, 6-4. Now imagine, if you could communicate this score, that you have seen on your television, to your computer and phone- all of this using one common platform. What if the process of adding video conferences or peer-to-peer data sharing to your web application was made easier? Well, that is the future WebRTC sees for itself.
WHAT IS WEBRTC?
In simple words, WebRTC enables browsers an easy and convenient method to communicate over video, audio or data; without using any plug-ins, downloads or installations. This open source API was launched by Google in 2011, launching the era of browser based communication.
The sole purpose of WebRTC is to build a strong real-time communication platform that works across several browsers and on several platforms. With WebRTC turning to be the new movement in communications one is sometimes flabbergasted by the various terms used by it. Here are 10 most commonly used jargons by WebRTC.
Real-time communication, or RTC in short, is the process of enabling human communication via video or voice. In simple language, RTC is the process of exchanging any form of information among various users. The aim of WebRTC is to simplify the process of RTC to the level where it becomes a natural process.
Just like writing on your notepad or typing on this laptop. This process of RTC can either take place in half-duplex or full-duplex modules. In half-duplex modules, information can be exchanged between users through a single carrier, but at different times. In full-duplex module, the information can be exchanged simultaneously through one carrier.
Remember, we described WebRTC as an open source API that enables browsers to establish multimedia communications? But what is API? Application Programming Interface or API is a set of tools and protocols that help build software applications. API defines the interaction among software components and is mostly used during programming of graphical user interface components.
Any software company provides its API to the public so that other developers can build programs that are powered by its service. For example Amazon has released its company API so that other developers can access more information on Amazon products on their website.
Network Address Translators, a.k.a NAT, is a method of modifying network address information while transferring it across a routing device. This helps remapping one address into another address space, hence, several users get to share a single, public IP address.
How is this useful? Well, with the rising number of computers in this world, it is pretty much impossible to provide a unique IP address to each and every computer. NAT’s are only used in IPv4 and are not required in IPv6, as they have enough IP addresses to provide every computer in the world.
4. STUN and TURN servers
Since there are NAT and other firewall restrictions, companies require to access both STUN and TURN servers to make calls under all network establishments.
Session Traversal Utilities for NAT or STUN server is a protocol that enables an end host to recognize its public IP address that is hidden behind a NAT. STUN servers allows clients to recognize their IP address, the type of NAT their IP address is behind and the port number that the NAT has given for the client’s User Datagram Protocol (UDP) connections to remain hosts. Other protocols, such as ICE frameworks are expected to use the STUN server.
Traversal Using Relays around NAT or TURN server is a protocol that allows clients to receive an incoming data over the network address translators. This server is useful to those clients that are behind symmetric NAT’s or firewalls that prefer to be on the receiving end of a connection to a single peer.
ICE framework is a technique that uses STUN and TURN servers to handle NAT traversals and in the process enabling real-time communication peer connection. ICE, initially, tries to connect two video chat clients directly via UDP. For this STUN server is used, which tries to enable its clients behind NAT to find its public IP address. If this fails, ICE return to the TURN relay server.
This protocol is widely used to control and manage multimedia communications such as voice calls and video calls over IP networks. SIP can be used for two-party or multi-party sessions. SIP is also used to create, modify and existing session or terminate a previous session consisting of one or more media streams.For transmitting media streams, such as video and voice calls, SIP mostly uses the Real-time Transport Protocol (RTP) or Secure Real-time Transport Protocol (sRTP).
7. RTP and sRTP
Real-Time Transport Protocol (RTP) helps in managing the real-time transfer of multimedia communications, such as video and voice calls. This management can be done either through double-party services of multi-party services. RTP is used along with its RTP Control Protocol (RTCP), which makes it possible to manage large amount of data transfer for large networks. This monitoring enables receivers to find out if there has been any data loss.
Secure Real-Time Transport Protocol or sRTP is an extension to real-time transport protocol. Just as RTP’s, sRTP includes enhanced security features. sRTP is also intended for Voice-over Internet Protocol communications.
In simple words, voice over internet protocol enables the transfer of voice messages and other multimedia communications over the Internet. The steps involved in setting up a VoIP are similar to those as to setup a telephonic conversation. It involves, signaling, channel setup, digitization of the analog voice signals and encoding. The only difference is that transmission occurs as IP packets and not over a circuit-switched network.
9. Multipoint Cntrol Unit (MCU)
Multipoint Control Unit, or MCU, acts like a bridge for video-conference communications. It is the end point on a LAN that enables several terminals to participate in a multipoint conference. In simple words, it is a device that links two or more audio-visual conferences into one conference call. This is what we are specialized in. Instead of having three or more separate conference calls, sign up with 1Click and merge all those conference calls into one conference call.
Session Description Protocol, SDP, is a protocol that describes several multimedia sessions in one format which can be understood by everyone participating in that session. This protocol helps participants decide whether they want to join a conference or not. Hence, by looking at the format, clients can figure out if they can be a useful participant in the conference and decide accordingly. SDP is created in such a manner that it can support new media types and formats.
RESTful stands for Representational State Transfer. It is an API architecture that contains a common web system. REST uses HTTP request and URL mechanisms. Yes, they’re the same ones that we all use daily when we access the web through our browsers. REST is mostly used for one way communication.
Normally, between client and server. REST APIs are with the server. The web server senses and waits to engage with incoming request. A disadvantage of rest is that it isn’t responsive enough.
AEC is the abbreviation for Acoustic Echo Cancellation. In an online conversation, a user has to handle both the speaker and the microphone. Sometimes, the mocrophone happens to catch sound coming out of the speakers, which leads to echoing. AEC helps in preventing this echo from taking place. Another simple solution to this problem is to use headphones.
FEC stands for Forward Error Correction. It is the method by which media stream reliability is improved by correcting lost packets. Lost packs are errors, which are very common in the case of IP networks. Data may not reach it’s destination in case the network is too congested. WebRTC uses IP networks to transfer its data.
In FEC, many copies are made of the data and are sent multiple continuously with minimum delay. Therefore, even if some data doesn’t reach it’s destination, the media stream can be analysed and decoded.
SVC is short for Scalable Video Coding. It is a process by which video encoding is done that utilizes progressive of increasing bit-rates to allow for dynamic adjustment of bit-rate versus video size, frame rate, and/or quality. It allows encoding a video stream once in multiple layers. The quality of the video reduces with the reduction of each layer.
SVC is really useful, when we want to use FEC in a video, by adding redundant data to some of the layers, we can manage to protect the stream. Another use for SVC would be when we want to use routing mechanisms for conferencing. When the video has to be sent to multiple participants, the layers are added/removed as per the handling capacity of the participant.
Simulcast is the method by which a WebRTC client send its data for various types of participants. In fact, it is very similar to SVC. A single encoded video stream can be layered and each participant receives only the layers he ca process.
Similarly, another mechanism is encoding the same video stream twice in different resolutions and bit-rates. These are then sent to a router which decides who gets which streams.
1CLICK is a Live Customer Engagement Software through which you can video, voice and text chat with your customers on your website, by using collaboration tools such as co-browsing to give customers the best service experience online.
Companies and businesses have found a great alliance in 1Click’s cloud video solution. We help businesses foster greater innovation and productivity by integrating Video, Audio, and Text capabilities into their website, products, Services, mobile applications, and tablet applications.
Word cloud made using Created with Tagul.com