For this to be cool, you need to click the "yes you can use my webcam" button above

What is this?

This is a demo of some things you can do with webRTC.

What it does
  • First, it uses AngularFire to connect to a real-time Firebase database to get a list of users on this page
  • Then, it uses a service called PeerJS to simplify and abstract away some of the details of creating an RTCPeerConnection to ever other person viewing this page
  • Then, using that RTCPeerConnection it establishes a RTCDataChannel w/ each peer, enabling communication of arbitrary data (in this case chat messages and file uploads)
  • Then, using navigator.getUserMedia it asks you to caputure your webcam and it also establishes a p2p video connection with every other person viewing this page
  • It uses that video connection as the "live" avatar next to your name in your chat messages
  • When you send a chat message or upload files, it sends it directly to each peer connected. no messages, files, or video ever go through a server
TL,DR: video/text chat & p2p file sharing using no servers (except to get a list of who's online) and no plugins (no flash)

Read the Source on github. If you have any questions email me at my github username at gmail.

Online Users
Shared Files
Download {{}}

{{file.size |bytes}} from {{ || message.uploader.userId}}


{{ ||}}