This repo contains my bachelor thesis project, a WebRTC based videoconference app.
The goal of the project was to build a videoconference app with novel tools and then investigate its performances. This application heavily relies on WebRTC, a web standard for real-time communications, and contains both the client and server side code required to run the app.
- Perfect negotation pattern for session establishment
- Single Forward Unit for server-side stream forwarding
- Room-based conferences
- Optional stream forwading (only audio, only video, video and audio)
- Safari compatibility
This repo follows the monorepo architecture and uses lerna to manage dependencies and deployments. Lerna and npm must be available on your machine
- Install dependencies
npm i
- Start the server in HMR mode
lerna run serve --scope=sfu-server
- Run the clien app in HMR mode
lerna run server --scope=sfu-client