Demo: https://chat.gise.at
Les caractères après le hashtag définissent la pièce, si aucun hashtag n'est sélectionné, la boîte de dialogue Créer une pièce s'affiche.
Par exemple, tous les visiteurs avec un lien vers https://chat.gise.at/#roulette-chat entrent dans une pièce et peuvent y communiquer.
Par conséquent, transmettez simplement l'URL actuelle pour inviter les autres.
Ce chat vidéo est conçu pour l'installer sur un propre serveur Web. Pour la signalisation, vous pouvez utiliser un projet Firebase gratuit ou utiliser la base de serveur de chat sur node.js.
Chargez le code et les dépendances dans votre environnement de développement local:
git clone https://github.com/vgiselbrecht/gise-video-chat.git gise-video-chat
cd gise-video-chat
npm install
Linux
cp src/config.tmp.json src/config.json
cp src/assets/sass/_custom.tmp.scss src/assets/sass/_custom.scss
Fenêtre
copy srcconfig.tmp.json srcconfig.json
copy srcassetssass_custom.tmp.scss srcassetssass_custom.scss
La configuration complète peut être effectuée dans le fichier src / config.json.
La chose la plus importante est les "échangerservices" pour la signalisation. Il existe deux façons de signaler, sur le serveur de chat de base Node.js ou un projet Free Firebase.
Dans "ExchangeServices / Service", il est spécifié de savoir si le serveur de chat (Chat-Server) ou Firebase (Firebase) est utilisé.
Pour la connexion au serveur de chat, vous devez installer le serveur de chat sur un propre serveur. Dans "ExchangeServices / Chat-Server / Host", vous devez ajouter le socket Web Uri à ce serveur.
{
"exchangeServices" : {
"service" : " chat-server " ,
"chat-server" : {
"host" : " wss://chat-server.example.com "
}
},
}Vous devez créer un projet Free Firebase avec une authentification anonyme et une base de données en temps réel. La configuration de la base de feu doit être déposée à "ExchangeServices / Firebase".
{
"exchangeServices" : {
"service" : " firebase " ,
"firebase" : {
"apiKey" : " " ,
"authDomain" : " " ,
"databaseURL" : " " ,
"projectId" : " " ,
"storageBucket" : " " ,
"messagingSenderId" : " " ,
"appId" : " " ,
"measurementId" : " "
}
},
}Un serveur supplémentaire / tour supplémentaire peut également être ajouté dans la communication / webrtc / iceservers. Pour utiliser ce chat vidéo derrière certains pare-feu et NATS, vous avez besoin d'un serveur de virage.
Liste du serveur Stun and Turn gratuit
Avec certains systèmes (par exemple, Twilio), il est nécessaire que les Iceservers changent fréquemment. Par conséquent, il est possible de charger la configuration ICEServer dynamiquement avec la communication / webrtc / iceserversfromurl. Dans l'URL donnée, un retour au format JSON est demandé de la même manière qu'avec le paramètre ICESERVER ([{"URLS": ""}, ...]).
Certaines fonctionnalités peuvent être activées individuellement par installation.
{
"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
}
}Vous pouvez ajouter vos adaptations de conception SASS dans le fichier "SRC / Assets / Sass / _Custom.scss". Le moyen le plus simple consiste à écraser les variables de _settings.SCSS ici. Ce fichier reste même après une mise à jour.
grunt deploy
Ajoutez du contenu du répertoire DIST à la racine du document de votre serveur Web local.
grunt deploy --target=production
Copiez le contenu du répertoire DIST à votre serveur Web.
grunt watch
Modifiez le code compilé dans le répertoire DIST après avoir enregistré un fichier de projet. Idéalement, le répertoire DIST est la racine du document d'un serveur Web local comme Nginx ou Apache.
Vous pouvez me parrainer via Github Sponsoring.
En reconnaissance, je serais heureux de recevoir une étoile.
Les suggestions et les demandes de traction d'extensions sont toujours les bienvenues.
Licence Apache 2.0