Skip to content

Releases: OpenIPC/dashboard

v0.2.1

05 Feb 23:24

Choose a tag to compare

User Interface & Experience:

Console Window Hidden: The application now launches without the debug console window on Windows.
About Dialog Updated:
Displays the correct application version (0.2.1).
Added Author information
Automatic build year update (currently 2026).
Build System & CI:

Robust Metadata Handling: Switched to config.h generation for passing build information (Version, Author, Year) to C++, resolving compilation issues with spaces.
CI/CD Fixes: Updated GitHub Actions workflow variable handling to ensure the correct version number is passed during automated builds.
CMake: Default project version bumped to 0.2.1.


Интерфейс и взаимодействие:

Скрыто окно консоли: Приложение теперь запускается без отладочного терминала в Windows.
Обновлено окно "О программе":
Отображается корректная версия приложения (0.2.1).
Добавлена информация об авторе
Автоматическое обновление года сборки (актуальный: 2026).
Система сборки и CI:

Улучшенная обработка метаданных: Реализована генерация config.h для передачи информации о сборке в (Версия, Автор, Год) в C++, что исправило ошибки компиляции из-за пробелов.
Исправления CI/CD: Скорректирован GitHub Actions workflow для правильной передачи номера версии при автоматической сборке.
CMake: Базовая версия проекта обновлена до 0.2.1.

v0.2.0

04 Feb 11:13

Choose a tag to compare

🚀 New Features & Enhancements
Analytics & Hardware Acceleration:
DirectML Support: Added GPU acceleration support for video analytics (face/object detection) using DirectML to offload tasks from CPU.
New SnapshotBrowser: Added filters (camera/object/date), sorting, quick filters, event timeline, counters, and full localization.
Full-featured Image Viewer: Implemented a standalone viewer similar to Windows Photos (zoom, rotate, flip, slideshow, fullscreen, delete, copy, print, "Open with...", properties).
Image Editing: Added basic editing capabilities (crop, draw, save copy) within the viewer.
Performance & Streaming:
Hardware Decoding: Added selection for HW decoding (D3D11/MFT/DXVA) to significantly reduce CPU load.
RTSP Stability: Implemented auto-reconnection on error/EOS and added a watchdog timer for frozen streams.
Audio Optimization: Disabled audio pipeline when muted to prevent WASAPI errors.
Cleaned Dependencies: Completely removed MDK/VLC dependencies and artifacts; switched fully to native QtMultimedia/GStreamer.
User Interface (UI/UX):
Collapsible Sidebar: Added a toggle button to hide the sidebar for a larger viewing area.
Adaptive Resolution: Fixed window sizing issues on lower resolution screens (e.g., 1024x768). The app now adapts to the available desktop size.
Flicker Fixes: Eliminated control flickering on grid cell hover.
Styling: Unified checkbox styles in analytics, added tooltips to icons, and improved image centering.
🛠 Fixes & Improvements
Audio & Codecs:
Fixed missing audio for G.711 (ALaw/ULaw), Opus, and AAC codecs.
Updated installer to correctly include required GStreamer audio plugins.
System & Installer:
Qt Plugin Crash Fix: Diagnosed and fixed startup crashes caused by corrupted/compressed DLLs.
Installer Build: Guaranteed copying of platform plugins directly from Qt SDK suitable for release.
GitHub Workflow: Excluded specific Qt plugins/modules from UPX compression to prevent runtime errors.
Versioning: Application version is now automatically injected from Git tags during the build process.
Backend: Added helper methods (localFileExists, getFileInfo, clipboard operations, openWithDialog, printImage) and batch deletion support.


