Программа реализована в виде двух основных модулей на языке Python
1. Клиентский модуль (reg_video.py)
- Подключается к IP-камере, декодирует видеопоток, сжимает кадры и отправляет на сервер
- Управляет переподключением при обрыве связи
- Настраивает качество и частоту кадров (JPEG-качество, разрешение, FPS)
2. Серверный модуль (video_resiver.py)
- Принимает потоковые данные от клиента, декодирует и буферизует кадры
- Записывает видео на диск с возможностью ограничения места и автозакольцовки (удаление старых файлов)
- Обеспечивает веб-доступ для просмотра видеопотока в реальном времени (MJPEG) и управления записями
- Реализует мониторинг ресурсов сервера и оповещения о сбоях. Дополнительно могут использоваться модули/скрипты для уведомлений в мессенджеры (например, Telegram), для анализа производительности (psutil) и т. д.