Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.

Tuber-time Communications

Deploy Code Climate Slack Status

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


  • 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


  • 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


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
cd tubertc
heroku create --http-git
git push heroku master
heroku ps:scale web=1
heroku open
heroku logs --tail


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.


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

-- Kyle McDonald


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.