All Projects → vgiselbrecht → gise-video-chat

vgiselbrecht / gise-video-chat

Licence: Apache-2.0 License
Video chat application for your own web server

Programming Languages

typescript
32286 projects
HTML
75241 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to gise-video-chat

Decentralized Video Chat
🚀 Zipcall- Acquired @ 250k users 🚀 Peer to peer browser video calling platform with unmatched video quality and latency.
Stars: ✭ 3,284 (+6741.67%)
Mutual labels:  webrtc, video-call, video-chat
Lawsroom
Group video chat on your browser. [No plugin required]
Stars: ✭ 87 (+81.25%)
Mutual labels:  chat, webrtc
Openvidu
OpenVidu Platform main repository
Stars: ✭ 1,133 (+2260.42%)
Mutual labels:  chat, webrtc
Roomler
Roomler - Multi-party Video Conferencing & Team Collaboration Tool using WebRTC (Janus Gateway)
Stars: ✭ 160 (+233.33%)
Mutual labels:  chat, webrtc
Briefing
Secure direct video group chat
Stars: ✭ 710 (+1379.17%)
Mutual labels:  chat, webrtc
Rocket.chat
The communications platform that puts data protection first.
Stars: ✭ 31,251 (+65006.25%)
Mutual labels:  chat, webrtc
Livehelperchat
Live Helper Chat - live support for your website. Featuring web and mobile apps, Voice & Video & ScreenShare. Supports Telegram, Twilio (whatsapp), Facebook messenger including building a bot.
Stars: ✭ 1,583 (+3197.92%)
Mutual labels:  chat, video-call
Quickblox Ios Sdk
QuickBlox iOS SDK for messaging and video calling
Stars: ✭ 373 (+677.08%)
Mutual labels:  chat, webrtc
Twilio Contact Center
A contact center built on Twilio, supporting voice calls, web chat, callback, Facebook Messenger and SMS chat
Stars: ✭ 176 (+266.67%)
Mutual labels:  chat, webrtc
Ascii
👾 ASCII Roulette :: ascii art video chat on the cli
Stars: ✭ 202 (+320.83%)
Mutual labels:  chat, webrtc
React Discord Clone
Discord Clone using React, Node, Express, Socket-IO and Mysql
Stars: ✭ 198 (+312.5%)
Mutual labels:  chat, webrtc
Edumeet
Multiparty web-meetings using mediasoup and WebRTC
Stars: ✭ 699 (+1356.25%)
Mutual labels:  chat, webrtc
Aws Lex Web Ui
Sample Amazon Lex chat bot web interface
Stars: ✭ 500 (+941.67%)
Mutual labels:  chat, webrtc
Megachat
MEGA C++ SDK for chat-enabled apps
Stars: ✭ 61 (+27.08%)
Mutual labels:  chat, webrtc
Echoplexus
Socket.io powered chat, JavaScript REPL, whiteboard, and WebRTC calls
Stars: ✭ 392 (+716.67%)
Mutual labels:  chat, webrtc
Quickblox Javascript Sdk
JavaScript SDK of QuickBlox cloud backend platform
Stars: ✭ 98 (+104.17%)
Mutual labels:  chat, webrtc
Starrtc Android Demo
🚀starRTC,即时通讯(IM)系统,免费IM系统(含单聊,群聊,聊天室,文件传输),免费一对一视频聊天,VOIP,语音对讲(回音消除),直播连麦,视频直播,RTSP拉流,RTMP推流,webRTC服务端,在线教育,白板,小班课,在线会议,视频会议,视频监控,局域网直连(无需服务器),兼容webRTC, 支持webRTC加速,P2P高清传输,安卓、iOS、web互通,支持门禁对讲,可视对讲,电视盒子,树莓派,海思,全志,任天堂switch,云游戏,OTT设备,物联网平台,C语言自研方案,支持二次开发成类微信,类映客等APP,✨万水千山总是情,来个star行不行✨,更多示例请访问:
Stars: ✭ 3,038 (+6229.17%)
Mutual labels:  webrtc, video-chat
quickmeet
A video chat/meeting webapp using WebRTC and WebSockets. Basically a Google Meet clone + a collaborative Whiteboard.
Stars: ✭ 75 (+56.25%)
Mutual labels:  video-call, video-chat
Q Municate Ios
Q-municate iOS repository
Stars: ✭ 164 (+241.67%)
Mutual labels:  chat, webrtc
mirotalk
🚀 WebRTC - P2P - Simple, Secure, Fast Real-Time Video Conferences Up to 4k and 60fps, compatible with all browsers and platforms.
Stars: ✭ 1,593 (+3218.75%)
Mutual labels:  video-call, video-chat

Gise Video Chat: Video chat for your own web server

