source code : https://github.com/sonykurian96/Video...
// ignore the rest of the parts below...
Video conferencing is live, visual connection between two or more remote parties over the internet that simulates a face-to-face meeting. Video conferencing is important because it joins people who would not normally be able to form a face-to-face connection.
At its simplest, video conferencing provides transmission of static images and text between two locations. At its most sophisticated, it provides transmission of full-motion video images and high-quality audio between multiple locations.
In the business world, desktop video conferencing is a core component of unified communications applications and web conferencing services, while cloud-based virtual meeting room services enable organizations to deploy video conferencing with minimal infrastructure investment.
How video conferencing works
The video conferencing process can be split into two steps: compression and transfer.
During compression, the webcam and microphone capture analog audiovisual (AV) input. The data collected is in the form of continuous waves of frequencies and amplitudes. These represent the captured sounds, colors, brightness, depth and shades. In order for this data to be transferred over a normal network -- instead of requiring am network with massive bandwidth -- codecs must be used to compress the data into digital packets. This enables the captured AV input to travel faster over broadband or Wi-Fi internet.
During the transfer phase, the digitally compressed data is sent over the digital network to the receiving computer. Once it reaches the endpoint, the codecs decompress the data. The codecs convert it back into analog audio and video. This enables the receiving screen and speakers to correctly view and hear the AV data.