Jitsi meet инструкция на русском

Джутси

Интернет телефония имеется в каждом доме, и каждый пользователь находит для себя самое удобное решение – Скайп, Zoom, мессенджеры для звонков и другие способы. Предлагаю рассмотреть еще один простой и интересный способ, это сервис Jitsi meet. Разберем, как пользоваться им и вы попробуете организовать видеочат со своими друзьями.

Jitsi – это надежный, простой и бесплатный способ видеосвязи, который работает по принципу “точка – точка”, от браузера к браузеру на desktop. У сервиса отсутствует свой сервер.

На сайте не нужно регистрироваться и не нужно скачивать дополнительных программ.

Соединение надежно защищено, что обеспечивает надежность передаваемых данных.

Для общения достаточно запустить браузер Опера, Мазила, Chrome и перейти на сайт https://meet.jit.si

В строке под заголовком “Начать новую конференцию” нужно прописать любое название нового стрима и нажать кнопку “ОК”.

главная страница

Сервис требует доступ к камере и микрофону, смело разрешаете, а как иначе вести трансляцию.

разрешение на доступ

Сервис на английском языке, но для удобства можно переключить на русский язык. Настройки находятся в правом нижнем углу страницы.

изменить язык

После клика по настройкам откроется окно, в разделе “Больше опций” можно выбрать язык, которым пользуетесь.

В разделе профиль заполнить имя (будут видеть другие участники) и по желанию E-mail.

Имя и почта

Если почта прописана, сервис подтянет ваш граватар на экран.

Чтобы пригласить участников вебинара, трансляции, стрима, нужно отправить им ссылку. https://meet.jit.si/математика10б

Последнее слово в ссылке, есть название трансляции. Придумывайте его немного сложнее, чтобы случайно другой пользователь не мог забрести на вашу трансляцию.

Приглашение можно рассылать любому количеству участников, ограничения нет.

Если хотите посмотреть, как другие пользователи тестируют сервис, наберите в конце ссылки слово “test”. И можете увидеть много интересного и даже пообщаться, если будут участники, говорящие на вашем языке.

Ваша комната вебинара будет выглядеть следующим образом. Справа вверху ваше окно, по центру граватар (если ввели почту). Снизу панель управления, которую рассмотрим далее.

вебинарная комната

Панель управления

Демонстрация экрана дает возможность выбора, что показывать другим участникам:

  • весь экран монитора
  • окно приложения или программы
  • определенная вкладка браузера

демонстрация экрана

Рука. Нажатие на иконку сигнализирует организатору, что участник хочет говорить.

рука

Сообщение – этот логотип запускает чат, в котором можно делиться текстовыми сообщениями или задавать вопросы.

чат

Микрофон – позволяет включать и отключать микрофон вашего устройства.

Завершить. Красная кнопка – выход с трансляции.

Камера – включение и выключение веб-камеры вашего устройства.

микрофон и камера

Как организовать дистанционное обучение 

Трансляция Jitsi в Ютуб

У сервиса есть возможность передавать video трансляцию на Ютуб, если вы имеете свой канал и подписчиков. Ваш стрим через Jitsi meet они могут смотреть в прямом эфире Ютуба.

Для этого создаете прямую трансляцию в Ютуб и копируете ключ трансляции.

Это ключ нужно вставить в специальное окно сервиса.

начать трансляцию

вставить ключ

Запись вебинара

Сервис позволяет вести запись стрима и сохранит его в облачное хранилище Dropbox. Если у вас есть аккаунт, то синхронизируйте его, используя данные для входа. В противном случае придется зарегистрироваться в облаке.

Мобильный Jitsi Meet

Сервис имеет и мобильную версию, но здесь придется загружать приложение из магазина Плэй Маркет. Оно тоже бесплатно и работает на любом устройстве Android, Iphone.

Функций немного меньше, но это не помешает организовывать или участвовать в конференциях, стримах и вебинарах.

мобильный чат

Как и в десктопной версии нужно придумать название новой комнаты для трансляции или ввести переданное вам название существующей.

создать комнату

В разделе недавние будут отображаться все трансляции, которые посещали ранее, кликнув по нужной, зайдете в нее снова.

Для открытого общения студентов с преподавателями и между собой, например при защите проектов, мы  используем сервис Jitsi Meet. Он не требует установки программ или регистрации на каких-либо сервисах. Сервис мультиплатформенный, т.е. поддерживает разные устройства: Windows, Mac, планшет на Android и т.д.  Достаточно обычного браузера (Mozilla Firefox или Google Chrome подойдут). Ограничений по числу участников чата нет.

Зайти на сервис можно здесь:    https://meet.jit.si/

Вот как выглядит главная страница сервиса:

Jitsi Meet - главная страница сервиса

Если хотите перевести на другой язык, нажмите кнопку-шестеренку:

Jitsi Meet - кнопка-шестеренка

Откроется окно. Во вкладке «More» выберите язык. Далее все иллюстрации приводятся на русском языке.

Jitsi Meet - смена языка

1. Администрация школы заранее пришлет Вам ссылку вида https://meet.jit.si/name с информацией о времени, когда необходимо подключиться к диалогу. Возможно, будет необходимо ввести пароль.

Вам надо будет просто перейти по адресу.

2. Браузер может попросить разрешение на доступ к микрофону и видеокамере. Нажмите на кнопки «Разрешить доступ…». (В разных браузерах и операционных системах этот запрос может выглядеть по-разному).

Доступ к микрофону

Вы можете заметить, что перед адресом в браузере появился значок камеры, а в верхней части экрана по центру – вот такой маленький значок (пример для Firefox):

Jitsi Meet - Доступ к микрофону и видеокамере

Рабочая чат-комната выглядит так. Это вы. В правом верхнем углу отразится экранное имя. По умолчанию все участники видят друг друга по одинаковыми именами «Fellow Jitster». Так общаться неудобно. Лучше сразу выбрать для себя имя (достаточно щелкнуть по прямоугольнику в правом верхнем углу). На картинке выбрано имя «Brother Dog».

Видеочат

Дождитесь, когда присоединятся ваши друзья. (У зайчика камера на ноутбуке похуже вашей).

Видеочат: присоединился друг