Author GitHub license Sponsor Demo GitHub package.json version

Video Chat Demo

Features

  • Open-Source
  • For small groups
  • Browser based
  • Signaling over Chat Server or Firebase
  • No media server
  • Screen sharing
  • Text-Chat with images
  • Change of video and microphone source
  • Multilingual (English and German)
  • Mobile friendly
  • Customizable design

Demo

Demo: https://chat.gise.at

The characters after the hashtag define the room, if no hashtag is selected, the create room dialog is displayed.

For example, all visitors with a link to https://chat.gise.at/#roulette-chat enter into a room and can communicate with each other there.

Therefore simply forward the current URL to invite others.

Own installation

This video chat is made to install it on an own web server. For signaling you can use a free Firebase project or using the Chat Server base on node.js.

Prerequisites

  • Local development environment
    • Git
    • Node.js
    • npm
  • Server
    • nginx or apache

Configuration

Load code and dependencies in your local development environment:

git clone https://github.com/vgiselbrecht/gise-video-chat.git gise-video-chat
cd gise-video-chat
npm install

Create configuration and customize files

Linux

cp src/config.tmp.json src/config.json
cp src/assets/sass/_custom.tmp.scss src/assets/sass/_custom.scss 

Windows

copy src\config.tmp.json src\config.json
copy src\assets\sass\_custom.tmp.scss src\assets\sass\_custom.scss 

Adjust the configuration

The full configuration can be made in the src/config.json file.

The most important thing is the "exchangeServices" for signaling. There are two ways for signaling, over the node.js base Chat Server or a free Firebase Project.

In "exchangeServices/service" it is specified whether the Chat Server (chat-server) or Firebase (firebase) is used.

Chat Server

For connection to Chat Server you have to install Chat Server on an own server. In "exchangeServices/chat-server/host" you have to add the Web Socket URI to this server.

{
    "exchangeServices": { 
        "service": "chat-server",
        "chat-server": {
            "host": "wss://chat-server.example.com"
        }
    },
}
Firebase

You need to create a free Firebase Project with anonymous authentication and realtime database. The Firebase configuration must be deposited at "exchangeServices/firebase".

{
    "exchangeServices": { 
        "service": "firebase",
        "firebase": {
            "apiKey": "",
            "authDomain": "",
            "databaseURL": "",
            "projectId": "",
            "storageBucket": "",
            "messagingSenderId": "",
            "appId": "",
            "measurementId": ""
        }
    },
}
STUN and TURN Server

Additional STUN / TURN Server can also be added in communication/webrtc/iceServers. To use this video chat behind some Firewalls and NATs, you need a TURN server.

List of free STUN and TURN Server

With certain systems (e.g. Twilio) it is necessary that the IceServers change frequently. Therefore it is possible to load the IceServer configuration dynamically with communication/webrtc/iceServersFromUrl. In the given URL, a return in JSON format is requested in the same way as with the iceServers Parameter ([{"urls": ""},...]).

Features

Some features can be activated individually per installation.

  • soundEffects (false) -> activate sound effects for diffrent events
  • mutePartner (true) -> function to mute partner for all
  • soundOffPartner (true) -> function to put the sound off at one for a partner
Example full chat configuration
{
    "meta": {
        "title": "Video Chat",
        "description": "Open-Source video chat based on WebRTC and Firebase.",
        "keywords": "chat, webrtc, video-call, video-chat",
        "image": ""
    },
    "privacy": {
        "firebaseAnalytics": 0,
        "imprint": "",
        "gdpr": ""
    },
    "exchangeServices": { 
        "service": "chat-server",
        "chat-server": {
            "host": "wss://"
        }
    },
    "communication": {
        "webrtc": {
            "iceServers": [
                {"urls": "stun:stun.services.mozilla.com"}, 
                {"urls": "stun:stun.l.google.com:19302"}
            ],
            "iceServersFromUrl": ""
        }
    },
    "features": {
        "soundEffects": false,
        "mutePartner": true, 
        "soundOffPartner": true
    }
}

Adjust the design

You can add your SASS design adaptations into the file "src/assets/sass/_custom.scss". The easiest way is to overwrite the variables from _settings.scss here. This file remains even after an update.

Deploy video chat for development

grunt deploy

Add content from dist directory to the document root of your local web server.

Deploy video chat for production

grunt deploy --target=production

Copy content from dist directory to your web server.

Development

grunt watch

Change the compiled code in dist directory after saving a project file. Ideally the dist directory is the document root of a local web server like nginx or apache.

Sponsoring

You can sponsor me through GitHub Sponsoring.

As a recognition, i would be happy to receive a star.

Suggestions and pull requests for extensions are always welcome.

License

Apache License 2.0

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].