🚀 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-тега при сборке.
Бэкенд: Добавлены методы работы с файлами, буфером обмена, диалогами открытия и печати.