Устранить задержки аудиопотоков (WebRTC, Node.js)
Цель: Снизить текущие задержки через QoS(?) и оптимизацию маршрутов(SFU?)
Клиент [:2194] STT (распознавание речи) → LLM → TTS (синтез) [:2194] Клиент.
Текущий стек:
- Бекенд на Node.js с передачей аудио через WebSocket.
- STT (Speech-to-Text) → LLM → TTS (Text-to-Speech) [:2194] Клиент
- Аудиокодек: PCM16 (8 kHz) (без перекодирования, совместимость с браузерами, включая Safari).
Текущее видение реализации проекта (вероятно оно может быть другое)
1. Анализ и проектирование:
* Изучить текущую архитектуру (WebSocket + Node.js).
* Предложить схему уменьшения задержек, через SFU для 1:1 аудиосвязи (не конференции!).
2. Настройка SFU-сервера:
* Развернуть Mediasoup / Jitsi / OpenVidu, или облачное решение Daily / LiveKit, но мы там ограничены комнатами, возможно это не так).
3. Оптимизация задержек:
* Устранить узкие места в цепочке (замер текущих задержек ~300-400 мс).
* Протестировать работу в условиях высокой нагрузки.
4. Масштабирование:
* Настроить горизонтальное масштабирование SFU (Docker/Kubernetes).
* Добавить балансировку нагрузки между экземплярами STT/TTS.
5. Синхронизация с IP-телефонией:
* Подготовить интеграцию с SIP (на будущее, но учесть в архитектуре).
Требования к кандидату:
* Экспертиза в WebRTC (ICE/STUN/TURN, аудиопотоки).
* Опыт с SFU (Mediasoup, Jitsi и.т.д) и аудиокодеками (PCM, Opus).
* Навыки в Node.js (бекенд для медиасерверов).
* Понимание сетей: RTP, QoS, туннелирование.
Сервера и хостинг