Можете общаться. В правой части чата, сверху вниз, маленькие окошки – вы и ваши собеседники. Здесь можно увидеть их лица (если камеры включены, иначе – картинки-аватары, которые Jitsi Meet назначает произвольно) и имена (имя каждый может задать себе сам).

3. Подведите курсор к нижней части экрана чат-комнаты. Появится полоска меню. Там целый ряд кнопок, но нас сейчас интересуют три центральные:

  • Центральная кнопка – «повесить трубку», завершить чат. (Перед выходом вам предложат оценить качество связи).
  • Слева – включить/отключить микрофон.
  • Справа – включить/отключить камеру.

Советуем сначала при включенных камерах удостовериться, что в чате присутствуют именно те люди, которые должны там находиться, а потом отключить камеры для экономии трафика. Разумеется, необходимо также отключать свой микрофон, если вы не говорите в данный момент. Это сэкономит трафик и уберет из общего «эфира» лишние шумы.

Основные функции Jitsi Meet

Наведите курсор на нижнюю часть экрана. Всплывет меню. Обратите внимание на левую часть.

Меню слева

  • Показать свой экран (рабочий стол) собеседникам.
    Здесь Вы можете показать собеседникам свой рабочий стол или отдельные окна. Обратите внимание, что окна должны быть открыты, а не свернуты.
  • «Рука».
    Нажатие на кнопку показывает участникам чата, что вы хотите высказаться. Полезно, чтобы не перебивать говорящих. В окошке, соответствующем вашему персонажу (справа), появится такой же значок ладони в кружке синего цвета.
  • Текстовый чат.
    Пригодится для задания вопросов выступающему или общению между собой. Если диалог транслируется в эфир, то все, что Вы будете писать в этом чате, будет транслироваться всем зрителям вебинара.

Jitsi Meet - текстовый чат

Теперь обратимся к правой части всплывающего меню.

Jitsi Meet - меню справа

  • Изменить внешний вид окна чата.
    Вы можете вывести окошки собеседников в центр экрана, сделать их крупнее, если так вам удобнее общаться.
  • Пригласить людей в чат.
    Эту функцию мы не используем
  • Информация о чате.
    Здесь находится вся информация о встрече, в том числе и задается пароль. Во избежание недоразумений лучше не нажимайте на эту кнопку, а если нажали, то не трогайте пароль, чтобы невольно не навредить другим участникам встречи.
  • Прочие функции.
    О них – далее.

Расширенные функции Jitsi Meet

Последняя кнопка во всплывающем меню (три точки) ведет к дополнительным функциям Jitsi Meet.

Jitsi Meet - расширенные функции

Рассмотрим их по порядку сверху вниз.

  • Ваше экранное имя.
    (В данном случае «Brother Dog»). Вы можете в любой момент поменять его, если выберете этот пункт. 
  • Качество связи.
    По умолчанию оно высокое, но вы можете попробовать снизить его, если ваш чат «тормозит».
  • Полный экран.
    Можно развернуть чат на полный экран.
  • Начать трансляцию.
    Этот пункт для модератора встречи, Вам в него, во избежание выхода из встречи, заходить не рекомендуется.
  • Видео Youtube.
    А здесь вы можете поделиться с участниками вашего чата каким-либо интересным и полезным роликом Youtube (достаточно просто указать ссылку).
  • Общий документ.
    Может пригодиться, если нужно по ходу обсуждения фиксировать какие-либо договоренности или мысли. Самый обычный текстовый формат с минимальными «украшательствами». Перед тем, как покинуть чат, не забудьте сохранить содержимое общего документа.
  • Настройки.
    Здесь вы можете переопределить устройства (выбрать другие камеру и/или микрофон, если у вас в системе больше одной камеры и больше одного микрофона) и осуществить ряд прочих мелких настроек.
  • Статистика.
    Сколько говорил каждый участник.
  • Отзыв.
    Можно оценить качество связи (то же самое предлагают сделать при выходе из Jitsi Meet, но вдруг вы предпочитаете писать отзывы, находясь в чате?)
  • Комбинации клавиш.
    Подсказка для тех, кто любит использовать «клавиатурные сокращения» вместо пунктов меню.

Надеемся, с помощью этой инструкции Вам стало понятно, как пользоваться сервисом Jitsi Meet.

author__photo

Содержание

Онлайн-конференции постепенно становятся новым форматом делового общения, позволяющим удобно и быстро организовать связь. В этом помогают специальные сервисы для проведения видеозвонков. Помимо основного назначения их дополнительный функционал помогает обмениваться сообщениями и документами. О возможностях одного из таких сервисов, как Jitsi — в нашей статье.

Как пользоваться сервисом и функции

Среди всего функционала Jitsi можно выделить следующие возможности:

  • трансляция видеоизображении и передача звука;
  • наличие текстовых чатов;
  • защита конференций с помощью пароля;
  • возможность приглашения большого числа пользователей.

Панель управления

На панели управления располагаются:

  • демонстрация экрана;
  • рука — показывает желание участника говорить;
  • сообщение;
  • микрофон;
  • камера;
  • завершение трансляции.

Трансляция Jitsi в Ютуб

При помощи Jitsi можно транслировать конференции прямо в YouTube при наличии собственного канала. Для этого нужно создать трансляцию на видеохостинге, скопировать ее уникальный ключ и вставить в нужное окно на Jitsi.

Запись вебинара

Все записанные конференции, вебинары, стримы хранятся в облаке Dropbox. Для этого необходима предварительная регистрация и синхронизация с аккаунтом.

Мобильный Jitsi Meet

Jitsi в виде мобильного приложения работает как на Android, так и на iOS. Установить его можно с помощью профильного магазина. У приложения более ограниченный функционал, однако с его помощью возможно еще проводить конференции или присоединяться к ним.

Установка платформы на сервер Ubuntu 18.04

Для иллюстрации примера по установке будет использоваться хостинг-провайдер Vultr. Перед началом необходимо убедиться, что все условия для установки соблюдены: выбраны параметры сервера и доменное имя.

Выбор сервера

При регистрации на указанном провайдере выберите сервер Cloud Compute. Далее укажите геолокацию со страной, которая будет наиболее близкой.

Как создать swap-файл подкачки

Стоит создавать файл, соразмерный объему оперативной памяти, например, 1 ГБ. Для этого напишите следующий код:

sudo dd if=/dev/zero of=/swapfile count=1024 bs=1M

