B4J Question How to realize a Zoom-like desktop program?

amorosik

Expert
Licensed User
I would like to really understand how the various video conferencing programs are built, such as Zoom, Google Meeting, Skype, Teams and other similar ones
I believe the best way to understand the real problems is to start a project that attempts to replicate the basic functionality of these applications
It should at least allow you to:
- communicate webcam image and audio among the invited operators
- share the entire screen or a window of the screen to all operators
- digital whiteboard, available to all invited operators
- file exchange between operators

Most likely the realization of a project of this type is more difficult than I am currently able to carry out, and for this I would need your help
Could anyone who has already addressed the topic advise me on which examples to document and which codes to study?
 

peacemaker

Expert
Licensed User
Longtime User
Main thing here is a server with high stable Internet connection for all these video streams from many users at the same time.
And the app is the client of this server, "just" provider of pictures and sounds packed in some format(s) as a stream over some Internet protocol (HTTP, TCP, UDP...). And back, receiver and unpacker of the incoming stream from the server.
Sure, after login and authentication of all chat users...
Server should cache somehow the video and sound buffer from each user, combine the sounds and stream result to all in the chat.
Look for WebRTS and other protocols.

Grabbing the client screen for sharing is another special pain under each operation system...

Most common part is a server database and interface for user registration\login, listing the users, choosing them, entering to a chat and text chat itself :)
 
Last edited:
Upvote 0
Top