Демо: https://chat.gise.at
Персонажи после хэштега определяют комнату, если не выбран хэштег, отображается диалоговое окно «Создание комнаты».
Например, все посетители со ссылкой на https://chat.gise.at/#roulette-chat входят в комнату и могут общаться друг с другом.
Поэтому просто отправьте текущий URL, чтобы пригласить других.
Этот видеочат создан для установки его на собственном веб -сервере. Для сигнализации вы можете использовать бесплатный проект Firebase или использовать базу сервера чата на node.js.
Загрузите код и зависимости в вашей местной среде разработки:
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
Окна
copy srcconfig.tmp.json srcconfig.json
copy srcassetssass_custom.tmp.scss srcassetssass_custom.scss
Полная конфигурация может быть сделана в файле src/config.json.
Самое главное - это «обмены» для передачи сигналов. Есть два способа сигнализации, над базовым сервером чата Node.js или бесплатный проект Firebase.
В «Обменении/службе» указано, используется ли сервер чата (сервер чата) или Firebase (Firebase).
Для подключения к серверу чата вам нужно установить сервер чата на собственном сервере. В «Обменении/хосте/хосте» в чате вы должны добавить URI Web Socket на этот сервер.
{
"exchangeServices" : {
"service" : " chat-server " ,
"chat-server" : {
"host" : " wss://chat-server.example.com "
}
},
}Вам необходимо создать бесплатный проект Firebase с анонимной аутентификацией и базой данных в реальном времени. Конфигурация Firebase должна быть внесена в «Обмены/пожарную базу».
{
"exchangeServices" : {
"service" : " firebase " ,
"firebase" : {
"apiKey" : " " ,
"authDomain" : " " ,
"databaseURL" : " " ,
"projectId" : " " ,
"storageBucket" : " " ,
"messagingSenderId" : " " ,
"appId" : " " ,
"measurementId" : " "
}
},
}Дополнительный сервер STUN/TURN также может быть добавлен в Communication/WEBRTC/ICESERVERS. Чтобы использовать этот видеочат за некоторыми брандмауэрами и NAT, вам нужен сервер поворота.
Список бесплатного оглушения и сервера Turn
С определенными системами (например, Twilio) необходимо часто меняться. Поэтому можно динамически загружать конфигурацию ICEServer с помощью связи/webrtc/iceserversfromurl. В данном URL -адресе возврат в формате JSON запрашивается так же, как и с параметра Iceservers ([{"urls": ""}, ...]).
Некоторые функции могут быть активированы индивидуально для установки.
{
"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
}
}Вы можете добавить свои адаптации SASS Design в файл «SRC/Assets/Sass/_custom.scss». Самый простой способ - перезаписать переменные от _settings.scss здесь. Этот файл остается даже после обновления.
grunt deploy
Добавьте контент из Dist Directory в корень документа вашего локального веб -сервера.
grunt deploy --target=production
Скопируйте контент из Dist Directory на ваш веб -сервер.
grunt watch
Измените скомпилированный код в Dist Directory после сохранения файла проекта. В идеале Dist Directory является корнем документа локального веб -сервера, такого как Nginx или Apache.
Вы можете спонсировать меня через спонсирование GitHub.
В качестве признания я был бы рад получить звезду.
Предложения и запросы на вытягивание на расширения всегда приветствуются.
Apache License 2.0