My Meeting App is a web-based collaboration tool for group audio-video streaming, screen sharing, messaging, participant details viewing, file sharing, and meeting recording. It offers functionalities similar to Google Meet and is built using the following technologies:
- Frontend: HTML, CSS, Bootstrap, JavaScript, jQuery
- Backend: Node.js (Express)
- Peer-to-peer communication: PeerJS
- Real-time communication: Socket.io
- WebRTC for audio-video streaming and screen sharing
Features:
-
Group Audio Video Streaming: Peers can communicate in real-time audio and video within groups.
-
Screen Sharing System: Participants can share their screens with others in the meeting.
-
Messaging System: Integrated chat system for text-based communication during meetings.
-
Participant Details: Provides information about meeting participants.
-
File Sharing System: Allows users to share files with other participants during the meeting.
-
Meeting Recording System: Capable of recording meetings for future reference or review.
-
And many more!
SDP Process:
In WebRTC, the Session Description Protocol (SDP) negotiation process involves several steps:
-
Creating an Offer: A local description is generated using the
createOffer()
method. -
Setting Local Description: The local description is set using
setLocalDescription()
. -
Sending Offer: The offer is sent to the remote peer.
-
Receiving Answer: The remote peer responds with an answer.
-
Setting Remote Description: The received answer is set as the remote description using
setRemoteDescription()
. -
ICE Candidate Exchange: ICE candidates are exchanged between peers to establish connectivity using the Interactive Connectivity Establishment (ICE) framework.
This negotiation process ensures that peers can establish a direct connection for audio, video, and data transmission, facilitating seamless communication during meetings.