sudo chmod 600 /swapfile

sudo mkswap /swapfile

sudo swapon /swapfile

echo ‘/swapfile none swap sw 0 0′ | sudo tee -a /etc/fstab

free -m

Доменное имя и создание хост-имени

Приобрести доменное имя можно на специализированных сайтах вроде Reg.ru. При наличии доменного имени необходимо создать поддомен и заняться настройкой DNS. Для этого замените А-запись на IP-адрес.

Смена хост-имени сервера

Для смены хост-имени выполняем следующие команды:

sudo hostnamectl set-hostname jitsi

sudo sed -i ‘s/^127.0.1.1.*$/127.0.1.1 jitsi.example.com jitsi/g’ /etc/hosts

В данном случае Jitsi будет именем сервера, а Jitsi.example — имя поддомена.

Настройка правил фаервола для работы платформы Jitsi Meet

Эта настройка требует разрешения трафика OpenSSH, HTTP и HTTPS и UDP трафика, появляющегося по некоторым портам. Для этого выполняются следующие действия:

sudo ufw allow OpenSSH

sudo ufw allow http

sudo ufw allow https

sudo ufw allow in 10000:20000/udp

sudo ufw enable

После нужно выбрать вариант «Y» и нажать Enter.

Обновление и перезагрузка системы

Для этого используются команды:

sudo apt update

sudo apt upgrade -y && sudo shutdown -r now

Установка OpenJDK Java Runtime Environment (JRE) 8

Настройка Jitsi требует установки программы для Java-приложений и других разработок. Чтобы это сделать, необходимо произвести в терминале команду:

sudo apt install -y openjdk-8-jre-headless

Установка веб-сервера Nginx

Для правильной работы Jitsi необходимо провести установку Nginx. Сервер настраивается автоматически благодаря алгоритмам Jitsi Meet. Установить его можно с помощью:

sudo apt install -y nginx

sudo systemctl start nginx.service

sudo systemctl enable nginx.service

Установка Jitsi Meet на сервер

Для системы Ubuntu установка Jitsi может происходить с использованием репозитория. Для его добавления понадобятся следующие команды:

cd

wget -qO – https://download.jitsi.org/jitsi-key.gpg.key | sudo apt-key add –

sudo sh -c “echo ‘deb https://download.jitsi.org stable/’ > /etc/apt/sources.list.d/jitsi-stable.list”

sudo apt update -y

После этого установить саму платформу с помощью:

sudo apt install -y jitsi-meet

Добавление учетных записей в Jitsi

В сервис можно добавлять несколько учетных записей, исходя из потребностей пользователей. Это можно сделать не только при первом запуске сервиса, но и добавить записи в дальнейшем.

Добавление учетной записи Google Talk

Чтобы добавить нужную учетную запись, необходимо:

  1. Выбрать раздел «Файл» — «Добавить новую учетную запись».
  2. Указать необходимый аккаунт — Google Talk.
  3. Ввести данные от аккаунта.
  4. Добавить аккаунт.

Добавление учетной записи Facebook*

* (продукт компании Meta, которая признана экстремистской организацией)

При интеграции c Jitsi в Facebook* (продукт компании Meta, которая признана экстремистской организацией) необходимо провести соответствующие настройки:

  1. Присвоить аккаунту имя пользователя. Это можно сделать в социальной сети через Настройки в разделе Общие.
  2. Выбрать «Settings» — «Apps», чтобы включить «Платформы приложений».
  3. Далее следовать вышеуказанному алгоритму и выбрать из доступного списка учетных записей Facebook* (продукт компании Meta, которая признана экстремистской организацией).

Добавление учетной записи Jabber/XMPP

Jabber/XMPP представляют собой протокол быстрых текстовых сообщений, который можно интегрировать с Jitsi. Чтобы добавить учетную запись, необходимо:

  1. Выбрать «Файл» — «Добавить новую учетную запись».
  2. Указать XMPP.
  3. Создать новую учетную запись XMPP.
  4. Указать значение jabber.ccc.de в разделе Сервер и имя пользователя.
  5. Придумать пароль.
  6. Добавить учетную запись.

Добавление учетной записи SIP

Это добавление будет рассматриваться с помощью ostel.co, провайдера для этого протокола. Он отличается одним из наиболее надежных способов шифрования.

Учетные записи SIP нельзя напрямую создавать в Jitsi. Поэтому их регистрация будет происходить непосредственно в ostel.co. Для этого нужно:

  1. Перейти на сайт провайдера.
  2. Указать желаемый адрес электронной почты.
  3. Начать этап регистрации с помощью кнопки Sign up.
  4. Указать имя пользователя.
  5. Придумать пароль.
  6. Подтвердить создание учетной записи.

Защита видеоконференций Jitsi с помощью пароля

После проведения работы по настройке сервера важно удостовериться, что видеоконференция надежно защищена паролем. Для этого необходимо:

  1. В правом нижнем углу кликнуть на иконку с дополнительными сведениями.
  2. Выбрать вариант «Установить пароль».
  3. Ввести желаемый пароль, чтобы защитить чат от постороннего входа.

После этого все участники, которые будут присоединяться к конференции, должны ввести указанный организатором пароль.

Повышение безопасности в настройках Jitsi

В стандартном режиме сервис сохраняет всю информацию о голосовых и текстовых сообщениях, которыми обмениваются пользователи. Однако эту функцию можно запретить, если при проведении конференции кликнуть на иконку песочных часов, располагающуюся в основном окне. После этого будет отключена функция хранения данных как для определенного участника, так и для всех участников конференции.

Удаление и отключение истории чатов

После отключения функции записи можно позаботиться об удалении уже имеющейся информации. Для этого необходимо:

  1. При просмотре чата нажать в окне на иконку песочных часов.
  2. Выбрать вариант «Стереть всю историю».

После этого все сведения будут удалены.

Настройка Jitsi на автоматическое шифрование

Чтобы включить режим шифрования при обмене текстовыми сообщениями, необходимо:

  1. Перейти в раздел Инструменты — Опции.
  2. Далее выбрать раздел «Безопасность».
  3. Во вкладке «Чат» отметить пункт «Автоматически включать шифрование».

Установка мастер-пароля в Jitsi

