Demo: https://chat.gise.at
Die Zeichen nach dem Hashtag definieren den Raum, wenn kein Hashtag ausgewählt ist, wird der Dialogfeld "Raum erstellen" angezeigt.
Beispielsweise sind alle Besucher mit einem Link zu https://chat.gise.at/#roulette-chat in einen Raum ein und können dort miteinander kommunizieren.
Daher leiten Sie einfach die aktuelle URL weiter, um andere einzuladen.
In diesem Video -Chat wird es auf einem eigenen Webserver installiert. Für die Signalisierung können Sie ein kostenloses Firebase -Projekt oder die Chat -Server -Basis auf node.js.
Laden Sie Code und Abhängigkeiten in Ihrer lokalen Entwicklungsumgebung:
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
Fenster
copy srcconfig.tmp.json srcconfig.json
copy srcassetssass_custom.tmp.scss srcassetssass_custom.scss
Die vollständige Konfiguration kann in der Datei src/config.json erstellt werden.
Das Wichtigste ist die "Austauschdienste" für die Signalisierung. Es gibt zwei Möglichkeiten zur Signalisierung, über den Node.js -Basis -Chat -Server oder ein kostenloses Firebase -Projekt.
In "ExchangeServices/Service" wird angegeben, ob der Chat-Server (Chat-Server) oder Firebase (Firebase) verwendet wird.
Für die Verbindung zum Chat -Server müssen Sie den Chat -Server auf einem eigenen Server installieren. In "ExchangeServices/Chat-Server/Host" müssen Sie diesen Server den Web-Socket-URI hinzufügen.
{
"exchangeServices" : {
"service" : " chat-server " ,
"chat-server" : {
"host" : " wss://chat-server.example.com "
}
},
}Sie müssen ein kostenloses Firebase -Projekt mit anonymer Authentifizierung und Echtzeitdatenbank erstellen. Die Firebase -Konfiguration muss unter "Exchangeservices/Firebase" hinterlegt werden.
{
"exchangeServices" : {
"service" : " firebase " ,
"firebase" : {
"apiKey" : " " ,
"authDomain" : " " ,
"databaseURL" : " " ,
"projectId" : " " ,
"storageBucket" : " " ,
"messagingSenderId" : " " ,
"appId" : " " ,
"measurementId" : " "
}
},
}Zusätzlicher Stun/Turn -Server kann auch in Kommunikation/WEBRTC/ICESERVERS hinzugefügt werden. Um diesen Video -Chat hinter einigen Firewalls und Nats zu verwenden, benötigen Sie einen Turn -Server.
Liste der kostenlosen Betäubung und Turn -Server
Bei bestimmten Systemen (z. B. Twilio) ist es notwendig, dass sich die ICESERVERVERSCHEN häufig ändern. Daher ist es möglich, die ICESERVER -Konfiguration dynamisch mit Kommunikation/webtc/icerverversFromurl zu laden. In der angegebenen URL wird eine Rückgabe im JSON -Format auf die gleiche Weise angefordert wie mit dem Parameter ICESERVERS ([{"urls": ""}, ...]).
Einige Funktionen können pro Installation einzeln aktiviert werden.
{
"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
}
}Sie können Ihre Sass -Design -Anpassungen in die Datei "SRC/Assets/SASS/_custom.scss" hinzufügen. Der einfachste Weg ist, die Variablen von _Settings.scss hier zu überschreiben. Diese Datei bleibt auch nach einem Update.
grunt deploy
Fügen Sie Inhalte aus dem DIST -Verzeichnis zum Dokumentroot Ihres lokalen Webservers hinzu.
grunt deploy --target=production
Kopieren Sie den Inhalt des DIST -Verzeichnisses auf Ihren Webserver.
grunt watch
Ändern Sie den kompilierten Code im DIST -Verzeichnis, nachdem Sie eine Projektdatei gespeichert haben. Im Idealfall ist das DIST -Verzeichnis das Dokumentenrouch eines lokalen Webservers wie Nginx oder Apache.
Sie können mich durch Github -Sponsoring sponsern.
Als Anerkennung würde ich mich freuen, einen Stern zu erhalten.
Vorschläge und Zuganfragen nach Erweiterungen sind immer willkommen.
Apache -Lizenz 2.0