Nostromo (Russian)
For english version click here.
Описание
Краткое описание
Nostromo - это платформа для организации и проведения видеоконференций, основанная на технологии WebRTC
.
Полностью бесплатная, автономная, с открытым исходным кодом, без искусственных лимитов и ограничений.
Платформа Nostromo состоит из нескольких компонентов:
Репозиторий | Описание |
---|---|
Nostromo Server | Сервер Nostromo (backend), построенный на платформе Node.js |
Nostromo Web | Веб-клиент Nostromo (frontend), написанный на чистом HTML и TypeScript |
Nostromo Shared | Компонент с общими типами и структурами для сервера и клиентской части |
Дальнейшие планы на разработку
Ознакомиться с примерными планами на разработку можно здесь, в Milestones.
Особенности
-
♾️ Полностью бесплатно без каких-либо ограничений (например, по времени или количеству участников).
-
🏢 Полностью автономная платформа - можно работать как в закрытой сети без подключения к Интернету, так и в открытой сети через Интернет.
-
🛡️ Безопасность обеспечивается использованием технологий, поддерживающих шифрование передаваемых данных:
DTLS-SRTP
для передачи медиапотоков иHTTPS
для передачи иных (текстовых и файловых) данных. -
💾 В системе реализован встроенный механизм сохранения серверных данных в виде файлов формата
.json
. Соответственно, для работы не требуется база данных. Однако, поддержка баз данных планируется в будущем как дополнительная опция. -
🤨 Максимальное количество участников зависит от технических возможностей сервера (см. производительность).
-
🖥️ Подключение со смартфона или компьютера с помощью браузера, поддерживающего
WebRTC
(рекомендуетсяMozilla Firefox
илиGoogle Chrome
последних мажорных версий). В ближайших планах - отдельное приложение для компьютера. В далёких - приложение для Android. -
🕵️ Поддержка гостей - не нужно регистрироваться для участия в конференции. Достаточно просто перейти по ссылке и вы уже можете участвовать в конференции.
-
🔒 Комнаты (конференции) можно защищать паролем. А войти в комнату можно как с помощью ручного ввода пароля, так и перейдя по специальной ссылке, где хэш-пароля вшит прямо в ссылке на комнату.
-
🎙️ Возможность захватывать микрофон, веб-камеру и / или экран (или окно) компьютера (если браузер Chrome, то можно также захватить вкладку, и опционально - звук компьютера или вкладки).
-
🔥 Уникальная (или просто редкая) возможность одновременного захвата нескольких веб-камер (видеоустройств).
-
🎞️ При захвате веб-камер или экрана можно выбирать разрешение и частоту кадров захватываемого изображения (от 240p до 1440p, для некоторых разрешений предусмотрены опции с 5, 30 и 60 кадрами в секунду).
-
📋 Во время конференции можно переписываться в чате, а также отправлять файлы (можно несколько файлов за раз).
-
📎 Загрузка файлов реализована на основе протокола
TUS
, поэтому она восстанавливается при обрыве загрузки, более того, вы можете остановить загрузку, а потом продолжить её с того же места даже через несколько часов. -
📜 Опциональная история чата - вы можете создать комнату (или изменить параметр уже у созданной), которая не будет сохранять историю чата (сообщения) для дополнительной конфиденциальности и безопасности.
-
🔨 Функции администратора - создание, редактирование и удаление комнат. Очистка истории чата, удаление файлов комнаты. Отключение видео или аудио, исходящего от участника конференции, изменение имени пользователя, исключение пользователя из комнаты, а также функция блокировки пользователя по IP-адресу.
-
⏸️ Захваченный микрофон можно ставить на паузу и снимать с паузы, не перезахватывая микрофон.
-
🔊 Звуковые оповещения при входе или выходе участников, при захвате видеопотоков, при включении или отключении звуков собеседников, а также при паузе / снятия с паузы микрофона. Эти оповещения можно и отключить.
-
🎚️ Можно регулировать уровень громкости звука участников, а также ставить и снимать с паузы медиапотоки другого участника (например, для экономии ресурсов).
-
📷 Поддержка картинки-в-картинке для видео, исходящих от участников.
Производительность
Мы провели конференцию на 40 участников, которая длилась несколько часов, и в целом всё прошло неплохо. У всех были захвачены микрофоны, а 15 из них ещё и демонстрировали экраны или захватывали веб-камеры.
Всё это было на стареньком 10-летнем сервере и с пропускной способностью сети (Интернет) около 15 Мбит/с.
Попробуйте и вы, и делитесь вашими результатами любым удобным вам способом (через Issues или электронной почтой).
Установка, настройка, требования
С установкой, настройкой и требованиями можно ознакомиться тут.