🚀 Новые функции и улучшения
Аналитика и аппаратное ускорение:
Поддержка DirectML: Добавлено GPU-ускорение для видеоаналитики (распознавание лиц/объектов), что снимает нагрузку с процессора.
Новый браузер событий (SnapshotBrowser): Фильтры по камере/объекту/дате, сортировка, быстрые фильтры, таймлайн событий, счетчики и полная локализация.
Полнофункциональный просмотрщик: Реализован отдельный просмотрщик изображений (как в Windows): масштаб, поворот, слайд-шоу, полный экран, печать, свойства.
Редактирование: Добавлена базовая возможность рисования и обрезки снимков с сохранением копии.
Производительность и стриминг:
Аппаратное декодирование: Добавлен выбор декодера (D3D11/MFT/DXVA) для снижения нагрузки на CPU.
Стабильность RTSP: Реализовано авто-переподключение при ошибках потока и добавлен Watchdog (таймер) при отсутствии кадров.
Оптимизация звука: Отключение аудио-цепочки при выключенном звуке (Mute) для устранения ошибок WASAPI.
Очистка зависимостей: Полностью удалены зависимости MDK и VLC; проект переведен на нативные средства.
Интерфейс (UI/UX):
Скрываемая боковая панель: Добавлена кнопка сворачивания меню для увеличения площади просмотра.
Адаптивность: Исправлена проблема отображения на экранах с низким разрешением (1024x768). Окно подстраивается под размер рабочего стола.
Устранение мерцания: Убрано мерцание элементов управления при наведении на ячейку с видео.
Стиль: Унифицирован вид чекбоксов, добавлены подсказки и улучшено центрирование изображений.
🛠 Исправления и системные изменения
Аудио и кодеки:
Исправлен звук для кодеков G.711 (ALaw/ULaw), Opus и AAC.
В инсталлятор добавлены недостающие аудио-плагины GStreamer.
Система и инсталлятор:
Исправление вылетов Qt: Устранена причина падения платформенных плагинов (битые/сжатые DLL).
Сборка инсталлятора: Гарантировано копирование чистых плагинов напрямую из Qt SDK.
GitHub Workflow: Критичные Qt-плагины исключены из UPX-сжатия во избежание ошибок запуска.
Версионирование: Версия приложения теперь автоматически берется из Git-тега при сборке.
Бэкенд: Добавлены методы работы с файлами, буфером обмена, диалогами открытия и печати.

v0.1.9

22 Jan 03:58

Choose a tag to compare

ci: Add GitHub Actions workflow for build and release

v0.1.8

19 Jan 10:57

Choose a tag to compare

ci: Add GitHub Actions workflow for build and release

deps-gstreamer-1.26.10

17 Jan 04:42

Choose a tag to compare

ci: Add GitHub Actions workflow for build and release

Dashboard for OpenIPC v0.1.7

12 Jan 03:44

Choose a tag to compare

🚀 New Features — Multi-window Support
Independent Tool Windows: File Manager, SSH Terminal, and Settings now open as fully separate windows instead of modal dialogs.
Parallel Workflow: You can now simultaneously open the Terminal, File Manager, and Settings without blocking interaction with the main Dashboard window.
🎨 Interface & Design (UI/UX)
Custom Window Headers: All popup windows now feature custom Dark Mode headers that perfectly match the application's design.
Frameless Design: Removed standard white Windows system borders, making the interface seamless and modern.
Unified Window Controls: Added stylized control buttons (Minimize, Maximize, Close) consistent with the main theme.
🛠 Technical Improvements
Refactored SettingsDialog.qml, FileManagerDialog.qml, and SshTerminalDialog.qml (transitioned from Dialog types to independent Window types).
Fixed QML property compatibility issues arising from the transition to independent windows.
Changelog
⚡ Performance & Optimization
Forced GPU Acceleration: Implemented strict priority for Hardware Acceleration via DXVA2/D3D11 on Windows.
Video Filter Framework Fix: Fixed a critical bug where applying image settings (brightness, contrast, saturation) forced the decoder into Software Rendering mode.
Drastic CPU Load Reduction: By successfully offloading video decoding to the GPU, CPU usage for a 16-camera grid dropped from ~93% to ~22%.
🎨 Interface (UI/UX) fixes
Camera Control Panel (GridCell):
Fixed a QML layout bug where the volume slider and audio normalization ("N") button failed to appear on hover.
Layout Logic Update: Switched element anchoring from center to right-alignment. This allows the interface to correctly expand leftwards when additional buttons appear.
Mouse Event Handling: Implemented HoverHandler for better visibility control. Resolved "hover stealing" issues where buttons blocked the panel's expansion trigger area.
🔧 Backend (LibVLC)
LibVlcPlayer Refactoring: Optimized player initialization code. Video adjustments (brightness, gamma, etc.) are now applied via the post-processing API without requiring a restart of the main decoding pipeline.

