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