Программа VL:Videochat

Простая аудиовидеотелефония в локальной сети

Что умеет программа

Программа представляет собой простейший мультимедиа-Web-чат под Windows (пока что только под Windows) для связи между компьютерами и (или) мобильными устройствами через локальную сеть (Интернет не обязателен).

На чём работает

Ориентировочные системные требования к компьютеру-серверу включают в себя двухъядерный процессор частотой 1,5 ГГц или выше 32- или 64-разрядной архитектуры x86 (практически любой современный ПК или ноутбук с Windows), не менее 2 ГБайт ОЗУ, не менее 20 МБайт свободного места на диске; операционная система - Microsoft Windows версии 7 или более поздней.

Все устройства должны быть более или менее устойчиво связаны между собой в сеть с пропускной способностью не менее 10-20 МБит/с между устройствами в обе стороны.

Какие устройства может связать

Можно связать любые оконечные устройства, умеющие одновременно снимать, передавать по сети, принимать и воспроизводить аудио и (или) видео и оснащённые современным браузером (Mozilla Firefox или Google Chrome). В принципе этим требованиям может соответствовать почти любой современный смартфон, компьютер или ноутбук.

Скачать

Дистрибутив Win32 (Zip-архив, 1784 КБайт)

Дистрибутив Win64 (Zip-архив, 2253 КБайт)

Исходные коды (Zip-архив, 35 КБайт)

Как установить, настроить и поменять

Дистрибутив программы нужно распаковать в папку на компьютере, выбранном на роль сервера. Этому компьютеру нужно организовать постоянный IP-адрес в локальной сети, на который будут заходить пользователи.

В базовом варианте программы-сервера для настройки нужно задать учётные пользователей. В версии 1.0.0.0 это делается путём редактирования файла users.json в папке config. Для этого можно открыть его, например, Блокнотом или более удобным текстовым редактором. Для каждого пользователя задаются: уникальный идентификатор, отображаемое в списке контактов имя, логин и пароль.

Блоки с данными учётных записей в файле заключены в фигурные скобки и отделяются друг от друга запятыми.

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

Для запуска программы после её настройки нужно запустить файл videochat.exe и в окне программы нажать кнопку "Запустить Web-сервер чата". В командной строке можно задать параметр auto и в таком виде прописать программу в автозагрузку; тогда Web-сервер будет запускаться автоматически.

Программа с запущенным Web-сервером чата выглядит так:

Все исходные коды Web-страницы (html, js, css), а также изображения и медиафайлы, находятся в папке static. При владении даже базовыми навыками вёрстки сайтов или программирования на JavaScript можно внести изменения, делающие программу более удобоваримой для конкретных пользователей. Введение дополнительных файлов, если пользователю нужно скачивать их с этого сервера, потребуется прописать в файле config/webserver.json . Не рекомендуется выкладывать на скачивание файлы больших размеров (мегабайты).

Для модификации серверной части можно скачать исходные коды проекта, поправить их и пересобрать exe-файл. Написана серверная часть на Free Pascal. Для пересборки потребуется среда разработки Lazarus версии не ниже 2.0.8 и установленный в неё пакет Synapse.

Для облегчения понимания работы системы во всех частях проекта исходные коды снабжены комментариями на русском языке.

Как пользоваться

Пользователю нужно на своём устройстве запустить браузер (Firefox или Chrome) и в нём зайти по ссылке https://IP-адрес компьютера, на котором запущен сервер. При первом открытии браузер предупредит о самоподписанном сертификате; потребуется щёлкнуть "Я понимаю риск" и открыть страницу. Далее нужно ввести свои логин и пароль.

При успешном входе в систему откроется главная страница чата со списком контактов (все пользователи).

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

Видео с демонстрацией и инструкциями

История версий

03.08.2020 Версия 2.0:

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

14.07.2020 Выпущена первая официальная версия

Известные проблемы

  • Периодические "тормоза" при нажимании на кнопки, особенно при использовании маломощного сервера.

Проблемы будем постепенно решать в следующих версиях проекта.

Планы на будущее

  • Переключение источников видео и звука (камер и микрофонов) в процессе общения;
  • Обеспечение возможности групповой связи;
  • Обеспечение возможности показа своего экрана в видео.

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

Условия использования и распространения

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

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

Ссылки

Официальный сайт Mozilla - https://www.mozilla.org

Каталог приложений для Android APKPure - https://apkpure.com/ru/

Проект Free Pascal - https://freepascal.org/

Официальный сайт Lazarus - https://www.lazarus-ide.org/

Библиотека OpenSSL версии 1.0.2j из репозитория Lazarus, 32-битная версия для Windows - http://packages.lazarus-ide.org/openssl-1.0.2j-i386-win32.zip

Библиотека OpenSSL версии 1.0.2j из репозитория Lazarus, 64-битная версия для Windows - http://packages.lazarus-ide.org/openssl-1.0.2j-x64_86-win64.zip

Проект Synapse - http://www.ararat.cz/synapse/doku.php

Проект OpenSSL - https://www.openssl.org/

Проект jQuery - https://jquery.com/

Проект jQuery UI - https://jqueryui.com/

Официальный сайт технологии WebRTC - https://webrtc.org/

Документация по RTCPeerConnection от Mozilla - https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection

Google - https://www.google.com

Яндекс - https://www.yandex.ru

Огромное спасибо всем создателям и участникам этих проектов и тем, кто их поддерживает!

Связь с разработчиком

Другие программы и проекты на сайте