Для установки мастер-пароля нужно:

  1. Перейти в раздел «Опции».
  2. Кликнуть на вкладку «Безопасность» — «Пароли».
  3. Указать пункт «Использовать Мастер-пароль».
  4. Придумать новый пароль.
  5. Сохранить введенные данные.

Шифрование текстовых и голосовых сообщений

При добавлении первой учетной записи пользователь может начать включать в свой список разные контакты, чтобы затем связываться с ними через сервис.

Добавление контактов в Jitsi

Чтобы добавить контакты, необходимо:

  1. Выбрать раздел «Файл» — «Добавить контакт».
  2. Указать учетную запись, в которую будет добавляться контакт.
  3. Назначить идентификатор в разделе «ID или номер».
  4. Добавить новый контакт.

После этого собеседник должен принять приглашение, и он будет добавлен в список контактов.

Использование Jitsi для безопасного текстового чата

Чтобы включить протокол для сквозного шифрования сообщений в Jitsi, необходимо:

  1. Перейти в раздел «Опции».
  2. Выбрать раздел «Безопасность» — «Чат». После этого заняться созданием ключа OTR.
  3. Кликнуть на «Создать».
  4. Выбрать контакт из списка.
  5. Кликнуть на значок «Начать приватный разговор».

Режим шифрования включается автоматически и отмечается соответствующим значком.

Использование Jitsi для безопасных голосовых и видеозвонков

Чтобы защитить звонки, проходящие через Jitsi, следует:

  1. Выбрать необходимый контакт.
  2. Начать звонок.
  3. При ответе собеседника сервис сообщит об установке соединения. Красный замок показывает, что звонок остается незашифрованным.
  4. При возможности установить шифрование цвет замка изменится на оранжевый, а рядом возникнут буквы zrtp.
  5. Далее необходимо сверить ключ с собеседником и подтвердить, что вы видите одно и то же. После этого замок станет зеленого цвета.

Заключение

Настройка Jitsi — долгий, многоступенчатый процесс, но старания пользователей компенсируются в момент использования сервиса. Он надежно защищает переписки, голосовые и видеосообщения, записывает необходимые данные. Jitsi хорошо подходит для делового общения и организации онлайн-конференций в безопасном формате.

Введение

В этой статье мы расскажем, что такое сервер видеоконференций Jitsi Meet и как установить его на свой сервер. Мы будем рассматривать настройку публичного сервера, доступного из интернета. Поэтому выпустим бесплатный TLS-сертификат от Let’s Encrypt и добавим обязательную авторизацию для создания конференций.

Что такое Jitsi Meet

Jitsi Meet — это бесплатный сервис для проведения аудио/видео конференций с открытым исходным кодом. Поддерживает все необходимые для конференц-связи функции: создание нескольких залов, демонстрацию экрана, запись конференции, общение в чате и так далее. Для подключения можно использовать браузер или отдельный клиент, который есть для всех популярных платформ: Windows, MacOS, Linux, Android, iOS.

В отличие от других аналогичных сервисов, вроде Zoom или Google Meet, Jitsi Meet можно установить на свой сервер. Это значит, вы не зависите от стороннего сервиса и полностью контролируете свои данные. Jitsi Meet состоит из различных модулей. Часть из них — основные модули, которые составляют ядро системы. Другие — дополнительные, которые позволяют кастомизировать Jitsi Meet и добавлять функциональность при необходимости.

Системные требования

У Jitsi Meet нет единых базовых требований к системе, которые подойдут для всех случаев. Все зависит от количества конференций и участников в них, качества видео и дополнительных возможностей, которые вы можете захотеть использовать. Но все же приведем немного данных для понимания общего порядка.

  • Сеть. Небольшому серверу для общения с друзьями или небольшой командой будет достаточно скорости 1 Гбит/с, но для серьезного сервера на большое число конференций рекомендуется скорость 10 Гбит/с.
  • RAM. В большинстве случаев рекомендуется 8 ГБ оперативной памяти. Для небольших совещаний можно обойтись 4 ГБ, а для тестирования можно вообще ограничиться 2 ГБ. Использовать больше 8 ГБ не рекомендуется — лучше создать кластер из нескольких серверов, а не добавлять больше памяти.
  • CPU. Для большинства ситуаций хватит 4х ядер процессора физического сервера. Если Jitsi Meet развернут на VPS, то процессор будет делить время с другими потребителями этого сервера, и в этой ситуации лучше использовать больше ядер.
  • Диск. Вполне будет достаточно 20 ГБ HDD. Можно использовать и SSD, но особой оптимизации это не даст.

Создание виртуальной машины на платформе Selectel

Перед началом установки Jitsi Meet мы создадим виртуальную машину, где будем разворачивать этот сервис. В разделе Облачная платформа выберем Серверы и нажмем кнопку Создать сервер.

создание виртуальной машины

Переходим в интерфейс создания новой виртуальной машины.

  • В первую очередь выберем источник образа — Ubuntu 22.04.
  • Затем выберем конфигурацию CPU и RAM. Так как мы создаем тестовый сервер, будет достаточно 2 CPU и 4 ГБ RAM.
  • Выбираем HDD-диск размером не менее 20 ГБ, как того требует Jitsi Meet.
  • Выбираем существующую публичную подсеть или создаем новый публичный IP-адрес. Мы планируем настраивать публичный адрес, поэтому сервер должен быть доступен всем из интернета.
  • Обязательно проверьте, что выбрали правильный SSH-ключ для подключения к машине.

конфигурация и проверка ssh-ключа

После создания сервера подождем несколько минут, пока виртуальная машина настраивается и загружается. После этого в списке серверов мы увидим новый сервер. Копируем публичный IP-адрес и подключимся к нему по SSH с использованием ключа, который мы выбрали при создании машины.

копируем публичный ip-адрес

Мы подготовились к установке и настройке Jitsi Meet.

Открытие портов брандмауэра

Для работы Jitsi Meet на сервере должны быть открыты несколько обязательных портов:

  • 80/TCP – Если используется Let’s Encrypt, этот порт нужен для выпуска и обновления TLS-сертификата.
  • 443/TCP – Для общего доступа к Jitsi Meet, в том числе через браузер.
  • 10000/UDP – Для проведения аудио/видео конференций.
  • 5349/TCP – Резервный порт для аудио/видео конференций на случай, если UPD-порт 10000 заблокирован.

Чтобы открыть эти порты, выполним команды:

