Skip to content

Releases: OpenIPC/dashboard

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 обновляет список без перезапуска.

v2.9.0

22 Oct 10:34

Choose a tag to compare

ci: Add GitHub Actions workflow for build and release

Dashboard for OpenIPC v0.1.1

11 Oct 10:47

Choose a tag to compare

See the assets to download this version and install.

Dashboard for OpenIPC v0.1.0

10 Oct 12:59

Choose a tag to compare

See the assets to download this version and install.

v2.8.7

04 Sep 11:12

Choose a tag to compare

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

30 Aug 09:15

Choose a tag to compare

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

28 Aug 04:07

Choose a tag to compare

ci: Add GitHub Actions workflow for build and release

v2.8.4

27 Aug 12:23

Choose a tag to compare

🚀 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 и т.д.) для упрощения дальнейшей поддержки и разработки.