/tubertc

Peer-to-Peer Video Chat for Corporate LANs

Primary LanguageJavaScriptMIT LicenseMIT

Tuber-time Communications

Deploy Code Climate Slack Status

Peer-to-peer video chat that works. It's tuber-time!

Features

  • Video chat with up to 15 people (limited only by user interface)
  • Buttons to selectively mute audio and turn off video
  • Client and server written in a single language: JavaScript
  • Supported without client software by browsers with WebRTC

Anti-Features

  • Does not require client software
  • Does not require a Google+ account
  • Does not send video stream through a 3rd party
  • Does not spike your CPU at 100% utilization

Requirements

Install to Heroku

tubertc supports Heroku as a demonstration platform. Deployment can be done via the one-click Deploy to Heroku button or the commands below:

heroku login
git clone https://github.com/trailofbits/tubertc.git
cd tubertc
heroku create --http-git
git push heroku master
heroku ps:scale web=1
heroku open
heroku logs --tail

Configuration

The server port, debug level, and SSL settings are configured via the settings.json file. tubertc uses port 8080, debug mode, and HTTP by default.

Testimonials

tubertc is the most usable open source video chat I've seen

-- Kyle McDonald

FAQ

I'm using Chrome and I get a PermissionDeniedError

Chrome 47 and higher block non-TLS access to WebRTC. Try accessing Tuber with HTTPS. If you would like to help us develop Tuber, please consider writing tools that assist with the creation and installation of TLS certificates for local installations.

Some users can't send or receive audio/video

Tuber has trouble talking with users behind NAT. Supporting users behind NAT requires a properly configured and tested STUN/TURN server. As it stands, Tuber works fine on most corporate LANs but, due to this issue, has trouble working reliably on the open internet.