Demo: https://chat.gise.at
Karakter setelah tagar menentukan ruangan, jika tidak ada tagar dipilih, dialog Create Room ditampilkan.
Misalnya, semua pengunjung dengan tautan ke https://chat.gise.at/#roulette-cat masuk ke dalam ruangan dan dapat berkomunikasi satu sama lain di sana.
Oleh karena itu cukup meneruskan URL saat ini untuk mengundang orang lain.
Obrolan video ini dibuat untuk menginstalnya di server web sendiri. Untuk pensinyalan, Anda dapat menggunakan proyek Firebase gratis atau menggunakan basis server obrolan di Node.js.
Kode Muat dan Ketergantungan di Lingkungan Pengembangan Lokal Anda:
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
Windows
copy srcconfig.tmp.json srcconfig.json
copy srcassetssass_custom.tmp.scss srcassetssass_custom.scss
Konfigurasi penuh dapat dibuat di file src/config.json.
Yang paling penting adalah "pertukaran" untuk pensinyalan. Ada dua cara untuk memberi sinyal, di atas server obrolan dasar Node.js atau proyek Firebase gratis.
Dalam "ExchangeServices/Service" ditentukan apakah server obrolan (chat-server) atau firebase (firebase) digunakan.
Untuk koneksi ke server obrolan, Anda harus menginstal server obrolan di server sendiri. Dalam "ExchangeServices/Chat-Server/Host" Anda harus menambahkan soket web URI ke server ini.
{
"exchangeServices" : {
"service" : " chat-server " ,
"chat-server" : {
"host" : " wss://chat-server.example.com "
}
},
}Anda perlu membuat proyek Firebase gratis dengan otentikasi anonim dan database realtime. Konfigurasi Firebase harus disimpan di "Exchangeservices/Firebase".
{
"exchangeServices" : {
"service" : " firebase " ,
"firebase" : {
"apiKey" : " " ,
"authDomain" : " " ,
"databaseURL" : " " ,
"projectId" : " " ,
"storageBucket" : " " ,
"messagingSenderId" : " " ,
"appId" : " " ,
"measurementId" : " "
}
},
}Server stun/turn tambahan juga dapat ditambahkan dalam komunikasi/WEBRTC/ICESERVERS. Untuk menggunakan obrolan video ini di belakang beberapa firewall dan nats, Anda memerlukan server belokan.
Daftar Server Stun dan Turn Gratis
Dengan sistem tertentu (misalnya Twilio) perlu sering berubah. Oleh karena itu dimungkinkan untuk memuat konfigurasi ICESERVER secara dinamis dengan komunikasi/WEBRTC/ICESERVERSFROMURL. Dalam URL yang diberikan, format pengembalian dalam JSON diminta dengan cara yang sama seperti dengan parameter ICeserver ([{"url": ""}, ...]).
Beberapa fitur dapat diaktifkan secara individual per instalasi.
{
"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
}
}Anda dapat menambahkan adaptasi desain sass Anda ke dalam file "SRC/Assets/Sass/_Custom.scss". Cara termudah adalah menimpa variabel dari _settings.scss di sini. File ini tetap bahkan setelah pembaruan.
grunt deploy
Tambahkan konten dari Dist Directory ke root dokumen server web lokal Anda.
grunt deploy --target=production
Salin konten dari Dist Directory ke server web Anda.
grunt watch
Ubah kode yang dikompilasi di direktori dist setelah menyimpan file proyek. Idealnya Dist Directory adalah root dokumen dari server web lokal seperti Nginx atau Apache.
Anda dapat mensponsori saya melalui sponsor GitHub.
Sebagai pengakuan, saya akan dengan senang hati menerima bintang.
Saran dan permintaan tarik untuk ekstensi selalu diterima.
Lisensi Apache 2.0