Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Releases: roflcoopter/viseron

3.3.1 - Hailo-8 default model URL hotfix

18 Oct 06:19
6960211

Choose a tag to compare

Small hotfix release for the Hailo-8 default model download URL

What's Changed

Full Changelog: v3.3.0...v3.3.1

3.3.0 - Webhook and Hailo components

07 Oct 20:42
ebf0c21

Choose a tag to compare

This release is mainly focused on the implementation of the webhook and hailo components.

The webhook component allows you to integrate Viseron with any third party API using HTTP requests.

The hailo component enables support for running object detection on Hailo-8 accelerators, further broadening the support for different detectors in Viseron.

New features

  • A new Hailo component has been added for running object detection on a Hailo-8 accelerator.
  • A new Webhook component has been added which lets you perform HTTP requests on any system event triggered in Viseron.
    The URL and payload is templatable for maximum flexibility.
  • In order to easily find which system event is triggered when, a System Event viewer is added to the frontend
  • The webhook component uses Jinja2 for templating, and to make it easier to write and debug the templates, a new Template editor page has been added.
  • The storage component now has timelapse functionality, allowing you to periodically capture and store frames from your video streams in tiered fashion.
    There is currently no frontend support implemented, that will come in a later release.
  • Added audio codec pcm_s16be to the list of codecs which automatically transcode to aac

System Event viewer:
Viseron-Settings-system-event-viewer

Template editor:
Viseron-Settings-template-editor

Changes

  • Swapped to Switchroot FFmpeg for Nano devices, by @Azkali
  • The datepicker on the Events page is now faster and no longer freezes when there are many events
  • FFprobe retries are now handled by the domain setup
  • Install more up-to-date Intel drivers to support more recent hardware (possibly at the expense of some stability)
  • Improvements to the tier file handling. Moves and deletes now have priority over tier checks. This reduces the chance that file actions are pending for a long time in case of slow running tier checks.
  • The Azure Pipelines Docker builds for aarch64 now runs on a self hosted aarch64 agent for faster build times.

Fixes

  • Removes ssl_early_data from nginx config, by @Azkali
  • Reduced image size for the amd64 image. Due to the new ultralytics component from 3.2, the image was bloated with CUDA libraries which is now fixed.
  • HLS playlist improvements for the Timeline view
  • Fix race condition when stopping/starting cameras rapidly, which made reconnection attempts stop

Docker images will be on Docker Hub shortly

All changes

New Contributors

Full Changelog: v3.2.3...v3.3.0

3.2.3 - Hotfix for camera disconnections

25 Aug 06:33
f9ebd37

Choose a tag to compare

This release adresses the issues #1075, #1076 and #1096

When a camera disconnected, the retry loop would sometimes get stuck, leaving cameras disconnected

Note: This is a re-release to trigger new builds due to failures of the previous one

What's Changed

Full Changelog: v3.2.1...v3.2.3

3.2.2 - Hotfix for camera disconnections

24 Aug 20:41
b331265

Choose a tag to compare

This release adresses the issues #1075, #1076 and #1096

When a camera disconnected, the retry loop would sometimes get stuck, leaving cameras disconnected

What's Changed

  • fix race condition when stopping and starting a camera rapidly by @roflcoopter in #1097

Full Changelog: v3.2.1...v3.2.2

3.2.1 - Hotfix for tier check exception

03 Aug 22:07
8edae39

Choose a tag to compare

This release addresses the issue with the uncaught exception in #1068, which also caused object detection to stop working in some circumstances

Full Changelog: v3.2.0...v3.2.1

3.2.0 - Proper live streaming

17 Jul 18:26

Choose a tag to compare

Proper live streaming is now available in Viseron, utilizing the great go2rtc application.
Previously Viseron resorted to using the MJPEG stream for live streaming, which results in low quality and high latency.
With the new go2rtc component, Viseron can now stream using WebRTC or MSE, which gives a much better experience.
The new Live page is available at /live and can be accessed from the sidebar.
The Live page is very similar to the Events page, using the same responsiveness so that you can view multiple cameras at once.

In order to use it, you will need to update your configuration to include the new go2rtc component.

Breaking changes

  • port in webserver is now deprecated. In order to support the new go2rtc streaming server, an NGINX reverse proxy is now included in the container, which listens to the old default port 8888