Описание выпуска
🚀 Новые функции — Мультиоконность
Независимые окна инструментов: Файловый менеджер (File Manager), SSH-терминал и Настройки теперь открываются как полноценные отдельные окна, а не как модальные диалоги.
Параллельная работа: Теперь можно одновременно открыть Терминал, Файловый менеджер и Настройки, не блокируя работу с основным окном (Dashboard).
🎨 Интерфейс и Дизайн (UI/UX)
Кастомные заголовки окон: Для всех всплывающих окон реализованы собственные заголовки в темной теме (Dark Mode), полностью соответствующие дизайну приложения.
Убраны системные рамки: Окна больше не имеют стандартных белых рамок Windows, что делает интерфейс цельным и современным.
Единый стиль: Добавлены стилизованные кнопки управления окном (Свернуть, Развернуть, Закрыть).
🛠 Технические улучшения
Рефакторинг SettingsDialog.qml, FileManagerDialog.qml и SshTerminalDialog.qml (переход от типа Dialog к Window).
Исправлены ошибки совместимости свойств QML при переходе на независимые окна.
Список изменений (Changelog)
⚡ Производительность и Оптимизация
Принудительное аппаратное ускорение (GPU): Реализован жесткий приоритет аппаратного декодирования (Hardware Acceleration) через DXVA2/D3D11 для Windows.
Устранение конфликта видеофильтров: Исправлена ошибка, из-за которой применение настроек изображения (яркость, контраст, насыщенность) сбрасывало декодер в программный режим (Software Rendering).
Снижение нагрузки на ЦП: Благодаря переносу декодирования видеопотоков на GPU, нагрузка на процессор при сетке из 16 камер снизилась с ~93% до ~22%.
🎨 Интерфейс (UI/UX)
Исправление панели управления камерой (GridCell):
Исправлена ошибка верстки QML, из-за которой ползунок громкости и кнопка нормализации звука («N») не отображались при наведении курсора.
Изменена логика привязки: Переход от центрирования к выравниванию по правому краю позволил корректно "раздвигать" интерфейс влево при появлении дополнительных кнопок.
Улучшение обработки событий мыши: Внедрен HoverHandler для управления видимостью элементов. Исправлена проблема "перехвата" событий наведения (hover stealing), когда кнопки блокировали срабатывание области расширения панели.
🔧 Бэкенд (LibVLC)
Рефакторинг LibVlcPlayer: Оптимизирован код инициализации плеера. Настройки видео (яркость, гамма и т.д.) теперь применяются через API постобработки без перезапуска основного конвейера декодирования.

Dashboard for OpenIPC v0.1.6

07 Jan 12:44

Choose a tag to compare

