الصوت + 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 مضاف ذاتياً؟ هل هناك إعداد قد فاتني، أم أن هذه مشكلة في التكامل؟

إعجابَين (2)