Audio-video conference
A web application that allows real-time video conferencing with desktop sharing.
Project for laboratory classes at the Poznan University of Technology.
Documentation
https://docs.google.com/document/d/1tZM00kalfO37ZPQXomoaGacE_y-1VtwWU_ZVJAtD0js/edit
Project architecture
Main architecture
Media Server architecture - SFU (Selective Forwarding Unit)
Technologies
- WebRTC
- Typescript
- jQuery
Maintainers
- Dziurzyński Miłosz
- Gawiński Wojciech
- Kmiotek Jarosław
- Sobański Rafał
Deployment
You can easily deploy the project using a docker-compose file.
cd docker
docker-compose up
The default port is 5051, you can change it in the docker-compose.yml file.
Manual setup
Prerequisites
- Ubuntu 18.04
- nginx
- Node.js
- Kurento Media Server
- Redis Server
Setup
Change the default WebSocket port of the Kurento Media Server from 8888 to 8890
sudo nano /etc/kurento/kurento.conf.json
sudo systemctl restart kurento-media-server
Get other required packages and the repo contents
sudo apt install git screen
git clone https://github.com/djmuted/PTL_Proj
cd PTL_Proj
Download all required packages for the signaling server
cd signal
npm i
cd ..
Download all required packages for the client
cd client-frontend
npm install
cd ..
Start
Start the signaling server
cd signal
screen -S signal npm start
And press CTRL+A+D to detach the server and let it run in the background, after doing that come back to the main repo directory
cd ..
Start the client dev webhost
cd client-frontend
screen -S web npm start