لقد قمت مؤخراً بإعداد خادم LiveKit لميزة الصوت في Discourse. تتصل المكالمات بشكل صحيح ويبدو الصوت رائعاً، لكن فيديو الكاميرا ضبابي باستمرار وبطيء جداً (بين 8-20 إطاراً في الثانية مع وجود العديد من الإطارات المتجمدة).
لقد جربت أجهزة ومتصفحات وإعدادات جودة فيديو مختلفة، بما في ذلك الإعداد الأقصى، دون حل المشكلة.
إعداداتي:
Discourse 2026.10.0-latest
LiveKit v1.13.7
تعمل خوادم Discourse وLiveKit على خوادم DigitalOcean منفصلة داخل نفس VPC.
كلا الخادمين لديهما جدران حماية من DigitalOcean.
لا توجد تعديلات مخصصة على كود Discourse أو LiveKit.
في اختبار ثنائي واحد باستخدام Chrome وSafari، رأى الشخص الذي يستخدم Safari فيديو مشارك Chrome يتعثر.
بمساعدة بعض الأشخاص في استكشاف الأخطاء وإصلاحها، فحصنا خادم LiveKit أثناء المكالمة. كان الخادم تحت حمل ضئيل جداً، وكلا المتصفحين كانا يتصلان عبر UDP. تضمنت السجلات هذه الرسائل:
يستمر هذا المشكلة حتى بعد انتقالي إلى LiveKit Cloud، لذا لا علاقة لها إطلاقًا باستضافة LiveKit ذاتيًا. كما قمت باختبار الأمر على أجهزة إضافية (Safari على iPad وChrome على MacOS). لاحظت أن فيديو Safari على iPad يظهر على Chrome في MacOS بتأخير/تقطّع/حبيبات، بينما كانت الجودة الصوتية لا تزال جيدة.
آمل أن يُحسَّن هذا الوضع، على الرغم من أنني أعلم أنه قد يكون مرتبطًا بعطل على مستوى النظام (حالة القفل أو الـ lock-in).
«قيود WebKit تحدّ من قدرة مزودي المتصفحات على تحسين متصفحاتهم من خلال إضافة تحسينات أمنية أو ميزات إضافية على نظام iOS، مقارنةً بمنصات أخرى، بما في ذلك أندرويد. وبالتالي، فقد يؤدي ذلك إلى تقليل المنافسة بين المتصفحات من حيث الميزات الأمنية على iOS.»
في أجهزة Apple، يمرّ كل المحتوى المتصفح عبر WebKit. أما بالنسبة لكل ما عدا ذلك، فلدينا لينكس أو أندرويد.