What is tech behind "google meet" type softwares? Anybody has any idea what kind of background processing these "public video chat" type softwares do? At client side they record audio and video, I understand that. But then do they merge all audio into 1 file, from all 10-20 people in the meeting/chat, and this file is played at all outlets? Am thinking that merging all audio into 1 file cannot be done live. That will require some processing time, even for small files of very small duration. What is the fastest possible way to do this?
you are talking about google, they have servers can do anything, look how they hosted youtube videos and in the same time they give money for uploading them, otherwise google might have a special way to marge the audios, they might do it by some kind of complicated software that don't need processing power to do it.
I don't have too much experience with Video Call Apps and Livestreams but I can give you a high level explanation of how it works. First of all, the Video calls are not recorded and sent like you put it. That is not really feasible for a video call. To understand it easily, let us assume it is an Instagram livestream. There are protocols used for these type of tasks and HTTP is usually not among them. The one I'm familiar with is Real Time Messaging Protocol (RTMP). But I think a more popular Protocol is Web Real Time Communication (WebRTC). Basically, when you open your phone camera, the Cam Preview you get is like a livestream from your Camera Device to your Phone screen. Now with these realtime protocols, you would be redirecting these streams from your Camera Device to a Media Streaming server. Just as HTTP requires a Web Server listening on port 80 or 443 like Apache, RTMP has it's own server softwares that accepts video/audio streams. There are a lot of open source scripts for this. Now you can choose to either record these streams on the server or re broadcast the streams to other connected clients. That is a high level explanation of how they work. The protocol used is one of the main things.
I just did some research and found this very useful page about setting up a Video Calling project with WebRTC. https://medium.com/@amirsanni/build...web-app-using-webrtc-and-ratchet-45863446e79a