العرض التوضيحي: 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 مجاني.
في "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" : " "
}
},
}يمكن أيضًا إضافة خادم Stun/Turn إضافي في الاتصالات/WEBRTC/ICESERVERS. لاستخدام دردشة الفيديو هذه خلف بعض جدران الحماية و NATS ، تحتاج إلى خادم الدوران.
قائمة الصاعقة المجانية و Turn Server
مع بعض الأنظمة (مثل twilio) ، من الضروري أن يتغير iceservers بشكل متكرر. لذلك من الممكن تحميل تكوين 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 الخاصة بك إلى الملف "SRC/Assets/Sass/_custom.scss". أسهل طريقة هي الكتابة فوق المتغيرات من _settings.scss هنا. يبقى هذا الملف حتى بعد التحديث.
grunt deploy
أضف محتوى من Distory إلى جذر المستند لخادم الويب المحلي.
grunt deploy --target=production
انسخ المحتوى من Dist Directory إلى خادم الويب الخاص بك.
grunt watch
قم بتغيير الكود المترجم في Dist Directory بعد حفظ ملف المشروع. من الناحية المثالية ، فإن Distory هو جذر المستند لخادم ويب محلي مثل Nginx أو Apache.
يمكنك رعايتي من خلال رعاية جيثب.
كتقدير ، سأكون سعيدًا بتلقي نجم.
الاقتراحات وطلبات السحب للتمديدات هي دائما موضع ترحيب.
ترخيص Apache 2.0