🎥 Video Player & Streaming Enhancements
Advanced Player Configuration: Added a dedicated settings section for fine-tuning playback:
Buffer Mode: Configurable strategies (One, Zero, Balanced, Smooth) to prioritize between ultra-low latency and playback smoothness.
RTSP Transport: Option to force transport protocols (TCP, UDP, HTTP) for better network compatibility.
Hardware Acceleration: Expanded decoding options now include DXVA, D3D11, CUDA, QuickSync, and Auto selection.
Video Tools: Added Horizontal Video Mirroring support (essential for HUDs and teleprompter applications).
SDK Update: Updated backend to the latest version of MDK-SDK for better stability.
🛡️ User Management System (RBAC)
Role-Based Access Control: Introduced "Administrator" and "Operator" roles.
Granular Permissions: Implemented a bitmask-based permission system (Dahua-style). Permissions can now be toggled individually per user:
Live View / Archive Playback
PTZ Control
Video Export
System Settings / User Management
Account Management: Added functionality to Create/Delete users and Change passwords. Secure storage of user data implemented via users.json.
🚀 Performance & Optimization
Memory Leak Fixes:
Analytics Optimization: Reduced frame sampling rate from MdkPlayer to the Analytics module (from 30 FPS to 5 FPS). This resolved event queue overflows and critical RAM usage spikes (e.g., "8GB usage in 3 hours" issue).
Log Rotation: Implemented a memory limit for logs (max 2000 entries) with auto-cleanup of old records.
Low Latency: Optimized default buffering parameters for instant RTSP stream startup.
🎨 UI/UX & Design
Global Dark Theme: Unified all modal windows to match the application style (Background #252526, Accent #4caf50).
Custom Controls: Replaced native checkboxes with StyledCheckBox components. Standardized action buttons ("Save", "Add") with consistent green styling.
Layout Fixes: Improved dialog sizing for "Add User" and "Settings" windows to prevent content clipping.
🔧 Bug Fixes
Grid Stability: Fixed a critical issue where the camera grid cells would collapse or shift incorrectly when adding/removing streams. Implemented strict unit-based sizing logic.
🇷🇺 Русский

🎥 Видеоплеер и Потоковая передача
Расширенные настройки плеера: В меню настроек добавлены новые опции для управления воспроизведением:
Режим буферизации (Buffer Mode): Выбор стратегии (One, Zero, Balanced, Smooth) для баланса между минимальной задержкой и плавностью картинки.
RTSP Транспорт: Возможность принудительного выбора протокола (TCP, UDP, HTTP) для работы в сложных сетях.
Аппаратное ускорение: Расширен список поддерживаемых декодеров: добавлены DXVA, D3D11, CUDA, QuickSync и режим Auto.
Инструменты видео: Реализована функция Горизонтального зеркалирования (отражение видео), полезная для HUD-дисплеев и телесуфлеров.
Обновление SDK: Бэкенд обновлен до последней версии MDK-SDK для повышения стабильности.
🛡️ Система управления пользователями (RBAC)
Ролевая модель: Введена поддержка ролей «Администратор» и «Оператор».
Гранулярные права доступа: Внедрена система прав на основе битовой маски. Для каждого пользователя можно отдельно настроить доступ к функциям:
Просмотр (Live) / Архив (Playback)
Управление PTZ
Экспорт видео
Настройки системы / Управление пользователями
Управление аккаунтами: Добавление и удаление пользователей, смена паролей. База пользователей теперь хранится в защищенном виде (users.json).
🚀 Производительность и Оптимизация
Устранение утечек памяти:
Оптимизация аналитики: Частота отправки кадров из видеоплеера в модуль аналитики снижена с 30 до 5 FPS. Это устранило переполнение очереди событий и критический рост потребления RAM (проблема "8 ГБ за 3 часа").
Ротация логов: Введен лимит на хранение логов в памяти (максимум 2000 записей), старые записи удаляются автоматически.
Низкая задержка: Оптимизированы параметры предзагрузки для мгновенного старта RTSP-потоков.
🎨 Интерфейс и Дизайн (UI/UX)
Глобальная темная тема: Все модальные окна приведены к единому стилю приложения (фон #252526, акцент #4caf50).
Кастомные элементы: Стандартные чекбоксы заменены на компонент StyledCheckBox в темном стиле. Кнопки действий («Сохранить», «Добавить») унифицированы.
Исправления верстки: Скорректированы размеры окон добавления пользователей и настроек для улучшения читаемости.
🔧 Исправления ошибок
Стабилизация сетки камер: Исправлена критическая ошибка, из-за которой ячейки сетки могли "схлопываться" или смещаться при добавлении/удалении камер. Реализован строгий контроль размеров ячеек.

Dashboard for OpenIPC v0.1.5

16 Dec 10:50

Choose a tag to compare

See the assets to download this version and install.

Dashboard for OpenIPC v0.1.3

22 Nov 01:37

Choose a tag to compare

Actually, there are far more changes and fixes; this description covers only a small part of the work done!

Snapshot System Improvements

Forced HD Quality: Snapshots are now always captured from the High Definition (HD) stream, regardless of the currently viewed stream quality (SD/HD) in the grid.

Archive & Recording Optimization
Instant Playback: Fixed the issue where recorded video segments took a long time to "index" before becoming playable.
Fragmented MP4: Switched the recording format to use Fragmented MP4 (frag_keyframe+empty_moov). This eliminates the post-processing step, making video files immediately available for playback in the archive and preventing data loss if the recording is interrupted abruptly.
Backend & Stability

Dynamic Configuration: The snapshot system now correctly respects custom Go2RTC API addresses and ports.
Stream Validation: Added pre-checks to verify stream availability before attempting operations, providing clearer error messages.

Улучшение системы скриншотов

Всегда HD качество:
Теперь скриншоты всегда сохраняются с потока высокого разрешения (HD), даже если в данный момент вы просматриваете камеру в низком качестве (SD).

Оптимизация архива и записи
Мгновенное воспроизведение: Исправлена проблема, из-за которой записанные отрезки видео долго "индексировались" на диске перед тем, как стать доступными для просмотра.
Фрагментированный MP4: Формат записи изменен на фрагментированный MP4 (frag_keyframe+empty_moov). Это убрало необходимость в финальной обработке файла. Записи теперь доступны в архиве мгновенно, а риск потери данных при сбое питания сведен к минимуму.

Бэкенд и стабильность
Динамическая конфигурация: Система снимков теперь корректно работает с нестандартными адресами и портами API Go2RTC.
Валидация потоков: Добавлены предварительные проверки
наличия потоков перед выполнением операций, что обеспечивает более понятные сообщения об ошибках.

Dashboard for OpenIPC v0.1.2

28 Oct 11:35

Choose a tag to compare

Добавлены новые возможности в файловом менеджере: появились кнопки удаления и открытия расположения файла, поддерживающие как локальные, так и удалённые каталоги, с проверками на безопасность и уведомлениями для пользователя. На бекенде реализованы команды camera_remote_delete, local_fs_delete, local_reveal_path, зарегистрированы в Tauri и используют существующую SSH/FS инфраструктуру. Обновлены локализации en.json и ru.json, чтобы новые действия корректно отображались на двух языках; интерфейс в FileManager.tsx расширен обработчиками и виджетами для новых команд. Сборка (npm run build, npm run tauri) проходит успешно, что подтверждает целостность проекта.

Удаление файлов доступно в обеих панелях, запрещено на корневом уровне, ошибки показываются через текущую систему тостов.
Кнопка “Открыть папку” мгновенно вызывает проводник на локальной машине для выбранного файла или каталога.
Сообщения об успехе/ошибках локализованы; интерфейс остаётся консистентным между EN/RU.
Регрессий не выявлено; рекомендуемый сценарий проверки — удалить/открыть несколько файлов в разных каталогах и убедиться, что предупреждения работают корректно и UI обновляет список без перезапуска.