Jitsi Meet — набор открытых проектов для организации видеоконференций без привязки к сторонним платформам (Zoom, Google Meet, Teams). Jitsi-сервер разворачивается на собственной инфраструктуре: участники подключаются через браузер или мобильное приложение без регистрации и без передачи данных третьим компаниям. Все медиапотоки проходят через собственный сервер.
Архитектура Jitsi
Jitsi состоит из нескольких взаимосвязанных компонентов:
- Jitsi Meet — фронтенд на React. Работает в браузере без установки плагинов (WebRTC).
- Jicofo (Jitsi Conference Focus) — серверный компонент управления конференциями. Реализует сигнальный протокол через XMPP. Управляет участниками и медиапотоками.
- Jitsi Videobridge (JVB) — медиасервер. Маршрутизирует видео- и аудиопотоки между участниками через WebRTC. Работает по UDP/TCP на порту 10000.
- Prosody — XMPP-сервер для сигнальных сообщений между компонентами Jitsi.
- Coturn (необязательно) — TURN-сервер для участников за строгим NAT или корпоративным файрволом.
SFU vs MCU архитектура
Jitsi Videobridge использует SFU (Selective Forwarding Unit): сервер не перекодирует видео, а только пересылает потоки нужным участникам. Это снижает нагрузку на CPU в 5–10 раз по сравнению с MCU (Multipoint Control Unit), где сервер сводит все потоки в одну картинку. При 20 участниках в HD 720p Jitsi потребляет 200–400 Мбит/с исходящего трафика и 4–8 ядер CPU. Для менее чем 5 участников Jitsi использует P2P-режим — прямое WebRTC-соединение без прохождения через сервер, что снижает задержку и трафик.
Установка на Ubuntu 22.04
# Добавить Jitsi репозиторий
curl https://download.jitsi.org/jitsi-key.gpg.key | apt-key add -
echo "deb https://download.jitsi.org stable/" >> /etc/apt/sources.list.d/jitsi-stable.list
apt update
# Установить (введёт домен в интерактивном режиме)
apt install -y jitsi-meet
# Настроить SSL через Let's Encrypt
/usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh
Обязательные порты: 80/443 TCP (HTTP/HTTPS), 10000 UDP (медиапотоки JVB). Если UDP 10000 заблокирован (корпоративный файрвол) — настроить TCP fallback на порту 443 через Nginx.
История
Emil Ivov начал разработку Jitsi в 2003 году как дипломный проект в Страсбургском университете под названием SIP Communicator — SIP/XMPP-клиент на Java. В 2011 году проект переименован в Jitsi. В 2018 году 8x8 Inc. приобрела Jitsi и опубликовала исходный код Jitsi Meet под Apache 2.0. Пандемия COVID-19 в 2020 году привела к взрывному росту: число публичных Jitsi-серверов выросло с нескольких сотен до тысяч за месяц. В 2023 году добавлено E2E-шифрование через Insertable Streams и поддержка более 50 участников в конференции.
Требования к серверу
| Участников | CPU | ОЗУ | Канал |
|---|---|---|---|
| до 25 | 4 ядра | 4 ГБ | 100 Мбит/с |
| до 50 | 4–8 ядер | 8 ГБ | 500 Мбит/с |
| до 100 | 8–16 ядер | 16 ГБ | 1 Гбит/с |
| до 250 | 16–32 ядра | 32 ГБ | 2,5 Гбит/с |
Масштабирование и применение
На VDS с 4 ядрами и 8 ГБ ОЗУ Jitsi стабильно обслуживает 25–35 одновременных участников. Для 50+ участников рекомендуется выделенный сервер или горизонтальное масштабирование через несколько Jitsi Videobridge за балансировщиком. Jitsi поддерживает интеграцию с Kubernetes через Helm chart — JVB автоматически масштабируется под нагрузку. Для записи конференций используется Jibri (Jitsi Broadcasting Infrastructure) — виртуальный Chrome, захватывающий экран конференции; требует отдельного сервера с 4 ядрами и 4 ГБ RAM на каждую параллельную запись. Jitsi интегрируется с Nginx для SSL-терминации и обслуживает запросы на порту 443.