الصوت + LiveKit المضيف ذاتيًا: فيديو الكاميرا منخفض الدقة وتقطّع أحادي الاتجاه

مرحباً بالجميع،

لقد قمت مؤخراً بإعداد خادم 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. تضمنت السجلات هذه الرسائل:

adding up track failed: duplicate layer

unbound buffer overflowing, dropping packets

ظهرت خلال ذلك التحقيق نقطتان قد تكونان ذات صلة:

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

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

هل واجه أي شخص آخر هذه المشكلة مع ميزة الصوت وخادم LiveKit مضاف ذاتياً؟ هل هناك إعداد قد فاتني، أم أن هذه مشكلة في التكامل؟

3 إعجابات

تحديث!

يستمر هذا المشكلة حتى بعد انتقالي إلى LiveKit Cloud، لذا لا علاقة لها إطلاقًا باستضافة LiveKit ذاتيًا. كما قمت باختبار الأمر على أجهزة إضافية (Safari على iPad وChrome على MacOS). لاحظت أن فيديو Safari على iPad يظهر على Chrome في MacOS بتأخير/تقطّع/حبيبات، بينما كانت الجودة الصوتية لا تزال جيدة.

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

آمل أن يُحسَّن هذا الوضع، على الرغم من أنني أعلم أنه قد يكون مرتبطًا بعطل على مستوى النظام (حالة القفل أو الـ lock-in).

«قيود WebKit تحدّ من قدرة مزودي المتصفحات على تحسين متصفحاتهم من خلال إضافة تحسينات أمنية أو ميزات إضافية على نظام iOS، مقارنةً بمنصات أخرى، بما في ذلك أندرويد. وبالتالي، فقد يؤدي ذلك إلى تقليل المنافسة بين المتصفحات من حيث الميزات الأمنية على iOS.»

في أجهزة Apple، يمرّ كل المحتوى المتصفح عبر WebKit. أما بالنسبة لكل ما عدا ذلك، فلدينا لينكس أو أندرويد.

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

يا إلهي، لم أفكر في ذلك حتى. لكن من المنطقي، للأسف… :frowning:

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

شكرًا لك على التقرير المفصّل، سأبحث في الأمر خلال الأسابيع القادمة.

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

شكرًا لك على الإبلاغ

أخبرني إذا كان هذا يحل المشكلة!

إعجابَين (2)