Releases: OpenIPC/dashboard
v2.9.0
ci: Add GitHub Actions workflow for build and release
Dashboard for OpenIPC v0.1.1
See the assets to download this version and install.
Dashboard for OpenIPC v0.1.0
See the assets to download this version and install.
v2.8.7
Major Update: Transition to MediaMTX Streaming Engine and WebRTC!
This release marks the largest architectural change in the application's history. We have completely overhauled the core responsible for video stream processing and display, replacing the old system with a modern, high-performance MediaMTX streaming server paired with WebRTC technology.
This change has not only improved performance and stability but also fixed numerous long-standing issues and laid a solid foundation for future development.
🚀 Key Innovation: MediaMTX + WebRTC Integration
Previously, the application launched a separate, resource-intensive FFmpeg process for each camera in the grid. Now, the architecture is different:
A single MediaMTX server starts with the application, centrally managing streams from all your cameras.
When you drag a camera into a cell, the interface connects to MediaMTX using the ultra-fast WebRTC (WHEP) protocol.
What this means for the user:
⚡ Instant Video Display: Latency has been reduced from several seconds to fractions of a second. Video appears almost instantly.
📉 Reduced CPU Load: A single MediaMTX server is far more efficient at managing streams than dozens of separate FFmpeg processes.
⚙️ Enhanced Stability: Centralized stream management is more reliable and less prone to individual process failures.
🔊 Audio Support: WebRTC technology natively supports audio transmission out of the box.
✨ Improvements & Fixes
Core & Performance
Stream Statistics: The data retrieval mechanism has been completely reworked. The application now directly queries the MediaMTX API and correctly calculates the real-time bitrate. Statistics (codec, bitrate) are now displayed accurately.
Screenshot Functionality: The screenshot feature has been restored. The renderer now captures a frame from the video element and passes it to the main process to be saved as a file.
User Interface
Fixed Drag-n-Drop: The camera drag-and-drop feature has been fully restored and enhanced. You can now not only drag cameras from the list to the grid but also freely move them between cells to swap their positions.
Fixed Fullscreen Mode: Resolved an issue where control buttons ("Pause," "Screenshot," etc.) became unclickable in fullscreen mode. The "Close" button (X) is now correctly hidden to prevent accidental camera removal.
Restored Context Menu: Fixed a bug that prevented the context menu (right-click) from working in grid cells.
Fixed Pause/Play Button: The "Play" icon no longer gets stuck on the video after resuming a stream.
Improved IPC Architecture: Refactored the communication between processes for context menu commands, improving application security and reliability.
Web Client
Responsive Design: Optimized the web client for correct display on all devices (PC, phones, tablets, TVs).
Adaptive Streaming: The web client now automatically selects the optimal stream (HLS or WebRTC) based on the device and availability. Added HLS support via hls.js for mobile devices and SmartTVs.
Improved Authentication: Enhanced error handling and the "Remember Me" functionality for the web client.
🛠️ Temporary Changes
PTZ Controls: The PTZ control elements (arrows and zoom buttons) have been temporarily hidden to resolve UI conflicts. They will be reintroduced in future releases.
Большое обновление: Переход на стриминговый движок MediaMTX и WebRTC!
Этот релиз знаменует собой крупнейшее архитектурное изменение в истории приложения. Мы полностью переработали ядро, отвечающее за прием и отображение видеопотоков, заменив старую систему на современный, высокопроизводительный стриминговый сервер MediaMTX в связке с технологией WebRTC.
Это изменение позволило не только повысить производительность и стабильность, но и исправить множество застарелых проблем, а также заложить прочный фундамент для будущего развития.
🚀 Ключевое нововведение: Интеграция MediaMTX + WebRTC
Ранее для каждой камеры в сетке приложение запускало отдельный ресурсоемкий процесс FFmpeg. Теперь все работает иначе:
При запуске приложения стартует один-единственный сервер MediaMTX, который централизованно управляет потоками со всех ваших камер.
Когда вы перетаскиваете камеру в ячейку, интерфейс подключается к MediaMTX по сверхбыстрому протоколу WebRTC (WHEP).
Что это дает пользователю:
⚡ Мгновенное отображение видео: Задержка сократилась с нескольких секунд до долей секунды. Видео появляется практически моментально.
📉 Снижение нагрузки на процессор: Один сервер MediaMTX гораздо эффективнее управляет потоками, чем десятки отдельных процессов FFmpeg.
⚙️ Повышенная стабильность: Централизованное управление потоками более надежно и менее подвержено сбоям.
🔊 Поддержка аудио: Технология WebRTC нативно поддерживает передачу звука из коробки.
✨ Улучшения и исправления
Ядро и производительность
Статистика потока: Полностью переработан механизм получения данных. Теперь приложение напрямую запрашивает статистику у API MediaMTX и корректно рассчитывает реальный битрейт. Статистика (кодек, битрейт) отображается корректно и обновляется в реальном времени.
Сохранение скриншотов: Восстановлена функция сохранения скриншотов. Теперь интерфейс захватывает кадр из видеоэлемента и передает его в основной процесс для сохранения в файл.
Пользовательский интерфейс
Исправлен Drag-n-Drop: Полностью восстановлена и улучшена функциональность перетаскивания камер. Теперь можно не только перетаскивать камеры из списка в сетку, но и свободно перемещать их между ячейками, меняя местами.
Исправлен полноэкранный режим: Устранена проблема, из-за которой кнопки управления ("Пауза", "Скриншот" и др.) становились некликабельными в полноэкранном режиме. Кнопка "Закрыть" (X) теперь корректно скрывается, чтобы избежать случайного удаления камеры.
Восстановлено контекстное меню: Исправлена ошибка, из-за которой не работало контекстное меню (правый клик) в ячейках сетки.
Исправлена кнопка Пауза/Воспроизведение: Иконка "Play" больше не "зависает" на видео после возобновления потока.
Улучшена архитектура IPC: Проведен рефакторинг взаимодействия между процессами для команд контекстного меню, что повышает безопасность и надежность приложения.
Web-клиент
Адаптивный дизайн: Исправлены ошибки и оптимизирована работа web-клиента: теперь интерфейс корректно отображается на всех устройствах (ПК, телефоны, планшеты, ТВ).
Автоматическая адаптация потока: Web-клиент теперь выбирает оптимальный поток (HLS или WebRTC) в зависимости от устройства и доступности. Добавлена поддержка HLS через hls.js для мобильных устройств и SmartTV.
Улучшена авторизация: Внесены правки в обработку ошибок и функции "Запомнить меня" для web-клиента.
🛠️ Временные изменения
Управление PTZ: Элементы управления PTZ (стрелки и кнопки зума) были временно скрыты для устранения конфликтов с другими элементами интерфейса. Они будут возвращены в будущих релизах.
v2.8.6
This release marks a huge step forward in the application's development! The main new feature is the launch of a full-featured web interface, allowing you to connect to your Dashboard from any device on your local network using a web browser.
We have done a great deal of work debugging and stabilizing this new feature, as well as fixing many other critical bugs and implementing UI improvements based on your feedback.
🚀 New Features & Major Improvements
🌐 Web Interface for Clients: You can now access your Dashboard from any computer, tablet, or phone on your local network. Simply open a browser and enter the IP address of the server computer and port 8080 (e.g., http://192.168.0.235:8080).
🧠 Intelligent Network Interface Selection: The application now automatically detects the correct local network IP address, ignoring VPN connections and virtual adapters. This resolves the core issue of video streams being unavailable to web clients.
🛠️ Robust Stream Recovery Mechanism (Watchdog):
The watchdog mechanism has been completely reworked. If a camera reboots or temporarily goes offline, the application will correctly wait for it to come back online before automatically restarting the video stream.
Fixed "Frozen Frame" Bug: After a connection is restored, the video in the cell no longer freezes and correctly resumes playback.
💾 Analytics State Persistence: Fixed a critical bug where analytics would be disabled after changing application or camera settings. The application now remembers which cameras had analytics active and automatically restores their state after restarting the streams.
🐛 Bug Fixes
Eliminated Race Condition on Web Client Load: Fixed an issue where the web client would try to request data before the WebSocket connection was fully established.
Fixed Rendering in Firefox: The Content Security Policy (CSP) has been updated, ensuring the application now renders correctly in Mozilla Firefox.
Stable Statistics Display: Resolved the problem where FPS and bitrate were not displayed on web clients. All statistics are now correctly transmitted and displayed for all connected clients.
✨ UI/UX Improvements
Removed Cell Scaling Effect: The intrusive scale effect on video cells when hovering has been removed and replaced with a more subtle highlight using border color and a box-shadow.
Restored Context Menu for Grid Cells: The convenient context menu from the device list can now be accessed by right-clicking directly on a grid cell, making camera management (editing, deleting, accessing archives, etc.) much faster.
🚀 Новые возможности и основные улучшения
🌐 Веб-интерфейс для клиентов: Теперь вы можете получить доступ к вашему Dashboard с любого компьютера, планшета или телефона в вашей локальной сети. Просто откройте браузер и введите IP-адрес компьютера-сервера и порт 8080 (например, http://192.168.Х.Х:8080).
🧠 Интеллектуальный выбор сетевого интерфейса: Приложение теперь автоматически определяет правильный IP-адрес для локальной сети, игнорируя VPN и виртуальные адаптеры. Это решает проблему с недоступностью видеопотоков для веб-клиентов.
🛠️ Надежный механизм восстановления потоков (Watchdog):
Полностью переработан "сторожевой" механизм. Если камера перезагружается или временно пропадает из сети, приложение корректно дожидается ее возвращения онлайн, прежде чем автоматически перезапустить видеопоток.
Исправлен баг с "зависшим кадром": Теперь после восстановления соединения видео в ячейке не "зависает", а корректно возобновляет показ.
💾 Сохранение состояния аналитики: Исправлен критический баг, из-за которого аналитика отключалась после изменения настроек. Приложение теперь запоминает, на каких камерах была активна аналитика, и автоматически восстанавливает ее работу после перезапуска потоков.
🐛 Исправления ошибок
Устранено "состояние гонки" при загрузке веб-клиента: Исправлена ошибка, из-за которой веб-клиент мог пытаться запросить данные до полной установки WebSocket-соединения.
Исправлено отображение в Firefox: Обновлена политика безопасности контента (CSP), благодаря чему приложение теперь корректно работает в Mozilla Firefox.
Стабильное отображение статистики: Исправлена проблема, из-за которой FPS и битрейт не отображались на веб-клиентах. Теперь вся статистика корректно передается всем подключенным клиентам.
✨ Улучшения интерфейса (UI/UX)
Убран эффект увеличения ячейки: Навязчивый эффект scale при наведении мыши заменен на более аккуратное выделение с помощью подсветки рамки и тени.
Возвращено контекстное меню для ячеек: Теперь удобное контекстное меню можно вызвать кликом правой кнопкой мыши прямо на ячейке с видео, что ускоряет управление камерой (редактирование, удаление, переход в архив и т.д.).
v2.8.5
v2.8.4
🚀 What's New
"Smart Pause" for CPU Optimization
A new mechanism has been implemented that pauses video stream processing in inactive grid cells. This dramatically reduces CPU load when displaying a large number of cameras simultaneously. Video in the cell resumes instantly upon clicking, ensuring a smooth and responsive interface.
White-Labeling & Branding System
Added support for full application customization. You can now create a branding.json file in the application's root directory to:
Change the application name.
Replace the default logo with your own.
Disable specific UI features, such as the "Report an Issue" button or the "Support the Project" section.
This is the perfect solution for companies wishing to use the application under their own brand.
✨ Improvements & Fixes
Improved Stream Error Handling
Interactive Buttons: If a video stream fails (e.g., incorrect RTSP path, wrong password, camera offline), the cell now shows an informative error message along with "Retry" (to reconnect) and "Close" (to remove the cell) buttons.
Visual Feedback: A clear visual style has been added for the error state, including a darkened background and an icon, to visually highlight the problematic cell.
Seamless Stream Switching
Completely eliminated the "white screen" flash when switching between SD/HD quality or entering fullscreen mode. The last frame from the old stream is now displayed while the new one is loading, making the transition seamless.
Enhanced Stream Info
The statistics overlay in the bottom-left corner of a cell now displays the video codec and resolution (e.g., H264, 1920x1080) in addition to fps and bitrate.
CSS Refactoring
The CSS codebase has been restructured. All styles have been split into logical component files (grid.css, sidebar.css, etc.) to simplify future maintenance and development.
🚀 Новые возможности
"Умная пауза" для оптимизации ЦП
Реализован новый механизм, который приостанавливает обработку видеопотоков в неактивных ячейках сетки. Это радикально снижает нагрузку на центральный процессор при одновременном отображении большого количества камер. Видео в ячейке мгновенно возобновляется по клику, обеспечивая плавный и отзывчивый интерфейс.
Система брендинга (White-Labeling)
Добавлена поддержка полной кастомизации приложения. Теперь вы можете создать файл branding.json в корневой папке приложения, чтобы:
Изменить название приложения.
Заменить стандартный логотип на свой собственный.
Отключить определенные функции интерфейса, такие как кнопка "Сообщить о проблеме" или секция "Поддержать проект".
Это идеальное решение для компаний, желающих использовать приложение под собственным брендом.
✨ Улучшения и исправления
Улучшенная обработка ошибок потока
Интерактивные кнопки: При сбое подключения к камере (неверный RTSP-путь, неправильный пароль, камера оффлайн и т.д.) в ячейке теперь отображается информативное сообщение об ошибке, а также кнопки "Повторить" (для переподключения) и "Закрыть" (для удаления ячейки из сетки).
Визуальное оформление: Для состояния ошибки добавлены четкие CSS-стили, включая затемненный фон и иконку, чтобы визуально выделить проблемную ячейку.
Плавное переключение потоков
Полностью устранен эффект "белого экрана" при переключении между SD/HD качеством или при переходе в полноэкранный режим. Теперь на время загрузки нового потока отображается последний кадр из старого, что делает переход бесшовным.
Расширенная информация о потоке
Статистика в левом нижнем углу ячейки теперь отображает кодек и разрешение видео (например, H264, 1920x1080) в дополнение к fps и битрейту.
Рефакторинг CSS
Кодовая база стилей была реструктурирована. Все стили разделены на логические компонентные файлы (grid.css, sidebar.css и т.д.) для упрощения дальнейшей поддержки и разработки.
v2.8.3
✨ What's New:
✌️ Two App Versions: Lite and Intellect
Lite Version: A lightweight and fast client designed for real-time camera viewing and basic archive operations. Ideal for users who do not need video analytics and extensibility.
Intellect Version: Includes the full capabilities of the application: advanced archive, powerful neural network-based video analytics (with GPU support), a plugin system, user management, and much more.
🎬 Professional Archive: A Complete Overhaul for Speed and Convenience
Switched to HLS Player: We've moved away from the old playback method in favor of modern HLS (HTTP Live Streaming). This ensures smooth playback, fast and accurate seeking, and stable performance at high speeds.
Intuitive Clip Export: A new, user-friendly way to export video clips has been added, inspired by the SmartPSS interface. You can now easily mark start (content_cut) and end points on the timeline and save the desired clip with just a couple of clicks.
Smooth Timeline Zooming: Navigating the archive is now even more pleasant! We've implemented smooth, animated zooming of the timeline using the mouse wheel, which focuses on the point under your cursor.
📺 Automatic SD/HD Stream Switching
A popular feature has returned and been improved! The application now automatically uses an economical SD stream for grid previews and instantly switches to a high-quality HD stream when expanding the video to full screen. This significantly reduces network and CPU load.
📦 Manual Update Control with Changelog
We've put you in control of updates. You can now manually check for a new version in Settings -> General. If an update is available, you will see a list of changes (changelog) directly within the app and can decide for yourself whether to download and install it.
🚀 Fixes & Performance Improvements:
Instant Archive Playback Start: By switching to remuxing (-c copy) instead of transcoding, the HLS stream for H.264 files is prepared in a fraction of a second. No more long waits for "Preparing video...".
H.265 (HEVC) Archive Support: The system now automatically detects the video file's codec. If it's H.265, it performs a quick transcode to the compatible H.264 format, ensuring playback.
Stable High-Speed Playback: Fixed a critical bug where playback would stall at high speeds (4x, 8x, and above).
Accurate Seeking & Real-time Clock: Resolved an issue where the player would "forget" its position after seeking or changing speed. The time display now updates correctly.
Stable Startup: Fixed a crash on launch caused by an incorrect initialization order.
Thank you for your support and for using the application
✨ Что нового:
✌️ Две версии приложения: Lite и Intellect
Lite-версия — это легкий и быстрый клиент, предназначенный для просмотра камер в реальном времени и базовой работы с архивом. Идеально подходит для пользователей, которым не нужна видеоаналитика и расширяемость.
Intellect-версия — включает все возможности приложения: видеоаналитику на базе нейронных сетей (с поддержкой GPU), систему плагинов
🎬 Профессиональный Архив: Полная переработка для скорости и удобства
Переход на HLS-плеер: Мы отказались от старого метода воспроизведения в пользу современного HLS (HTTP Live Streaming). Это обеспечивает плавное воспроизведение, быструю и точную перемотку, а также стабильную работу на высоких скоростях.
Интуитивный Экспорт Клипов: Добавлен новый, удобный способ экспорта видеофрагментов. Теперь вы можете легко отметить начальную (content_cut) и конечную точки на таймлайне и сохранить нужный клип всего парой кликов.
Плавное Масштабирование Таймлайна: Навигация по архиву стала еще приятнее! Мы реализовали плавное, анимированное зумирование временной шкалы при использовании колеса мыши, которое фокусируется на точке под вашим курсором.
📺 Автоматическое Переключение SD/HD Потоков
Возвращен и улучшен популярный функционал! Приложение теперь автоматически использует экономичный SD-поток для предпросмотра в сетке и мгновенно переключается на качественный HD-поток при разворачивании видео на полный экран. Это значительно снижает нагрузку на сеть и процессор.
📦 Ручное Управление Обновлениями с Changelog
Мы передали контроль над обновлениями в ваши руки. Теперь вы можете вручную проверить наличие новой версии в Настройки -> Общие. Если обновление доступно, вы увидите список изменений (changelog) прямо в приложении и сможете сами принять решение о скачивании и установке.
🚀 Исправления и улучшения производительности:
Мгновенный запуск воспроизведения в архиве: Благодаря переходу на remuxing (-c copy) вместо перекодирования, HLS-поток для файлов H.264 готовится за доли секунды. Больше нет долгого ожидания "Подготовка видео...".
Поддержка архивов в H.265 (HEVC): Система теперь автоматически определяет кодек видеофайла. Если это H.265, включается быстрое перекодирование в совместимый H.264, обеспечивая воспроизведение.
Стабильное ускоренное воспроизведение: Исправлена критическая ошибка, из-за которой воспроизведение останавливалось на высоких скоростях (4x, 8x и выше).
Точная перемотка и обновление времени: Исправлена проблема, при которой плеер "забывал" позицию и сбрасывался на начало после перемотки или смены скорости. Отображаемое время теперь обновляется корректно.
Стабильный запуск: Исправлена ошибка, из-за которой приложение могло падать при запуске из-за неправильного порядка инициализации.
Спасибо за вашу поддержку и использование приложения!
2.8.2
Hello everyone! This is a major update focused on fixing key issues, improving the user experience, and adding powerful new features. Thank you to everyone who reported bugs and provided logs—your help is invaluable!
✨ Key New Features
🎉 Built-in Issue Reporting System
We understand the importance of reporting issues quickly and accurately. Now, you can do it in just a few clicks!
Easy Submission: A new "Report an Issue" button is now available in the General Settings menu (⚙️).
Attach Screenshots: Visually demonstrate what went wrong by attaching up to 5 images from your computer.
Automatic Data Collection: System logs and an anonymized configuration are automatically attached to your report, significantly speeding up diagnostics and bug fixes.
🚀 HLS-based Archive and Accurate Timeline
The archive functionality has been completely reworked for maximum performance and convenience.
Instant Seeking: Recordings are now converted on-the-fly into an HLS stream, enabling instant seeking on the timeline without delays or buffering, even for very large files.
Accurate Recording Duration: The application now uses ffprobe to determine the real duration of each video file. The visual length of a recording on the timeline now precisely matches its actual length.
Smooth and Responsive Timeline: The timeline logic has been rewritten from scratch. Zooming and scrolling are now smooth and predictable.
🧩 New Plugins: "Object Counter" & "Face Detector"
Two new plugins have been added to the application's modular system:
Object Counter: When analytics are enabled, this plugin displays a counter of detected objects in the corner of the video cell (e.g., "Person: 2").
Face Detector: Automatically detects people in the frame, crops their faces, and saves them as .jpg files to a configurable folder. A smart cooldown prevents saving hundreds of identical images.
🐛 Fixes & Stability Improvements
Fixed Stream Conflict with Duplicate Cameras: Each cell in the grid now has its own independent stream process. Switching quality (HD/SD) in one cell no longer affects others.
Automatic Restart for Dropped Streams: If a camera connection is lost, the application now automatically attempts to restart the stream with an increasing delay, significantly improving stability.
Fixed Authentication Error for NETIP (Xiongmai) Cameras.
Resolved numerous technical issues related to the HLS implementation, dependencies (ERR_REQUIRE_ESM, ENOENT), Content Security Policy (CSP), and ffmpeg crashes (Invalid data found).
Optimized Analytics Data Transfer: The mechanism for exchanging data with the Python analytics script has been overhauled. Moving from base64 to temporary file paths has dramatically improved reliability and performance.
🎨 UI/UX Enhancements
Frameless Window Design: The native OS window frame has been removed for a more modern look.
Context Menu for Camera Groups: Manage groups (rename, delete) by right-clicking on the group header.
Improved Camera Discovery: The ONVIF discovery mechanism is now faster and more reliable.
Full Localization: New features, including plugins and the reporting system, are fully translated into Russian and English.
System dialogs have been replaced with custom modals that match the application's style.
PTZ controls and the stats overlay no longer overlap.
✨ Ключевые нововведения
🎉 Встроенная система отчетов об ошибках
Мы понимаем, как важно быстро и точно сообщать о найденных проблемах. Теперь это можно сделать в несколько кликов!
Простая отправка: В меню общих настроек (⚙️) появилась кнопка "Сообщить о проблеме".
Прикрепление скриншотов: Наглядно покажите, что пошло не так, прикрепив до 5 изображений с вашего компьютера.
Автоматический сбор данных: К отчету автоматически прикрепляются системные логи и анонимизированная конфигурация, что значительно ускоряет диагностику и исправление ошибок.
🚀 Архив на базе HLS и точный таймлайн
Работа с архивом была полностью переработана для максимальной производительности и удобства.
Мгновенная перемотка: Записи теперь "на лету" конвертируются в HLS-поток, что обеспечивает мгновенную перемотку без задержек и буферизации, даже для очень больших файлов.
Точная длительность записей: Приложение теперь использует ffprobe для определения реальной длительности каждого видеофайла. Визуальная длина записи на таймлайне теперь точно соответствует её фактической продолжительности.
Плавный и отзывчивый таймлайн: Логика работы таймлайна полностью переписана. Масштабирование (зум) и прокрутка теперь работают плавно и предсказуемо.
🧩 Новые плагины: "Счётчик объектов" и "Детектор лиц"
Модульная система приложения пополнилась двумя новыми плагинами:
Счётчик объектов: При включенной аналитике отображает в углу ячейки счётчик обнаруженных объектов (например, "Человек: 2").
Детектор лиц: Автоматически обнаруживает людей в кадре, вырезает их лица и сохраняет в виде .jpg файлов в настраиваемую папку. Умный кулдаун предотвращает сохранение сотен одинаковых снимков.
🐛 Исправления и улучшения стабильности
Исправлен конфликт потоков при дублировании камер: Теперь каждая ячейка в сетке имеет свой независимый процесс трансляции. Переключение качества (HD/SD) в одной ячейке больше никак не влияет на другие.
Автоматический перезапуск "упавших" потоков: Если соединение с камерой теряется, приложение теперь автоматически пытается перезапустить поток с увеличивающейся задержкой, что значительно повышает стабильность.
Исправлена ошибка аутентификации для камер NETIP (Xiongmai).
Устранены многочисленные технические проблемы, связанные с внедрением HLS, зависимостями (ERR_REQUIRE_ESM, ENOENT), политикой безопасности контента (CSP) и падениями ffmpeg (Invalid data found).
Оптимизирована передача данных аналитики: Переход от base64 к передаче путей к временным файлам кардинально повысил надежность и производительность аналитики.
🎨 Улучшения интерфейса (UI/UX)
Безрамочный дизайн окна: Убрана стандартная рамка ОС для более современного вида.
Контекстное меню для групп камер: Управляйте группами (переименование, удаление) через клик правой кнопкой мыши.
Улучшенный поиск камер: Механизм обнаружения ONVIF-камер работает быстрее и надежнее.
Полная локализация: Новые функции, включая плагины и систему отчетов, полностью переведены на русский и английский языки.
Системные диалоги заменены на кастомные модальные окна в едином стиле приложения.
Элементы управления PTZ и блок статистики больше не перекрывают друг друга.
Мы призываем вас активно использовать новую функцию для сообщения о любых ошибках. Ваша обратная связь бесценна! Спасибо за вашу поддержку.
2.8.1
This is a major update focused on fixing critical bugs, improving stability, and adding long-awaited group management features. The main achievement of this release is the complete restoration and significant enhancement of the video analytics module.
✨ New Features
Full Group Management: You can now not only create camera groups but also fully manage existing ones!
Rename: Right-click on a group header to select the "Rename" option and give it a new name.
Delete: You can also delete a group via the right-click context menu. Important: Cameras from the deleted group will not be removed; they will be automatically moved to the "Ungrouped Cameras" section.
🔧 Enhancements & Changes
Analytics Provider Selection (GPU/CPU): A new selector has been added to the general application settings, allowing users to manually choose the engine for video analytics. This gives full control over performance and compatibility.
Auto (Recommended): The application will automatically select the best available GPU method (DirectML for Windows).
GPU (DirectML): Forces the use of the graphics card via DirectX.
CPU: Uses the central processor for maximum compatibility on any hardware.
Improved Default Stream Paths: When adding a new camera, the default paths for HD and SD streams are now set to /stream=0 and /stream=1. This format is common on many firmwares and reduces the need for manual editing during setup.
🐛 Bug Fixes
[Critical] Completely Fixed Video Analytics: Resolved the core issue that caused the analytics module to crash immediately upon launch.
Reason: The bug was caused by an incompatibility between the onnxruntime library and the new NumPy 2.x release, as well as unstable behavior with NVIDIA CUDA drivers in a packaged application.
Solution:
The NumPy dependency has been pinned to the stable 1.x version.
The launch mechanism has been completely reworked: the unstable dependency on CUDA has been removed in favor of the more reliable DirectML for Windows.
A robust fallback system has been implemented that automatically switches to CPU if GPU acceleration is unavailable for any reason.
The build script has been corrected to properly include all necessary libraries (.dll) and the model itself (yolov8n.onnx) in the executable file.
Fixed Frozen Input Fields Bug: Resolved an issue where text input fields in modal windows (e.g., when editing a camera) would become inactive after performing a confirmation-based action (like deleting another camera). The problem was caused by a conflict between native system dialogs and the application's main window. All confirmation dialogs are now part of the application, ensuring stable focus handling.
Corrected Confirmation Dialog UI: Removed the unnecessary text input field from the delete confirmation dialog. The dialog now has a clean look and serves its single purpose of confirming an action.
✨ Новые возможности (Features)
Полное управление группами камер: Теперь вы можете не только создавать группы, но и полноценно управлять существующими!
Переименование: Кликните правой кнопкой мыши на заголовок группы, чтобы выбрать опцию "Переименовать" и задать новое имя.
Удаление: Так же через правый клик можно удалить группу. Важно: камеры из удаленной группы не удаляются, а автоматически перемещаются в раздел "Камеры без группы".
🔧 Улучшения и изменения (Enhancements & Changes)
Выбор провайдера аналитики (GPU/CPU): В общих настройках приложения появился новый переключатель, позволяющий пользователю вручную выбрать движок для видеоаналитики. Это дает полный контроль над производительностью и совместимостью.
Авто (Рекомендуется): Приложение само выберет лучший доступный GPU-метод (DirectML для Windows).
GPU (DirectML): Принудительное использование видеокарты через DirectX.
CPU: Использование центрального процессора для максимальной совместимости на любом оборудовании.
Улучшенные пути к потокам по умолчанию: При добавлении новой камеры пути к HD и SD потокам теперь по умолчанию установлены в /stream=0 и /stream=1. Это соответствует формату многих прошивок и уменьшает необходимость ручного редактирования.
🐛 Исправления ошибок (Bug Fixes)
[Критическое] Полностью исправлена работа видеоаналитики: Устранена основная проблема, из-за которой модуль аналитики падал сразу после запуска.
Причина: Ошибка была вызвана несовместимостью библиотеки onnxruntime с новой версией NumPy 2.x, а также нестабильной работой с драйверами NVIDIA CUDA в упакованном приложении.
Решение:
Зависимость от NumPy была зафиксирована на стабильной версии 1.x.
Полностью переработан механизм запуска: убрана нестабильная зависимость от CUDA в пользу более надежного DirectML для Windows.
Внедрена отказоустойчивая система, которая автоматически переключается на CPU, если GPU-ускорение по какой-либо причине недоступно.
Скрипт сборки был исправлен для корректного включения всех необходимых библиотек (.dll) и самой модели (yolov8n.onnx) в исполняемый файл.
Исправлена ошибка с "замиранием" полей ввода: Устранена проблема, из-за которой поля для ввода текста в модальных окнах (например, при редактировании камеры) становились неактивными после выполнения действия, требующего подтверждения (например, удаление другой камеры). Проблема была вызвана конфликтом системных диалоговых окон с основным окном приложения. Теперь все диалоги подтверждения являются частью приложения, что обеспечивает стабильную работу.
Исправлен интерфейс диалога подтверждения: Убрано лишнее поле для ввода текста из окна подтверждения удаления. Теперь диалог выглядит чисто и выполняет только одну функцию — подтверждение действия.