المكالمات الصوتية: غرف صوتية ومرئية بأسلوب Discord، أصبحت الآن مدمجة مع Discourse 🎙

مرحباً، لا مشكلة. أنا سعيد أنك وجدته! هل يكفي لما كنت تبحث عنه؟ أودّ معرفة رأيك إذا كنت ترغب في ذلك.

شكرًا لكل عملكم الرائع يا جميعًا. متحمّس جدًا لإطلاق ميزة الصوت لمجتمع العقارات لدينا :folded_hands:.

إعجابَين (2)

هل يمكنني، بصفتي مديرًا، حذف الغرف؟

نعم، يمكنك أيضًا تغيير عنوانها ووصفها المختصر (slug)، وتحديد نطاقها لمجموعات محددة.

إنها فعلاً جيدة جدًا وتستحق التجربة. على الأرجح ستنتهي باستخدامها.

إعجاب واحد (1)

يجب أن أكون أكثر صرامةً :laughing: أنا أعرف أين وكيف أحرّر كل هذه التفاصيل، لكن كيف يمكنني إزالة الغرف؟ أم أنني لستُ عالقًا في مرحلة “الرنشا” (resenha) المبكرة؟

أعتقد أنك بحاجة فقط إلى استخدام الشريط الجانبي أو البحث عن تبويب Resenha في الإضافات المفعّلة. يجب أن يكون الأمر بسيطًا.

شكرًا، كان بإمكانني فعل ذلك من تبويب الغرف في الإعدادات بالفعل. كنت أنظر إلى واجهة المنتدى فقط :man_facepalming:

إعجاب واحد (1)

على نسخة Discourse المستضافة ذاتيًا، يعمل كل شيء بشكل رائع لعدد قليل من الأشخاص، شكرًا جزئيًا!

إذا أردنا أن يشارك المزيد من الأشخاص (40 أو أكثر)، فأفترض أنني بحاجة إلى تثبيت خادم وسائط Livekit؟

هل هناك أي سبب يمنعني من تثبيته على نفس الخادم الذي يعمل عليه Discourse حاليًا (عبر Docker)؟

لقد قمت بتثبيت Discourse على خادم VPS مخصص باستخدام “دليل التثبيت المبتدئ عبر Docker”، لذا كان كل شيء مؤتمتًا.

لذلك، أنا متردد بعض الشيء في إجراء أي تعديلات على الخادم، لأن ذلك قد يُعطل عمليات التحديث أو الترقية المستقبلية. لكن إذا كان هناك طريقة آمنة لتثبيت Livekit وبالتالي السماح بسهولة بإجراء مكالمات كبيرة، فأنا مستعد تمامًا لذلك.

شكرًا!

إعجابَين (2)

إذا كان خادمك يملك الموارد الكافية لتشغيل كلاهما، أعتقد أن عليك القيام بذلك. اقترح فالكو (Falco) تثبيت خادم LiveKit لتفعيل ميزة الصوت؛ أنا أُنهي تثبيتي الخاص في هذه الأيام :slight_smile:

تذكر أنه سيتعين عليك تأمين شبكة Docker / الجسر / نقاط النهاية، وأن من الضروري إجراء بعض الاختبارات قبل الإعلان عنه في بيئة الإنتاج. يمكن تنفيذ تثبيت LiveKit، لكن قد تضطر إلى حل بعض المشكلات قبل إتمامه.

مرحبًا، هل لاحظت هذا؟

@satonotdead سأكون مهتمًا جدًا بمعرفة تفاصيل التثبيت الذي أكملته!

ربما يمكنك كتابة عن الخطوات التي اتخذتها لتحقيق تثبيت يعمل بشكل صحيح وآمن؟

شكرًا لك!

شكرًا على الإشارة.

يجب أن أقرأ المزيد عن Livekit، لكن يبدو أنه ليس موقعًا إلكترونيًا بل خدمة تعمل بشكل مستمر.

لذا، ربما لا نحتاج إلى وضع Nginx أمامه، بل يكفي فتح منفذ (Port)؟

على أي حال، أنا فضولي لمعرفة ما إذا كان أحد قد قام بذلك ويرغب في مشاركة تجربته.

حسنًا، على الرغم من أنني لست خبيرًا، إلا أنني أعتزم مشاركة آخر ما توصلت إليه من اكتشافات في Discourse. معظمها جاء من خلال التجربة والخطأ :sweat_smile:

سأكون سعيدًا بمشاركة هذه المعلومات بعد انتهائي منها وحين يتوفر لي الوقت. النقطة المهمة في الاستضافة الذاتية (Self-hosting) هي أن كل خادم يُدار بشكل شخصي، لذا تختلف إعدادات الأمن من خادم لآخر.

في حالتي، أستخدم Nginx كوكيل عكسي (Reverse Proxy)، بينما يستخدم آخرون Nginx Proxy أو Caddy أو Traefik، وغيرها. بالإضافة إلى ذلك، يفضل بعضنا استخدام شبكة مشتركة من Docker، بينما يستخدم آخرون جسرهم الأصلي (Bridge) بحيث يمكن لجميع التطبيقات أن «ترى» بعضها البعض.