New features

  • A new Live Page is now available, which allows for better live streaming and support for more protocols.
    • The Live Page is available at /live and can be accessed from the main menu. It utilizes the new go2rtc component to support WebRTC/MSE streaming.
    • The MJPEG stream can now be accessed at the Live page by using the toggle in the extra options menu of the video player.
  • A new go2rtc streaming server is now included in the container. This allows for better live streaming and support for more protocols.
  • NGINX reverse proxy - A reverse proxy is now included in the container to enhance performance and provide live streaming through go2rtc.
  • A new YOLOcomponent which uses Ultralytics YOLOv8 for object detection is now available.
  • You can now directly go to a specific timestamp on Events Page by using query parameters. More information on this can be found in the documentation.
  • The EdgeTPU component can now utilize multiple EdgeTPU devices for better performance. See the updated documentation for more information.
  • Fullscreen button is now available on the Events Page (and the new Live Page) to allow for a better viewing experience.
    Does not work in iOS, because Apple.
  • New way to calculate which files to move or delete in the tiered storage system.
    The new implementation uses numpy instead of pure SQL queries, which should improve performance at the cost of slightly (temporary) increased memory usage.
    You can limit the CPU usage of this calculation by setting the new tier_check_cpu_limit config option.
    You can further tune the workload using the config options tier_check_batch_size, tier_check_sleep_between_batches and tier_check_workers.

Changes

  • HLS.js upgraded to 1.6.2
  • If you have a substream with different resolution than the main stream, the video player now gets the correct resolution from the main stream
  • EdgeTPU devices will now be restarted in case of multiple errors, helping to recover from temporary issues.
  • Segment processing is now done in a separate process, for better performance and stability of the main process.
  • Some unusual circumstances may cause the size based cleanup to fail. If thats the case and the first tier is full, a tier check as well as a cleanup job will be scheduled to remedy that.

Fixes

  • Camera name overlapping the video stream controls on the Events Page
  • PTZ component failing to initialize due to missing devicemgmt.wsdl file
  • Fix for DeepStack face recognition not working
  • Includes coco.names file in the RPI3 build, which is required for the Darknet object detection model.
  • Properly resubscribe to MQTT topics when the connection is lost.

Developer experience

  • Fixes a long standing issue with the Devcontaner failing to start due to a missing config folder.
    When cloning using the instructions in the Developer docs, the config folder was not present on the host since cloneInVolume was used.
    The config folder is now dynamically set to the correct path in the Devcontainer using the env variable VISERON_CONFIG_PATH.

Docker images will be on Docker Hub shortly

All Changes

New Contributors

Full Changelog: v3.1.2...v3.2.0

3.1.2 - EdgeTPU Image classification fix

15 May 06:45

Choose a tag to compare

Resolves an issue with EdgeTPU image classification which caused it to not function at all. Closes #1000

Full Changelog: v3.1.1...v3.1.2

3.1.1 - Camera storage config fix

17 Apr 20:49
f6a79b5

Choose a tag to compare

Hotfix release to resolve an issue where you couldnt specify recorder or snapshots without also specifying the other under a cameras storage config

What's Changed

Full Changelog: v3.1.0...v3.1.1

3.1.0 - User and Role Management

16 Apr 10:01
8c3e8b6

Choose a tag to compare

Multiple users, finally! Viseron has had authentication for quite some time, but you could only create one initial admin user during the onboarding.

This release brings a new User mangement page to the frontend, and with it a new Settings page.
settings-page

Roles

Users can be assigned different roles: admin, write or read.
See the updated documentation: https://viseron.netlify.app/docs/documentation/configuration/authentication#roles

Assign cameras

If you want to restrict what cameras each user can see, you can do so by assigning specific ones to each user.
See the updated documentation: https://viseron.netlify.app/docs/documentation/configuration/authentication#assigning-cameras
image

New features

  • Masks can now be configured for Post processor. They are configured the same way as masks for object/motion detection. A new config option draw_post_processor_mask is also available for the MJPEG streams in order to debug the masks
  • Discord notifications component, provided by @InterN0te
  • Gotify notifications component, provided by @InterN0te
  • New config option use_last_snapshot_on_error for FFmpeg/GStreamer. It allows for returning the previously retrieved snapshot for a camera incase of a flaky connection
  • New filter option on Events page to group cameras.
    image
  • New filter option on Events page to adjust the requested timestamp with the configured lookback.
    image

