github roflcoopter/viseron v3.5.0
3.5.0 - Camera Tuning and Manual Recordings

5 hours ago

The main highlights of this release are camera tuning in the frontend, manual recordings, and improved MQTT support. Additionally, there are various performance optimizations and fixes.

Breaking changes

CUDA has been upgraded to 12.9.1.
If you run the roflcoopter/amd64-cuda-viseron image, it may cause compatibility issues if you are using an older version on your system. Please make sure to update your host if you experience any issues.

New features

Camera tuning

Camera tuning allows you to adjust various settings of a camera directly in the frontend.
Not all options are available yet but that is the long-term plan.
main

Another welcome change to this feature is that you can now draw masks directly in the frontend, instead of having to use external tools to generate the masks and then pasting it into the config.yaml. This makes it much easier to set up motion detection areas and ignore areas.

Note that you still need to restart Viseron after changing the settings for the changes to take effect.
The next release will include hot reloading of all settings to make this process more seamless.
Most code is already in place for this but it has not been exposed to the frontend properly yet.
Documentation on this feature can be found here

A big shoutout to @kaburagisec who contributed the camera tuning!

Manual recordings

You can now start and stop recordings manually from the frontend, via MQTT and through Telegram.
Visual feedback is provided when a recording is ongoing as well.
manual-recording-button

Documentation on this feature can be found here

Camera toggle in frontend

There is now a camera toggle in the frontend to stop/start cameras on-demand:
camera-toggle-button

Profile page

A new profile page has been added to the frontend where users can set their preferences for the frontend.
This currently only supports setting the users display name and timezone but will be expanded in the future to include more settings like language and date format.
main

Other notable features

  • External DB support for PostgreSQL. Documentation is available here
  • New config option base_topic for mqtt to set the base topic for all MQTT messages. Still defaults to the value client_id if not set.
  • New config option publish_states_on_reconnect (default: true) for mqtt to control if MQTT state messages should be re-published on reconnect. This is useful to not miss state updates that happened during downtime or if using an MQTT broker that does not persist messages.
  • New config option publish_ha_config_on_reconnect (default: false) for mqtt to control if Home Assistant MQTT discovery config messages should be re-published on reconnect. This is useful if using an MQTT broker that does not persist messages.
  • MJPEG camera sources are now automatically transcoded to be compatible with HLS streaming.

Changes

  • Ruamel YAML is now used for parsing the configuration file instead of PyYAML. This allows for preserving comments and formatting in the config file.
  • Recordings on the Recordings pages are now using HLS.js for playback instead of Video.js. This improves compatibility across browsers and devices, and provides a more uniform playback experience.
  • Uses default_entity_id in mqtt instead of object_id when publishing Home Assistant MQTT discovery messages, since the latter is deprecated.

Fixes

  • Fixes an issue where multiple API calls were re-fetching the same data unnecessarily, improving performance.
  • Camera segment fragmenter no longer runs for stopped cameras, reducing CPU usage.
  • Fixes a problem where cameras that were disconnected never properly reconnected. Closes #1164
  • Fixes a problem where the segment process that is spawned when using a substream was not monitored correctly, leading to missing recordings in case of crashes. Closes #1215
  • Upgrades HLS.js to version 1.6.15, which includes a fix to #1106
  • Fixes segmentation faults on some models for the YOLO component
  • mog2 motion detector no longer triggers motion during startup.

Developer experience

  • Framework for generating screenshots for documentation added, using Playwright
  • Slight changes to the developer environment setup instructions for VS Code

Docker images will be on Docker Hub shortly

All changes

Full Changelog: v3.4.1...v3.5.0

Don't miss a new viseron release

NewReleases is sending notifications on new releases.