Skip to content

Latest commit

 

History

History
92 lines (67 loc) · 2.13 KB

README.md

File metadata and controls

92 lines (67 loc) · 2.13 KB

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

License

GPL-3.0