Недавно я наткнулся на интересный проект видеоконференций Jitsi Meet. Проект с открытым исходным кодом небезизвестной Atlassian. Проект использует WebRTC, ZRTP. Публичный сервер https://meet.jit.si/ готов к работе "из коробки". Но если это open source, почему не должен сразу заработать на другом сервере? Не так просто. На проверку этот типичный open source как и все остальные нужно "допиливать напильником" в нескольких местах.
Итак, оригиналы руководств и "допиливание" под Linux:
Установка и первоначальная настройка: https://github.com/jitsi/jitsi-meet/blob/master/doc/quick-install.mdДобавление безопасности: https://github.com/jitsi/jicofo#secure-domain
Для заведения пользователя используем prosodyctl:
# prosody register [user_name] [site_domain] [password]
Далее - веселее, у сервера мы поправим баги установщика и настраиваем под себя. Все файлы желательно перед изменением сохранить в папке резервного копирования.
Для Debian (вроде только у него такая бага в установке) нужно поправить название сгенерированного сертификата Letsencrypt:
# cd /etc/jitsi/meet
# mv ./[your_site].cert [your_site].crt
Чтобы приложение Jitsi Meet Electron "увидело" что на Вашем сервере стоит Jitsi API, потребуется сделать символическую ссылку, примерно следующее (Debian):
# cd /usr/share/jitsi-meet
# ln /usr/share/jitsi/libs/external_api.min.js /usr/share/jitsi/external_api.js
В итоге в браузере должно открываться: https://[your_site]/external_api.js
Потом скачаете под свою ОС Jitsi Meet Electron (https://github.com/jitsi/jitsi-meet-electron/releases/) и сможете подключаться к своему серверу (укажите URL в настройках Вашего приложения). Вроде мобильные приложения и без этого фикса заработают. В "настольных" у организатора появится возможность удаленно управлять (при согласии участника) рабочим столом участника конференции.
Google Chrome: как собрать под свой домен и добавить в Chrome/Chromium расширение: https://github.com/jitsi/jidesha
Хотите править настройки сервера? Вот исходник с подробными комментариями: https://github.com/jitsi/jitsi-meet/blob/master/config.js
У Вас надо идти в папку установки и править:
# cd /etc/jitsi/meet
# vi [site_name].js
Вот что там есть интересного:
- Раскомментировать это для стриминга приложения (видео из плеера) в конференцию:
// desktopSharingFrameRate: { |
// min: 5, |
// max: 5 |
// Optional desktop sharing frame rate options. Default value: min:5, max:5. |
На момент публикации Desktop Sharing в настольном Jitsi Meet Electron не читал настройку desktopSharingFrameRate сервера, но она отлично работает в браузерах.
- Настроить Ваше расширение для Chrome:
// The ID of the jidesha extension for Chrome. |
Личный опыт человека: https://www.adamhyde.net/setting-up-jitsi-letsencrypt-cert-and-desktop-sharing/