2020-04-03 09:24:22 +08:00
# Zipcall - Decentralized Video Chat
2020-03-31 07:21:24 +08:00
2020-03-29 02:01:35 +08:00
[![Author ](https://img.shields.io/badge/Author-ianramzy-brightgreen.svg )](https://ianramzy.com)
2020-04-13 13:11:17 +08:00
![License: CC-NC ](https://img.shields.io/badge/License-CCNC-blue.svg )
2020-03-29 02:01:35 +08:00
[![Donate ](https://img.shields.io/badge/Donate-PayPal-brightgreen.svg )](https://paypal.me/ianramzy)
[![Repo Link ](https://img.shields.io/badge/Repo-Link-black.svg )](https://github.com/ianramzy/decentralized-video-chat)
2020-04-06 22:54:58 +08:00
[![code style: prettier ](https://img.shields.io/badge/code_style-prettier-ff69b4.svg? )](https://github.com/prettier/prettier)
2020-04-13 03:02:59 +08:00
[![Join the chat at https://gitter.im/zipcall ](https://badges.gitter.im/Join%20Chat.svg )](https://gitter.im/zipcall)
2020-04-06 22:54:58 +08:00
2020-04-03 09:24:22 +08:00
# https://zipcall.io
2020-03-29 02:01:35 +08:00
2020-03-31 07:21:24 +08:00
Decentralized video chat platform powered by WebRTC using Twilio STUN/TURN infrastructure.
2020-04-03 09:24:22 +08:00
Zipcall provides video quality and latency simply not available with traditional
2020-03-29 03:51:27 +08:00
technology.
2020-03-22 05:23:46 +08:00
2020-04-06 22:19:11 +08:00
![screenshot ](public/images/readmecall.png "Video Calling" )
2020-03-29 03:51:27 +08:00
2020-03-29 07:12:09 +08:00
## Features
2020-03-31 07:21:24 +08:00
2020-04-06 22:19:11 +08:00
< img align = "right" width = "400" height = "auto" src = "public/images/preview.gif" >
2020-03-31 07:21:24 +08:00
- Screen sharing
2020-05-31 11:32:33 +08:00
- Group call with up to 4 peers
2020-04-06 22:01:27 +08:00
- Picture in picture
2020-03-31 07:21:24 +08:00
- Live captions
- Text chat
- Auto-scaling video quality
- No download required, entirely browser based
- Direct peer to peer connection ensures lowest latency
2020-05-31 11:32:33 +08:00
- No SFU servers, group calls use mesh networks
2020-03-31 07:21:24 +08:00
- Single use disposable chat rooms
2020-03-29 07:12:09 +08:00
2020-03-29 03:51:27 +08:00
## Quick start
2020-03-31 07:21:24 +08:00
- You will need to have Node.js installed, this project has been tested with Node version 10.X and 12.X
- Clone this repo
2020-03-22 05:23:46 +08:00
```
2020-03-29 02:01:35 +08:00
git clone https://github.com/ianramzy/decentralized-video-chat
cd decentralized-video-chat
2020-03-22 05:23:46 +08:00
```
2020-03-31 07:21:24 +08:00
2020-04-06 23:22:30 +08:00
#### Set up credentials
- Rename .env.template to .env
- Sign up for free twilio account https://www.twilio.com/login
- Get your Account SID and Auth Token from the Twillio console
- Fill in your credentials in the .env file
#### Install dependencies
2020-03-31 07:21:24 +08:00
2020-03-22 05:23:46 +08:00
```
npm install
```
2020-03-31 07:21:24 +08:00
2020-04-06 23:22:30 +08:00
#### Start the server
2020-03-31 07:21:24 +08:00
2020-03-22 05:23:46 +08:00
```
npm start
```
2020-03-29 02:31:00 +08:00
2020-04-07 09:45:29 +08:00
- Open `localhost:3000` in browser
2020-03-31 07:21:24 +08:00
- If you want to use a client on another computer/network, make sure you publish your server on an HTTPS connection.
You can use a service like [ngrok ](https://ngrok.com/ ) for that.
2020-04-13 13:11:17 +08:00
2020-04-13 03:02:59 +08:00
## Contributing
2020-04-13 13:11:17 +08:00
2020-04-13 03:02:59 +08:00
Pull Requests are welcome!
2020-04-13 13:11:17 +08:00
Please run prettier on all of your PRs before submitting, this can be done with `prettier --write` in the project directory
2020-04-13 03:02:59 +08:00
2020-04-16 11:55:59 +08:00
For communication we use Gitter Chat which can be found here: [![Join the chat at https://gitter.im/zipcall ](https://badges.gitter.im/Join%20Chat.svg )](https://gitter.im/zipcall)