Всем привет,
Недавно я настроил сервер 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? Может быть, я пропустил какое-то настройку, или это проблема с интеграцией?