Coder Social home page Coder Social logo

simplevideochat's Introduction

simplevideochat

Library to make WebRTC video calls with multiple peers using Firebase real-time database for signaling.

Library

You probably want to look at lib/simplevideochat.js for the core of the magic. If you just want to make WebRTC video calls, that's the only part of the code you need.

Firebase

WebRTC doesn't define a signaling mechanism. You need signaling to exchange some information with your peer(s) before you can establish a call. This information can be shared through any communication channel, probably even carrier pigeon. I wanted to find the fastest way to get a simple video client going that you could actually deploy to real users.

It's super easy to setup a new Firebase app. You need to provide a firebase database object to the VideoChat object, and that's it! It creates a signaling mechanism over Firebase under the hood. Although I built this with Firebase in mind, it should be easy to swap out Firebase for something else by just implementing the sample channel API and using your own channel when creating new VideoChat objects.

Demo Web App

I've included a web app built using Polymer. You can check out the live demo here: https://simplevideochatdemo.firebaseapp.com/

You will end up in a random room, and it's unlikely there will be anyone else in the same room. That's because the room IDs for the demo app are long randomly generated strings. Just copy the URL and share with a friend over IM or email, or open in a new tab on the same machine. You can also just replace the GET parameter to something easier to remember or share, but you run the risk of getting in the same room as a stranger.

simplevideochat's People

Contributors

navjagpal avatar

Stargazers

Tunji Olu-Taiwo avatar TaeYoon Kim avatar Tiago Neto avatar John Schimmel avatar Alastair King avatar Vedant Mehta avatar Rahul Sinha avatar  avatar Riley Dutton avatar Zhongliang Wang avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.