데모 : https://chat.gise.at
해시 태그 후 캐릭터는 객실을 정의합니다. 해시 태그를 선택하지 않으면 방출 대화 상자가 표시됩니다.
예를 들어, https://chat.gise.at/ #roulette-chat에 대한 링크가있는 모든 방문자는 방에 들어가서 서로 통신 할 수 있습니다.
따라서 현재 URL을 전달하여 다른 URL을 초대하십시오.
이 화상 채팅은 자체 웹 서버에 설치하도록 만들어졌습니다. 신호를 보내려면 무료 Firebase 프로젝트를 사용하거나 Node.js의 채팅 서버베이스를 사용할 수 있습니다.
지역 개발 환경의 코드 및 종속성을로드합니다.
git clone https://github.com/vgiselbrecht/gise-video-chat.git gise-video-chat
cd gise-video-chat
npm install
리눅스
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 파일로 만들 수 있습니다.
가장 중요한 것은 신호를위한 "Exchangeservices"입니다. Node.js Base Chat Server 또는 무료 Firebase 프로젝트를 통해 신호 전달의 두 가지 방법이 있습니다.
"Exchangeservices/Service"에서 채팅 서버 (채팅 서버) 또는 FireBase (FireBase)가 사용되는지 여부는 지정됩니다.
채팅 서버에 연결하려면 자체 서버에 채팅 서버를 설치해야합니다. "Exchangeservices/Chat-Server/Host"에서는이 서버에 웹 소켓 URI를 추가해야합니다.
{
"exchangeServices" : {
"service" : " chat-server " ,
"chat-server" : {
"host" : " wss://chat-server.example.com "
}
},
}익명 인증 및 실시간 데이터베이스가 포함 된 무료 Firebase 프로젝트를 작성해야합니다. Firebase 구성은 "Exchangeservices/Firebase"에 입금되어야합니다.
{
"exchangeServices" : {
"service" : " firebase " ,
"firebase" : {
"apiKey" : " " ,
"authDomain" : " " ,
"databaseURL" : " " ,
"projectId" : " " ,
"storageBucket" : " " ,
"messagingSenderId" : " " ,
"appId" : " " ,
"measurementId" : " "
}
},
}추가 기절/회전 서버는 통신/WebRTC/Iceservers에 추가 할 수도 있습니다. 일부 방화벽과 NAT 뒤에이 화상 채팅을 사용하려면 턴 서버가 필요합니다.
무료 기절 및 회전 서버 목록
특정 시스템 (예 : Twilio)을 사용하면 Iceservers가 자주 변할 필요가 있습니다. 따라서 Communication/WebRTC/IseServersfromUrl과 동적으로 ICESERVER 구성을로드 할 수 있습니다. 주어진 URL에서 JSON 형식의 반환은 ieceServers 매개 변수와 동일한 방식으로 요청됩니다 ([{ "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
}
}"src/assets/sass/_custom.scss"파일에 SASS 디자인 적응을 추가 할 수 있습니다. 가장 쉬운 방법은 _settings.scss에서 변수를 덮어 쓰는 것입니다. 이 파일은 업데이트 후에도 유지됩니다.
grunt deploy
Dist Directory에서 로컬 웹 서버의 문서 루트에 컨텐츠를 추가하십시오.
grunt deploy --target=production
Dist Directory에서 웹 서버로 콘텐츠를 복사하십시오.
grunt watch
프로젝트 파일을 저장 한 후 Dist Directory에서 컴파일 된 코드를 변경하십시오. 이상적으로 Dist Directory는 Nginx 또는 Apache와 같은 로컬 웹 서버의 문서 루트입니다.
Github 후원을 통해 저를 후원 할 수 있습니다.
인정으로, 나는 별을 받게되어 기쁩니다.
확장에 대한 제안 및 풀 요청은 항상 환영합니다.
아파치 라이센스 2.0