Comments 45
Возился с jibri не так давно, тоже поплясать пришлось с конфигами и попереписываться с разработчиками. Есть ньюансы, не прописанные в мануалах. Дочитаю весь ваш цикл и отпишусь, чтобы не бежать впереди паровоза.
Есть один вопрос, напишите конфигурацию железа, на котором все это работает и точные версии сервисов. Спасибо.
root@matrix:~# dpkg -l |grep jitsi
ii jitsi-meet 2.0.5142-1 all WebRTC JavaScript video conferences
ii jitsi-meet-prosody 1.0.4466-1 all Prosody configuration for Jitsi Meet
ii jitsi-meet-web 1.0.4466-1 all WebRTC JavaScript video conferences
ii jitsi-meet-web-config 1.0.4466-1 all Configuration for web serving of Jitsi Meet
ii jitsi-videobridge2 2.1-376-g9f12bfe2-1 all WebRTC compatible Selective Forwarding Unit (SFU)
root@Jibri:~# dpkg -l |grep jibri
ii jibri 8.0-61-g99288dc-1 all Jibri
Jitsi и Jibri на виртуалках в VMware со следующими характеристиками:
2 ЦП по 4 ядра и 8 ГБ RAM
Железный сервер имеет следующие характеристики:
Процессор: Intel® Xeon® CPU E5-26200
2 ЦП по 6 ядер с частотой 2.0ГГц
Очень жаль, что проект фактически заброшен, так как по отношению к остальным бесплатным, он имел много функционала нужного при большом количестве участников.
Спасибо за статью, можно ли в jitsi настроить доступ через доменную авторизацию?
Самое главное разочарование с Jitsi — не смог осилить аутентификацию через OIDC (oauth через Gitlab или Google G.suite). Приходится прикрывать колхозным паролем от мира.
Сходу примеры.
1. Сервер под NAT, настроили, живем, но изредка падает videobridge в невразумительной ошибкой, и что печально, падает во время важных мероприятий. Месяц бились, нашли на форуме разрабов, что есть одна ни фига не документированная опция, с которой они у себя гоняют тестовую среду и поэтому воспроизвести проблему не могут. Прописали, полет норм уже месяцев 6, ни единого разрыва…
2. Понадобилось включить stun/turn. Все по докам и по coturn chronicles. Не работает. Тоже еле-еле на форуме нашел, что в случае включенной авторизации, надо еще пару вещей в конфиг prosody добавить.
И вот так во всём с этим джитсиком :(
— есть ограничение на кол-во одновременно работающих в одной конфе людей — 50, если не ошибаюсь. При попытке больше подключиться — выкидывает других.
— также можно масштабировать на несколько серверов — туда будут новые комнаты перекидываться, нагрузка автоматом регулируется в зависимости от нагрузки ноды.
— также можно настроить трансляцию на ютубчик, если народу более 50 чел.
Есть клиент под андроид, работает приемлемо.
Про ограничения вы ошибаетесь, все зависит от того, сколько сервер выдержит. Про масштабирование вы правы (Я писал, что об этом будет вторая статья). Транслировать или записывать видео помогает сервис Jibri, но ограничений по количеству человеков нет.
Проверяли на своем сетапе. Стабильно тянет 120-150 человек онлайн. Дальше начинают отваливаться рандомно юзеры на хреновом вайфае (а-ля роутер за 3-4 стены от клиента).
Если есть мобильные клиенты, то немного печальнее. Старые девайсы превращаются в печки, лагают и отваливаются, если больше 50 участников. Современные при 80, т.к. им похоже тупо мобильного канала не хватает.
Ну и все это проводим при условии, что мик и видео вырублены у всех кроме 1-2 выступающих/модеров.
а какие варианты есть для трансляции видеопотока с webrtc больше 20ти людям? на данный момент все упирается в bandwith меш сети. Я так понимаю надо использвать медиасервер типа Jibrі, писать видеопоток, а потом отдавать всем?
Jibri умеет писать и потом видеофайл можно отдать всем. Я сам не пробовал, но он так же умеет транслировать сразу куда-то конфу, например на YouTube.
Пока оно не совсем стабильно и надо вкл. принудительно в конфигах, но обещают на 30% меньше требований к пропуской способности сети при том же качестве.
Не рассматривали rocket.chat в плане как он работает с видеоконференциями? Они внедрили к себе сервисы jitsi.
Можно по jwt-token-ам или просто по паролю\без пароля.
Выше кто-то писал про проблемы при 50+ человек одновременно. В конфигах Джитси гибко регулируется min, ideal, maх разрешение для видеопотока.
cat /etc/jitsi/meet/name-config.js
...
// Sets the preferred resolution (height) for local video. Defaults to 720.
// resolution: 720,
// resolution: 480,
// resolution: 240,
resolution: 180,
maxFps: 15,
constraints: {
video: {
aspectRatio: 16 / 9,
frameRate: {
max: 15
},
height: {
ideal: 180,
max: 180,
min: 180
}
}
},
...
// https://community.jitsi.org/t/performance-optimization-jitsi-with-separate-videobridges-rather-poor-quality/31699/8
//My users are helped a-lot by disable measuring audio levels and rendering of the blue “i am talking dots”
//This setting along reduces CPU load on slower client computers 70% and will improve audio performance.
//A lot of the errors you see in the server log originate from overloaded client computers.
disableAudioLevels: true,
...
Вообще, в конфигах у Джитси много всего интересного (и с комментариями, что приятно). Покопайтесь.
Зы. Про jibri (запись конференций)
Install recording fot Jitsi devopstales.github.io/home/jitsi-jibri
Set Up Jibri for Jitsi Recording/Streaming nerdonthestreet.com/s/15
Зы2. Есть же еще Apache Openmeetings (недавно 5-ка зарелизилась на html5 www.opennet.ru/opennews/art.shtml?num=53645) и bigbluebutton (bbb, существует скрипт для установки на убунту 16). Вот у этих обоих и админка имеется.
Примерно в одно время с автором я разворачивал и настраивал связку jitsi+jibri, но к разработчикам и форуму сообщества обратился только сейчас, когда дело дошло до включения функциональности видео sip шлюза в jibri.
Если будут какие-то подвижки в этом вопросе — постараюсь изложить свой опыт по настройке этой функциональности здесь.
К слову, sip-шлюза с видео нет и в облачном «jitsi as a service».
Кто сможет подсказать, Jitsi на смартфонах не хочет фнукционировать? Куда можно копать?
В вебе или приложение?
Именно в приложении . Веб-версия работает.
Сертификаты ssl нужны и все заработает.
Если внимательно прочитать статью, то в ней говорится об этом
В процессе установки будет запрошен IP сервера или его dns имя. Если сервер должен работать с мобильными приложениями, то должно быть dns имя и ssl сертификат. Далее утилита спросит про сертификат ( первый вариант применим для автоматического подписания сертификата, при условии что IP адрес белый и есть dns-имя, второй – если уже есть сертификат, но тогда надо будет еще указать пути, где лежат сертификаты). Важное замечание: для подключения андроид устройств нужно добавить третий сертификат и прописать к нему путь в apache/nginx.
Да, спасибо. Перечитал, переустановил и вроде-бы все запустилось.
Теперь остается разобраться, почему jibri не пишет и даже из меню пропала кнопка "записи" ))))
Кнопка пропала, потому что эту функцию надо включить в конфиге джитси. А Jibri может не работать по многим причинам от слабого сервера, до неправильных/неполных настроек Jibri/Jitsi. Если внимательно будуте идти по ману, то все получится!
Прошелся уже несколько раз.
Лог выдает такую инфу:
WARNING: [28] [hostname=webrtc..com id=..com] MucClient.lambda8#642: Failed >
INFO: [28] [hostname=..com id=..com] MucClient2.connected#304: Connected.
INFO: [28] [hostname=..com id=..com] MucClient.lambda8#628: Logging in.
WARNING: [28] [hostname=..com id=..com] MucClient.lambda8#642: Failed >
INFO: [28] [hostname=..com id=..com] MucClient$2.connectionClosed#316: Closed.
В консоли браузера при нажатии на запись выдает следующее:

xserver-xorg-input-void
больше не требуется (с октября 2021) https://github.com/jitsi/jibri/pull/440
Свой сервер видеоконференций Jitsi. Часть 1 (Обновлено)