iptables -I INPUT -p tcp --match multiport --dports 80,443 -j ACCEPT
iptables -I INPUT -p tcp --dport 10000 -j ACCEPT
iptables -I INPUT -p tcp --dport 5349 -j ACCEPT

Чтобы эти настройки сохранились и после перезагрузки сервера и брандмауэр не блокировал подключения, установим пакет iptables-persistent и сохраним правила:

apt install iptables-persistent
netfilter-persistent save

Перед началом установки Jitsi Meet нужно выбрать имя домена, на котором будет доступен сервер. Мы для примера во всех настройках будем использовать доменное имя meet.my-domain.com. Во всех последующих инструкциях заменяйте это имя на свое.

Для начала вам нужно добавить в DNS запись с типом A, которая будет указывать на IP-адрес вашего сервера. В зависимости от вашего регистратора доменных имен, это делается по-разному, поэтому обратитесь к соответствующей документации вашего провайдера.

Далее нужно настроить сервер, чтобы также установить соответствие доменного имени и IP-адреса. Выполним команду:

hostnamectl set-hostname meet.my-domain.com

Затем добавим в файл /etc/hosts запись вида:

5.159.102.117 meet.my-domain.com

где 5.159.102.117 – публичный IP-адрес вашего сервера.

Установка сервера видеоконференций Jitsi Meet

Мы будем устанавливать Jitsi Meet на виртуальную машину с Ubuntu 22.04. Для начала убедимся, что в системе активирован репозиторий universe, который необходим для установки зависимостей:

sudo apt-add-repository universe

Далее добавим репозиторий Prosody. Это кроссплатформенный XMPP-сервер, который используется в Jitsi «под капотом»:

curl -sL https://prosody.im/files/prosody-debian-packages.key | sudo tee /etc/apt/keyrings/prosody-debian-packages.key
echo "deb [signed-by=/etc/apt/keyrings/prosody-debian-packages.key] http://packages.prosody.im/debian $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/prosody-debian-packages.list
apt install lua5.2

Теперь добавим непосредственно репозиторий Jitsi Meet:


curl -sL https://download.jitsi.org/jitsi-key.gpg.key | gpg --dearmor | sudo tee /usr/share/keyrings/jitsi-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/jitsi-keyring.gpg] https://download.jitsi.org stable/" | sudo tee /etc/apt/sources.list.d/jitsi-stable.list

Обновим список пакетов:

sudo apt update

Теперь установим Jitsi Meet. Установщик сам убедится, что в системе присутствует Nginx или Apache и сконфигурирует виртуальный хост для веб-сервера. Если у вас уже запущен какой-либо сервер на порту 443, установка завершится ошибкой из-за конфликта, т.к. Jitsi Meet тоже использует этот порт.

sudo apt install -y jitsi-meet lua-unbound

Вскоре запустится интерактивный установщик, который периодически будет требовать выбрать те или иные опции:

  • На первом экране нужно указать домен, на котором будет располагаться ваш сервер. Мы для примера используем meet.my-domain.com.
  • Далее необходимо определиться с SSL-сертификатом. Установщик может самостоятельно выпустить сертификат через Let’s Encrypt, использовать ваш сертификат или выпустить новый самоподписанный. Мы выберем первый вариант — выпуск сертификата через Let’s Encrypt.
  • Далее нужно указать e-mail адрес, как того требует соглашение сервиса Let’s Encrypt. На этот адрес будут приходить уведомления, в том числе об истечении сертификата.

Если DNS-записи вашего домена настроены правильно, то через несколько минут Jitsi Meet автоматически сгенерирует сертификат Let’s Encrypt и поместит его в нужный каталог.

Настройка аутентификации пользователей

По умолчанию в Jitsi Meet любой пользователь может создавать конференции. Если сервер развернут внутри корпоративной сети, тогда такой вариант может вам подойти. Но если разворачивать публичный сервер, необходима авторизация. Мы настроем Jitsi Meet так, что создавать конференции смогут только зарегистрированные пользователи, а подключаться к ним — кто угодно.

Для начала отредактируем файл:

/etc/prosody/conf.avail/meet.my-domain.com.cfg.lua

В разделе VirtualHost «[meet.my-domain.com]» заменим анонимную аутентификацию на аутентификацию с паролем:

VirtualHost "jitsi-meet.example.com"   
   authentication = "internal_hashed" 

Теперь включим анонимный доступ для гостей, чтобы они могли подключаться к уже созданным видеоконференциям. Для этого после предыдущего блока добавьте следующее:

VirtualHost "guest.jitsi-meet.example.com"
   authentication = "anonymous"
   c2s_require_encryption = false

В данном случае поддомен guest необходим только для настроек Jitsi. Для него не нужно создавать DNS-запись, генерировать TLS-сертификат или настраивать веб-сервер.

Далее будем редактировать файл:

