Skip to content

Dual monitor system based on WebRTC(Web Real-Time Communication)

License

Notifications You must be signed in to change notification settings

DualRTC-io/DualRTC.io

Folders and files

NameName
Last commit message
Last commit date

Latest commit

aa76960 · Dec 4, 2015

History

10 Commits
Oct 19, 2015
Sep 16, 2015
Sep 16, 2015
Dec 4, 2015

Repository files navigation

DualRTC.io

WebRTC (Web Real-Time Communication) Open Source Project Enhancement and Integrated Device Driver and Dual Monitor Development

Table of Contents

What is WebRTC?

alt img
webRTC is a new webstandard being developed for peer-to-peer communication on the web. This means that browsers will be able to send information, without sending information through the server. Server side this will reduce load dramatically.

Currently the webRTC standard is very focused on the video & audio aspects of the project. In the future (hopefully near future!) they will begin implementing the data channel, which will allow arbitrary data to be sent peer-to-peer. For now the webRTC team is focused on stabalizing and optimizing the video and audio channels.

Unfortunately, a server (or two servers) will still be required for two reasons, The media for the page must be initially supplied, and the server, in conjunction with a STUN server, is required to synchronize the connections.

Project Structure

Support

Device

  • HOST : Windows 7 64-bit
  • GUEST : ANY DEVICE

Browser

  • Chrome 25.0+ (28.0+ for best performance)
  • Firefox 22.0+

Prerequisite

Technologies

$ sudo apt-get update
$ sudo apt-get install build-essential libssl-dev
$ curl https://raw.githubusercontent.com/creationix/nvm/v0.18.0/install.sh | bash
$ nvm install 4.2.1
$ nvm use 4.2.1
  • Chrome Extensions

packages

  • gulp - gulp is a toolkit that will help you automate painful or time-consuming tasks in your development workflow. For web development (if that's your thing) it can help you by doing CSS preprocessing, JS transpiling, minification, live reloading, and much more.
# Install gulp globally:
$ npm install -g gulp

# Install gulp in your project devDependencies:
$ npm install --save-dev gulp
  • pm2 - PM2 is a production process manager for Node.js applications with a built-in load balancer. It allows you to keep applications alive forever, to reload them without downtime and to facilitate common system admin tasks.
# Install pm2 globally:
$ npm install -g pm2

Getting Started

Installation

The easiest way to get started is to clone the repository:

# Get the latest snapshot
$ git clone https://github.com/DualRTC-io/DualRTC.io.git myproject
$ cd myproject
$ git remote rm origin

# Install NPM dependencies
$ npm install

Invoke node with a task manager

DualRTC supports the gulp task runner for various services which are applied on the code. To start your application run -

$ gulp

Run node app

Alternatively, when not using gulp (and for production environments) you can run:

$ node app.js

Then, open a browser and go to:

https://YOUR_IP_ADDRESS

[Option] Load balancing

When an app is started with the -i option, the cluster mode is enabled.

# Enable load-balancer and cluster features
$ pm2 start app.js -i 0

# Listing your app running processes:
$ pm2 list app.js

# Managing your processes is straightforward:
$ pm2 stop app.js
$ pm2 restart app.js
$ pm2 delete app.js

Reference

License

The MIT License. Please see the license file for more information.

About

Dual monitor system based on WebRTC(Web Real-Time Communication)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published