v2.0.0 - Viseron rewrite #430
Replies: 4 comments 4 replies
-
|
Love the work, was checking out some of the ideas on the reddit subs and some cool ideas coming in :-) |
Beta Was this translation helpful? Give feedback.
-
|
this may be me being stupid, but how can i access the streams inside of home assistant? i get the sensors etc, but i couldn't get the MJPEG integration to access the cameras. i get the thumbnails etc but i couldn't find the cameras. not a huge issue, just a nice to have lol. |
Beta Was this translation helpful? Give feedback.
-
|
actually speaking of HA, anyone made any cool automations yet? |
Beta Was this translation helpful? Give feedback.
-
|
Am I going to have a bad time if I try to run the Jetson Nano version on an AGX Orin? |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
This release features a massive rewrite that I have been working on for the past year.
It focuses on decoupling all parts of Viseron, making it more modularized. This allows for easier integration of new functionality.
The config.yaml file will change completely so there is some work that has to be done by each user to port over to the new version.
The general config format is a
componentwhich implements one or moredomains.Each camera has a unique
camera identifierwhich flows through the entire configuration.The
nvrcomponent then ties all these different domains together and provides the full functionality.The big benefit of this new format is that you can mix and match components more freely.
For instance, you could use different object detectors for different cameras, you are not tied into just one.
Config example
Config example with publicly available cameras (used in the screenshots)
Frontend
There is now a UI included in Viseron, written in React TypeScript.
It is enabled by default and can be reached on port 8888 inside the container by default.
Currently it features functionality like viewing cameras, recordings and editing the configuration.
It will be expanded upon in the future.
Some screenshots of the UI
Cameras:

Recordings:

Configuration:

Entities:

Jetson Nano support
This release also features better Jetson Nano support through the
gstreamercomponent.This means that you can utilize your Nano for hardware accelerated camera decoding and object detection.
CompreFace face recognition
Face recognition using CompreFace is now available
Image classification
A new post processor is available,
image_classification.This allows you to get more granular results from a detected object.
As an example, you could detect a specific kind of dog breed, or a specific kind of bird.
Multiprocessing
darknetandedgetpuobject detectos utilize multiprocessing which spreads the load between multiple processes.This allows for better performance, but also makes it easier to analyze and fine tune the load on your system.
Documentation site
The documentation has moved over from being in a README format to a dedicated site.
Hopefully it will help you use Viseron better.
I need your help on how it can be improved, writing good docs is always hard.
I am especially proud of the components page, which is mostly generated from the config schema used.
This means that the documentation and schema will always match, yay!
The documentation is hosted here: https://viseron.netlify.app/
Breaking changes
ALL kinds of inheritance in the config has been removed.
This means that you have to explicitly configure your object detector and motion detector settings for each
camera.intervalhas been removed fromobject_detectionandmotion_detectionA new config option
fpswill be used instead.This change was made since it was quite confusing, both in the code and for the users because
intervalwas specified in seconds.logginghas been removed in all shapes and forms and has been replaced with the new componentloggerPlease see the updated documentation
camerasconfig section has been removed. Camera config is now specified under a component.Each object detector has been split up into individual components.
See the documentation for each detector.
Each motion detector has been split up into individual components.
See the documentation for each detector.
recordercan no longer be configured on a global level.It now has to be present under each camera configuration.
timeoutunder recorder is now calledidle_timeoutstatic_mjpeg_streamsare now calledmjpeg_streamsenableunderobject_detectionis no more. To disable object detection you simply dont configure it for a cameraSame goes for
motion_detectortimeoutformotion_detectoris now calledrecorder_keepalivemax_timeoutformotion_detectoris now calledmax_recorder_keepaliveRecordings are now stored in the folder structure
/recordings/<camera name>/<date>/<timestamp>.mp4Images are no longer streamed to MQTT/Home Assistant, with the exception of thumbnails.
This is because MQTT is not really suited for this and it impacts performance a lot.
If you still want to have the cameras in Home Assistant you can point Home Assistant to an MJPEG stream in Viseron.
filter_argsremoved for camera and recorder.For
camera, usevideo_filtersinstead.For
recorder, you can use bothvideo_filtersandaudio_filtersShort config example to rotate video 180 degrees:
What's Changed
New Contributors
Full Changelog: v1.10.2...v2.0.0
This discussion was created from the release v2.0.0 - Viseron rewrite.
Beta Was this translation helpful? Give feedback.
All reactions