Fixes

  • Wait for file updates when shutting down and using move_on_shutdown: true
  • Fix Docker compose documentation examples
  • Fix Codeproject AI Face recognition training. Previously faces were never recognized when training
  • Fix Compreface failing to start when use_subjects was set to false
  • Avoid reloading page when submitting login form. This caused some issues where you sometimes had to login twice
  • Events are now properly sorted by timestamp in the details popup on the Events page
  • When clicking on an event in the Events page, a snapshots is shown instead of video if its not available.
    This calculation is now more forgiving and now has a 10 seconds grace period

Docker images will be on Docker Hub shortly

All Changes

New Contributors

Full Changelog: v3.0.0...v3.1.0

3.0.0 - Continuous Recordings

15 Mar 08:04
9865c8c

Choose a tag to compare

This release is a big one. It mainly focuses on continuous recordings, but also includes a lot of other features and fixes.

I have been working on this release for a long time and I am very happy with the result. I hope you will enjoy it as much as I do.
The release cadence has been very slow lately and for that I am sorry. I will try to make smaller releases more often in the future.

Breaking changes

  • New docker volumes are required. Please see the updated docker documentation
  • Old recordings will not be compatible with the new version and wont be viewable in the UI
  • Files will no longer be stored in the /recordings folder, and should be removed from your docker volumes
  • Recordings are now in HLS format. If you need to have the recordings saved as full MP4 files you can use the new config option create_event_clip, or use the new Export feature in the UI.
  • mp4 file extension is now forced and extension is removed
  • segments_folder is removed in favor of tier paths from the new storage component
  • Thumbnails are now stored in /thumbnails folder (depending on the tier config)
  • filename_pattern in thumbnail is removed, stored as ID of the recording
  • audio_codec behavior changed. It is now only used as stream information. To transcode Audio, set audio_codec under recorder
  • trigger_recorder is removed in favor of trigger_event_recording
  • The FFmpeg command has been changed, so if you use raw_command you need to update it

New features

24/7 recordings

The main feature included in this release is the option of having 24/7 recordings.
With this comes a new component, storage which will allow you to retain data based on time (like it is today) and based one consumed space.
This allows you to use your storage to its maximum.

Documentation for how the recordings work can be found here

Updated screenshots for the frontend can be found here

Storage Tiers

Another feature of the storage component are tiers.
They allow you to store recordings on multiple media.
Say you have one 256GB SSD and a 1TB HDD, you can keep the most recent recordings on the SSD for fast access while offloading the older recordings to the HDD for archiving.

Timeline

To easily view 24/7 recordings, a new Timeline view is available.
It currently shows continuous recordings and different events such as motion, detected objects, face recognition etc.

Timelineview

Events

The Events view is a more concise view than the Timeline.
Here you can scroll through and view all the Events.

Events view

Other new features

  • A new safe mode has been added. If Viseron cant startup due to config errors, it will restore the last known good config and start up with a minimum amount of components. This will allow you to fix the config in the UI and restart Viseron without having to manually restore the config.
  • Allow empty password for cameras
  • A logfile is now created in the /config folder. This will allow you to see the logs without having to enter the container.
  • New telegram component provided by @smelis, which allows sending of clips and thumbnails using Telegram.
  • New ptz component provided by @smelis, which can be used by the Telegram component to control a camera.
    The PTZ functionality will be ported to the web UI as well at some point.
  • max_recording_time has been added to the recorder component. This will allow you to set a maximum recording time for each recording. This is useful if you have a lot of motion events and want to keep the recordings short.
  • record_only has been added to the recorder component. This will allow you to record without running any detectors.
  • still_image_width and still_image_height has been added to the camera component. This will allow you to set the resolution of the still images.

Changes

  • A PostgreSQL database is now running inside the container. It is not possible to use an external database at the moment.
  • Upgraded to Ubuntu 22.04 which gives updated drivers to support newer hardware
  • Updated to React 18
  • Updated to Python 3.10
  • Updated to OpenCV 4.10.0
  • Updated to FFmpeg 5.1.2
  • Updated CUDA
  • Updated DLIB
  • Updated OpenCL
  • Updated VA-API
  • Updated all Python dependencies
  • The documentation has been updated with a lot of new chapters

Fixes

  • Camera passwords are now escaped, meaning that passwords with special characters are now supported.
    This has been a long standing issue which caused FFProbe to fail when trying to connect to the camera.
  • Properly redact sensitive information in logs
  • Reduce the occurence of KeyError: UUID in the logs
  • Fix a long standing bug where frames with drawn items (like bounding boxes, masks etc) would bleed through to other frames.

Docker images will be on Docker Hub shortly