/etc/jitsi/meet/meet.my-domain.com-config.js. Нужно найти в нем строки:

   hosts: {
   	// XMPP domain.
   	domain: 'meet.my-domain.com',

И добавить строку anonymousdomain: ‘guest.meet.my-domain.com’, чтобы в итоге получилось так:

 hosts: {
   	// XMPP domain.
   	domain: 'meet.my-domain.com',
   	anonymousdomain: 'guest.meet.my-domain.com',

Тем самым мы указываем, на каком хосте нужно выполнять аутентификацию анонимных пользователей.

Следующим шагом редактируем файл /etc/jitsi/jicofo/jicofo.conf. Найдем в нем раздел jicofo и добавим в него новый блок:

authentication: {
   enabled: true
   type: XMPP
   login-url: meet.my-domain.com
}

Настройка Jitsi Meet завершена. Нам остается только создать пользователей, которые смогут создавать конференции. Для этого выполним команду:

sudo prosodyctl register <логин> meet.my-domain.com <пароль>

Осталось перезапустить все компоненты Jitsi, чтобы применить выполненные настройки:

sudo systemctl restart prosody jicofo jitsi-videobridge2

Начало работы с Jitsi Meet

Теперь немного попробуем использовать Jitsi в действии. Открываем в браузере адрес нашего сервера, например https://meet.my-domain.com.

адрес сервера в jitsi meet

Мы видим начальный интерфейс Jitsi Meet, который предлагает создать новые конференции и показывает уже созданные. Указываем название для конференции или просто нажимаем кнопку Start Meeting, чтобы создать комнату со случайным названием.

создаем комнату

Дальше появляется окно, в котором Jitsi предлагает нам залогиниться. Нажимаем кнопку I’m a host, вводим логин и пароль созданного пользователя. Наша настройка авторизации для создания конференций работает.

Теперь попробуем залогиниться в эту комнату анонимно, чтобы проверить вторую часть конфигурации. Для этого копируем из адресной строки ссылку и открываем ее в приватной вкладке или в другом браузере. Подключаемся к конференции, при этом Jitsi не запросит логин и пароль, т.к. комната уже создана и подключаться к ней может любой желающий.

Заключение

Мы рассмотрели установку и базовую настройку Jitsi Meet на Ubuntu 22.04. Подготовили систему к установке, автоматически выпустили TLS-сертификат, а также настроили обязательную аутентификацию для создания конференций.

Привет! Меня зовут Роман. Я back-end разработчик в digital-агентстве MACHAON. Мы занимаемся разработкой и развитием цифровых решений для b2b и EdTech.

В июне мы запустили онлайн-школу Programica для подготовки к ЕГЭ с возможностью создания неограниченного количества курсов по разным предметам, с видеотрансляциями, чатом, автоматизированными тренировками, дашбордами с прогрессом обучения и многим другим.

В рамках этого проекта для нашей компании была поставлена задача организовать видеотрансляции без привлечения сторонних сервисов-посредников, что актуально в условиях санкций и других ограничений. И необходимо было учесть следующие требования:

  1. Видеосвязь c возможностью демонстрации экрана.
  2. Возможность общения в чате в рамках онлайн-урока.
  3. Автоматическая запись и хранение записей уроков.
  4. Установка таймкодов на запись урока.
  5. Параллельный запуск онлайн-уроков без ограничений.

Для реализации видеотрансляций мы использовали open-source решение Jitsi Meet с автоматической записью уроков на стороне сервера c помощью Jibri.

В этой статье я дам подробную инструкцию по созданию решения для видеотрансляций с помощью Jitsi Meet.

Jitsi — это набор проектов с открытым исходным кодом, которые позволяют использовать их в роли self-hosted сервер видеоконференций и быстро, и безопасно интегрировать функционал видеоконференций в веб- и мобильные приложения.

Архитектура

Jitsi состоит из нескольких проектов. Они устанавливаются вместе с пакетом jitsi-meet. Часть из них обязательные для использования и настройки, и необходимы для работы видеоконференций, другие же опциональные, т.к. реализуют функционал, который может потребоваться не всем. Перечислим их:

Jitsi Meet — JavaScript-приложение, построенное на базе протокола WebRTC, которое подключается к Jitsi Videobridge.

Jitsi Videobridge (JVB) — совместимый с WebRTC сервер, предназначенный для маршрутизации видеопотоков между участниками конференции.

Jitsi Conference Focus (jicofo) — компонент фокуса на стороне сервера, который управляет сеансами мультимедиа и действует как балансировщик нагрузки между каждым из участников и видеомостом.

Jitsi Gateway to SIP (jigasi) — серверное приложение, позволяющее обычным SIP-клиентам присоединяться к конференциям Jitsi Meet.

Jitsi Broadcasting Infrastructure (jibri) — набор инструментов для записи и/или потоковой передачи конференции Jitsi Meet, который работает путем запуска экземпляра Chrome в framebuffer и захвата, и кодирования вывода с помощью ffmpeg.

Также Jitsi использует внешнее программное обеспечение:

Prosody — сервер XMPP, служит для объединения компонентов и функционала авторизации.

Внешние соединения можно разделить на две основные группы. Во-первых, соединения между клиентами, которые запрашивают видео- или аудиосоединение, осуществляются через удаленные запросы и потоки данных. Вторая категория внешних подключений — это подключения к внешним службам, которые помогают хранить записи, потоковые записи, потоковое видео или помогают создавать встречи.

Опыт интеграции Jitsi в web-приложение

Задача состояла в том, чтобы настроить видеоконференцию внутри web-приложения и управлять ей изнутри, разделяя права на доступ к некоторым функциям видеоконференции. Так, например, для простых участников должна отображаться просто трансляция без возможности производить действия по настройке. Для них требовалось спрятать кнопки управления трансляцией. А для модераторов, наоборот, предоставить полный доступ, но так же ограничить ряд функций. Еще одной из задач была реализовать запись видеоконференции и сохранение записей в web-приложении. О чем уже упоминал выше.

Для этого потребовалось задействовать следующие решения:

  • Jitsi Meet Server — сервер, который является ядром, управляющим видеоконференцией.
  • Jitsi IframeAPI — библиотека, предоставляемая jitsi, дающая возможность поместить конференцию Jitsi в Iframe и управлять трансляцией с помощью JS.
  • JWT Tokens — авторизацию в проекте было решено реализовать через JWT (JSON Web Token).
  • Jitsi Token Moderation Plugin — плагин, который добавляет в jitsi возможность указывать в JWT токене роль пользователя (moderator).
  • Jibri — JItsi BRoadcasting Infrastructure, позволяющая вести запись видеоконференции.

Далее более подробно будет рассказано про каждую часть, ее установку и настройку.

Установка и настройка Jitsi

Для корректной работы, а также с целью распределения ресурсов Jitsi требуется устанавливать на отдельный сервер с возможностью доступа по домену и отдельным ip-адресом, который будет доступен вашему приложению.

Требования

Вам понадобятся следующие пакеты:

  • gnupg2
  • nginx
  • sudo # требуется, только если вы авторизованы не под пользователем root
  • curl # или wget для добавления репозиториев Jitsi ниже

Далее будут использованы команды без `sudo`, подразумевая, что сервер настроен и используется под пользователем `root`. Если это не так, то следует добавить `sudo`, когда того требует команда.

Убедитесь, что система обновлена ​​и установлены необходимые пакеты:

apt update
apt install apt-transport-https

Установка Jitsi

Домен и DNS

Решите, какой домен будет использовать ваш сервер. Например, meet.example.org.

Установите запись DNS A для этого домена, используя публичный IP-адрес вашего сервера, если у него есть собственный публичный IP-адрес, или же общедоступный IP-адрес вашего маршрутизатора, если ваш сервер имеет частный (RFC1918) IP-адрес (например, 192.168.1.2) и подключается через ваш маршрутизатор через преобразование сетевых адресов (NAT).

Репозиторий пакетов Prosody

Добавьте официальный репозиторий Prosody, чтобы установить последнюю версию Prosody, которая необходима для работы Jitsi, в частности, функционала лобби.

echo deb http://packages.prosody.im/debian $(lsb_release -sc) main | sudo tee -a /etc/apt/sources.list

wget https://prosody.im/files/prosody-debian-packages.key -O- | sudo apt-key add -

Репозиторий пакетов Jitsi

Добавьте официальный репозиторий jitsi в систему, чтобы сделать пакеты Jitsi Meet доступными.

curl https://download.jitsi.org/jitsi-key.gpg.key | sudo sh -c 'gpg --dearmor > /usr/share/keyrings/jitsi-keyring.gpg'

echo 'deb [signed-by=/usr/share/keyrings/jitsi-keyring.gpg] https://download.jitsi.org stable/' | sudo tee /etc/apt/sources.list.d/jitsi-stable.list > /dev/null
#После добавления репозиториев обновите все пакеты
apt update

Настройка брандмауэра​

Следующие порты должны быть открыты в брандмауэре, чтобы разрешить трафик на сервер Jitsi Meet:

  • 80 TCP — для проверки/обновления сертификата SSL с помощью Let’s Encrypt;
  • 443 TCP — для общего доступа к Jitsi Meet;
  • 10000 UDP — для общей сетевой видео/аудиосвязи;
  • 22 TCP — если доступ к серверу с помощью SSH (соответственно измените порт, если он не 22);
  • 3478 UDP — для запроса stun-сервера (coturn, необязательно, для его включения требуется изменение config.js);
  • 5349 TCP — для резервной сетевой видео/аудио связи по TCP (например, когда UDP заблокирован), обслуживается coturn.

Если используется ufw:

ufw allow 80/tcp
ufw allow 443/tcp
ufw allow 10000/udp
ufw allow 22/tcp
ufw allow 3478/udp
ufw allow 5349/tcp
ufw enable

#Проверить состояние брандмауэра можно с помощью
ufw status verbose

TLS Сертификат

Для корректной работы Jitsi требуется TLS сертификат. Его можно сгенерировать самостоятельно, выбрав любой удобный способ. Или позже создайте сертификат Lets-Encrypt (см. ниже).

Установка jitsi-meet

apt install jitsi-meet

Будет предложено ввести имя хоста экземпляра Jitsi Meet. Если есть домен, нужно использовать конкретное доменное имя, например: meet.example.org. В качестве альтернативы можно ввести IP-адрес машины (если он статичен или не меняется). Это имя хоста будет использоваться для конфигурации виртуального хоста внутри Jitsi Meet, также корреспонденты будут использовать его для доступа к веб-конференциям.

Также будет задан вопрос: требуется ли сгенерировать новый самоподписанный сертификат. Необходимо поступить на свое усмотрение, исходя из того, каким способом вы добавили или добавите сертификат. Рекомендуемый вариант — выбрать «Generate a new self-signed certificate», а далее его заменить.

Установщик проверит наличие Nginx или Apache (именно в таком порядке) и настроит виртуальный хост на найденном веб-сервере для обслуживания Jitsi Meet.

Если уже используется Nginx на порту 443 на той же машине, конфигурация TurnServer будет пропущена, так как она будет конфликтовать с вашим текущим портом 443.

Создайте сертификат Let’s Encrypt

Данный шаг не является обязательным, если вы ранее уже создали сертификат.

Лучший способ — создать сертификат, подписанный центром сертификации. Так не появится проблем с самоподписанным сертификатом. Самый простой способ — использовать Let’s Encrypt. Просто запустите в своей оболочке следующее:

/usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh

Обратите внимание, что этот сценарий использует тип подтверждения владением HTTP-01, поэтому сервер должен быть доступен из общедоступного Интернета через порты 80 и 443. Если хотите использовать другой тип подтверждения, не используйте этот сценарий, а вместо этого выберите «I want to use my own certificate» во время установки jitsi-meet.

Проверка

После успешной установки jitsi перейдите на домен или ip-адрес с портом 443, который вы указали при установке jitsi-meet и запустите конференцию.

Отладка проблем

  • Веб-браузер: можно попробовать использовать другой веб-браузер. Известно, что некоторые версии некоторых браузеров имеют проблемы с Jitsi Meet. WebRTC, веб-камера и микрофон: или посетите https://webrtc.github.io/samples/src/content/getusermedia/gum, чтобы протестировать поддержку WebRTC в вашем браузере.
  • Брандмауэр: если участники не видят и не слышат друг друга, дважды проверьте правила брандмауэра/NAT.
  • Nginx/Apache: поскольку мы предпочитаем использовать Nginx в качестве веб-сервера, установщик сначала проверяет наличие Nginx, а затем Apache. Если вам крайне необходимо принудительно использовать apache, попробуйте предварительно установить переменную jitsi-meet/enforce_apache для пакета jitsi-meet-web-config в debconf.
  • Файлы журналов: взгляните на различные файлы журналов:
/var/log/jitsi/jvb.log
/var/log/jitsi/jicofo.log
/var/log/prosody/prosody.log

Jitsi IframeAPI

Чтобы использовать API, подключите библиотеку с помощью:

<script src='https://<your-domain>/external_api.js'></script>

или

<script src='https://meet.jit.si/external_api.js'></script>

Чтобы встроить Iframe на страницу, воспользуйтесь следующим:

const domain = '<your-domain>';
const options = {
    roomName: '<your-room-name>',
    width: 700,
    height: 700,
    parentNode: document.querySelector('#meet'),
    lang: 'ru'
};
const api = new JitsiMeetExternalAPI(domain, options);

Чтобы более гибко настроить iframe, можно воспользоваться опциями:

const options = {
    ...
    configOverwrite: {},
    interfaceConfigOverwrite: {},
    ...
};

Внутри данных опций можно переопределить значения некоторых свойств, которые можно найти в файлах config.js и interface_config.js соответственно.

Чтобы передать токен JWT в Jitsi Meet, используйте следующий формат:

const options = {
   ...
   jwt: '<jwt-token>',
   ...
};

или используйте userInfo, чтобы передать параметры пользователя:

var options = {
    ...
    userInfo: {
        email: '<user-email>',
        displayName: '<user-name>'
    }
    ...
}

Далее будет использован способ авторизации с помощью JWT токена, так что если требуется использовать их, выбирайте `jwt` вместо `userInfo`. Или наоборот, если того требует ситуация.

Другие свойства и возможности IframeAPI можно найти на странице с официальной документацией.

JWT-токены

Все настройки авторизации через JWT производятся на стороне сервера Jitsi.

Что такое JWT

JSON Web Token (JWT) — это открытый стандарт (RFC 7519), определяющий компактный и автономный метод, который можно использовать для безопасного обмена информацией между двумя сторонами путем аутентификации доступа пользователя.

Как только пользователь войдет в систему, каждый будущий запрос будет содержать JWT, что позволит пользователю получить доступ к службам и ресурсам, доступным с помощью этого токена.

JWT и Jitsi встречаются

Аутентификация на основе JWT с Jitsi Meet требует, чтобы приложение генерировало веб-токен JSON, когда планируется конференция, которое можно отправить (с прикрепленным URL-адресом конференции и сгенерированным токеном) пользователю для обеспечения безопасного общения. Пользователи смогут просто щелкнуть ссылку и присоединиться к совещанию, не дожидаясь авторизации Модератором в лобби, без ввода имени пользователя или пароля вручную. Пользователи, не использующие JWT, также могут присоединиться, даже если они будут знать URL-адрес собрания, поскольку есть имя пользователя и пароль, индивидуально защищающие ваши собрания.

Установка и настройка

1. Установите Lua зависимости:

  • Lus5.2
  • Liblua5.2-0
  • Liblua5.2-dev
  • Luaroks
  • Libss11.0-dev

2. Установите luacrypt lua-cjson:

luarocks install luacrypt
mkdir -p /tmp/src)
cd /tmp/src
git clone https://github.com/mpx/lua-cjson.git
cd lua-cjson
sed -i 's/lua_objlen/lua_rawlen/g' lua_cjson.c
sed -i 's|$(PREFIX)/include|/usr/include/lua5.2|g' Makefile
luarocks make

3. Установите luajwtjitsi:

luarocks install luajwtjitsi 2.0-0

Версия 2.0-0 должна быть обязательно указана, так как текущая версия jitsi не поддерживает другую и в противном случае это не заработает.

4. Установите basexx:

luarocks install basexx

5. Установите token-plugin:

apt-get install jitsi-meet-tokens

6. Проверьте и настройте конфигурацию prosody.

Найти файл настройки prosody можно по пути /etc/prosody/conf.avail/.cfg.lua

...
VirtualHost "<your-domain>"
    authentication = "token"
    app_id="<app-id>"
    app_secret="<app-secret>"
    ...
    modules_enabled = {
         ...
         "presence_identity";
         ...
    }
...
Component "conference.<your-domain>" "muc"
    ...
    modules_enabled = {
         ...
         "token_verification";
         ...
   }
   ...
...

`app-id` и `app-secret` задаются произвольно, но обычно `app-id` представляет из себя строку, например ‘MyJitsiApp’. А `app-secret` — это строка, состоящая из 20 различных символов, которая шифрует токен и подтверждает, что он подлинный. Данные параметры используются при генерации JWT токена.

После всех настроек перезагрузите prosody, чтобы применить настройку prosody.

sudo systemctl restart prosody

Генерация JWT

Чтобы попробовать сгенерировать JWT токен, можно использовать сервис https://jwt.io/.

Программно это можно сделать с помощью библиотек, которые уже существуют для разных языков программирования. Например, чтобы сгенерировать токен в php лучше всего использовать PHP-JWT от FireBase.

Структура JWT должна представлять из себя:

header

{
  "alg": "HS256",
  "typ": "JWT"
}

payload

{
  "context": {
    "user": {
      "avatar": "<your-avatar-link>", #ссылка на аватар
      "name": "<user-name>", #имя пользователя
      "email": "<user-email>" #email пользователя
    }
  },
  "aud": "jitsi",
  "iss": "<app-id>",
  "sub": "<your-domain>",
  "room": "*", #имя комнаты или * - любая комната
  "iat" => 1643498815, #время в timestamps до которого будет действителен токен
  "nbf" => 1643498815, #время в timestamps от которого будет действителен токен
}

Также библиотека для генерации должна использовать ключ

Jitsi Token Moderation Plugin

В Jitsi нет встроенного механизма определения ролей пользователя на основе JWT токена. Эту проблему можно решить, поставив плагин https://github.com/nvonahsen/jitsi-token-moderation-plugin.

Его установка очень простая и описана в репозитории, но я продублирую ее в этой инструкции.

Установка

  1. Скачайте и поместите mod_token_moderation.lua файл на свой сервер.
  2. Откройте файл конфигурации prosody /etc/prosody/conf.avail/.cfg.lua
  3. Добавьте в самое начало:
plugin_paths = { "/usr/share/jitsi-meet/prosody-plugins/", "/usr/share/jitsi-meet/prosody-plugins-custom/"

4. Файл mod_token_moderation.lua поместите в дирректорию /usr/share/jitsi-meet/prosody-plugins-custom/

5. В файле конфигурации prosody добавьте:

Component "conference.meet.example.com" "muc"
  ...
  modules_enabled = {
      ...
      "token_moderation"; # <- требуется добавить вот эту строчку
      ...
  }
  ...

6. Перезагрузите Jitsi.

sudo systemctl restart prosody && sudo systemctl restart jicofo && sudo systemctl restart jitsi-videobridge2

Применение

После установки в JWT можно добавить параметр moderator

{
  ...
  moderator: true
  ...
}

И тогда, у кого будет этот параметр равен true, будет являться модератором видеоконференции. И наоборот, если `false`, то обычным пользователем.

На этом все, чем я хотел поделиться про установку и настройку Jitsi. Надеюсь, что статья была полезной.

Жду в комментариях с вопросами и обратной связью.

В следующей статье расскажу про Jibri.

Понравилась статья? Поделить с друзьями:
  • Jioc радиоприемник инструкция по применению
  • Jioc h088ur инструкция по настройке
  • Jinkui shenqi wan инструкция по применению
  • Jinkairui user manual инструкция на русском
  • Jingfukang keli инструкция по применению