أهم شيء عند استضافة Livekit هو تعيين الأسرار (Secrets)، وإعداد الصلاحيات الصحيحة، وتقوية القالب الذي يستخدمه Docker، لتقييد كل شيء قدر الإمكان. بما أنه شبكة عامة والمشروع نفسه في مراحل مبكرة من التطوير، فمن الأفضل أن نكون حذرين على أن نندم لاحقًا.

أعتقد أنهم يقدمون خدمة سحابية (Cloud)، لكن الاستضافة الذاتية هي أكثر بكثير من مجرد موقع إلكتروني (!)

يتكون LiveKit من عدة طبقات: خدمات API، وتوجيه لاكتشاف العقد (Nodes)، ووحدة RTC مركزية تدير الغرف والمشاركين، ومعالجة الوسائط المتعددة (SFU) التي تتعامل مع إعادة توجيه RTP والبث التكيفي، وتخزين للتخزين المؤقت (مثل Redis)، وطبقة بنية تحتية تشمل القياسات (Telemetry) والإعدادات.

ربما يمكن لشخص من فريق Discourse أو مستخدم أكثر خبرة تصحيحني إذا كنت مخطئًا، لكنني أفهم أنه في هذه الحالة سيكون من الضروري (أو أداة مشابهة) أن يكون لديك النطاقات الفرعية (Subdomains) المطلوبة للاتصال.

على أي حال، يمكنك أيضًا القيام بذلك داخليًا، لكن للإجراءات معينة، تُطلب شهادات (Certificates)، والشهادات المولدة محليًا لا تعمل دائمًا.

إذا كان هؤلاء الأشخاص الـ 40 سيتم تقسيمهم إلى مجموعات أصغر، كل مجموعة في غرفتها الخاصة، أو في نفس الغرفة ولكن في أوقات مختلفة، فلن تحتاج إلى Livekit.

إذا كنت تريد أن يكون هناك 40 شخصًا في نفس الغرفة في نفس الوقت جميعهم يستخدمون الفيديو، نعم، ستحتاج إلى Livekit.

لعدد المستخدمين المتزامنين هذا، ستحتاج على الأرجح إلى خادم أقوى بكثير من ذلك الذي تستخدمه لـ Discourse.

إعجابَين (2)

هل يمكن معالجة ذلك بواسطة LiveKit؟ أم أن تثبيت شيء ما مثل Jitsi سيُنتج حالات يكون فيها هذا الأمر إلزاميًا؟

نعم، يمكن ذلك طالما أن الخادم الأساسي الذي يعمل عليه LiveKit يدعم ذلك.

3 إعجابات

أنا أحبها :slight_smile:

ومع ذلك، أعتقد أن هناك اسمًا أفضل منها من كلمة «صوت» (voice)، وهو اسم يتحول بشكل طبيعي إلى ظرف (أو حتى فعل) كجزء من جملة إنجليزية عادية، ويشمل الفيديو أيضًا، أي: أن يكون لدينا نقاش مباشر (live)، أن نذهب إلى نقاش مباشر (live)، أننا ندير نقاشًا مباشرًا (live)، أو أننا أجرينا للتو نقاشًا مباشرًا (live). هذه الميزة الدلالية غير متاحة بنفس القدر في Discord.

8 إعجابات

يبدو هذا مذهلاً! وسيتحول بالتأكيد إلى شيء ضخم مع انتقال المستخدمين عن ديسكورد، حيث كانوا يبحثون عن مجموعة ميزات مشابهة.

أحد الأشياء التي أود طرحها، بصفتي شخصًا راجع عددًا كبيرًا من حلول VoIP ومشاركة الشاشة، هو: هل تتيح هذه الحل للمستخدم تعديل مستوى صوت كل متحدث وبث الشاشة بشكل مستقل؟ قد يبدو هذا الميزة بديهية، لكن أحد القيود الرئيسية في معظم الحلول غير المرتبطة بديسكورد هو أنها غالبًا ما تجمع تدفق الصوت معًا، مما يجعل من المستحيل على المستخدم النهائي كتم صوت بث اللعبة أو تعديل المستويات الصوتية لجعلها أوضح.

3 إعجابات

نعم، ما عليك سوى النقر بزر الفأرة الأيمن على أي مشارك لضبط الصوت الخاص به وفقًا لذلك.

لقد أمضيت عشرات الآلاف من الساعات في برامج مكالمات صوتية، وتحملت برامج مثل Mumble التي لم تتيح التحكم بمستوى الصوت المحلي لكل مشارك على حدة لفترة طويلة جدًا. لم أكن لأرتكب نفس الخطأ.

8 إعجابات

هذا رائع! سأقوم بتثبيته وتجربته :smiley:

وملاحظة صغيرة: أنت تتذكر الأمر بشكل غير دقيق قليلاً؛ فبرنامج Mumble يدعم تحديد مستوى الصوت لكل بث على حدة، بل ويتيح لك رفعه فوق 100%. (لكن البرنامج لا يدعم الفيديو على الإطلاق)

إعجابَين (2)