GVCP
GNU Video Conferencing Platform
This is the final project for the CS50 Course of Harvard University.
Summary
GVCP is a web server made with NodeJS whose main purpose is to make video conferencing easier, without having to install any software or plugin, only with a compatible browser and a webcam.
GVCP uses WebRTC in order to be able to establish a full mesh connection between peers, that means that GVCP is not a typical server-client application but a application to synchronize clients for a peer to peer connection.
For more information I encourage you to see the presentation video on YouTube.
Installation
$ npm install gvcp
Features
- WebRTC
- Configurable
- Focus on high performance and security
- View system using Handlebars with precompilation
- Own micro-framework
- Easily expandable
- CLI (optional)
- HTTPS redirect
Quick Start
Install NodeJS v5.3.0+ using nvm or downloading it here:
$ nvm install v5.3.0
Install the package:
$ npm install gvcp$ cd node_modules/gvcp
Configure the server (config/config.json):
For more info about the config file go here.
"debug": true "url": "https://localhost/" "secure": true "cli": true "title": "GVCP" "public_folder": "./public" "error_template": "error.tmpl" "cache_max_age": 604800 "server_info": "GVCP-Server" "stun_turn_server_api": "url": "https://service.xirsys.com/ice" "ident": "[your user]" "secret": "[your secret token]" "domain": "[your domain]" "application": "[your app name]" "room": "[your room name]" "secure": 1 "room_capacity": 4
Build the js files:
NOTE: This must be done every time the config file or any JavaScript template are modified.
$ npm run build
Start the server:
$ npm start