AXIA-CONNECT is a clone of MS Teams built under Microsoft Engage Mentorship 2021. It's main functionality is to connect users to each other through video conferencing. Agile methodology was followed while building this project.
- First Week : Prepared a Design Document deciding on the Language and Technology to use for build.Worked on building a simple 1-1 video conferencing WebApp.
- Second Week : Got to know about SDKs like Jitsi, OpenVidu. Experimented with different SDKs and decided to add OpenVidu to my project. Successfully added Video Conferencing to the WebApp using OpenVidu.
- Third Week : Added Mute/Unmute functionality and Chat Functionality to the WebApp and worked a little on its Frontend.
- Fourth and Final Week : Added Login/Logout Functionality, Screen Sharing and learnt to deploy the WebApp on Azure using a VM for the first time. Added HTML, CSS, JS to make the WebApp more appealing.
- Join multiple users to a session with special code/name given by the person who initiates the meeting.
- Authentication using email and password making use of express-passport.
- Option of muting video/audio.
- Chat with other users in the session.
- Option to enter the session as a publisher or subscriber:
- A publisher can show their video and audio.
- A subscriber can only view what the publisher shows and chat during the session.
OpenVidu media server is used to built this WebApp. OpenVidu is a platform to facilitate the addition of video calls in web or mobile applications.WebRTC is the ultimate responsible for all media transmission at the very heart of OpenVidu. WebRTC is a modern, cross-platform framework that democratizes media transmission over the Internet. It is promoted by Google, Mozilla, Opera and others.Kurento is the WebRTC framework on which OpenVidu is built.
Refer to the image given below for better understanding of the frontend backend
-
Fork this repo and clone it.
-
Run
npm install
to install all dependencies. -
Add a
.env
file and add this line :*
SESSION_SECRET=<your-session-secret>
-
Run
node server.js https://localhost:4443 MY_SECRET
on one terminal. -
Run
docker run -p 4443:4443 --rm -e OPENVIDU_SECRET=MY_SECRET openvidu/openvidu-server-kms:2.18.0
on another tab simultaneously.
Visit https://localhost:5000 to see it working.
Visit https://localhost:4443 to test the server.