Skip to content

Releases: roflcoopter/viseron

v3.0.0b6 - GStreamer fix and VAAPI support

21 May 11:35
8a85f89
Compare
Choose a tag to compare

Fixes

  • Small fix to GStreamer. A bug was introduced when upgrading to Ubuntu 22.04 which caused pipelines to hang
  • Support for VAAPI decoding of streams in GStreamer

Full Changelog: v3.0.0b5...v3.0.0b6

v3.0.0b5 - Delete unwanted files instead of moving

18 May 09:25
217f1c4
Compare
Choose a tag to compare

Fixes

  • Make sure to instantly delete files instead of moving them to succeeding tiers that wont store them
  • Crossbuild gpac so it works on aarch64, jetson-nano etc
  • Make sure jetson-nano finds the correct postgresql version

Full Changelog: v3.0.0b4...v3.0.0b5

v3.0.0b4 - Ubuntu 22.04 Jammy

08 May 13:32
05f5167
Compare
Choose a tag to compare
Pre-release

Fixes

  • Improve handling of clip created by create_event_clip
  • Frontend breadcrumbs partially blocking icons in header
  • Show Viseron version in the footer and the logs
  • Containers are now based on Ubuntu Jammy and Python 3.10
  • EdgeTPU runs in a separate python 3.9 shell since it does not support Python 3.10 yet
  • Automatic PostgreSQL version upgrades
  • Upgrade CUDA to 12.3
  • Upgrade OpenCV to 4.9.0
  • Upgrade Darknet
  • Upgrade Dlib to 19.24.1
  • Upgrade OpenCL and VA-API
  • Make sure that postgres major version upgrades succeed when superuser != postgres

Full Changelog: v3.0.0b3...v3.0.0b4

For discussions, please use this discussion: #721

v3.0.0b3 - Fix builds

08 Apr 12:59
Compare
Choose a tag to compare
v3.0.0b3 - Fix builds Pre-release
Pre-release

Small version bump to fix failing Azure builds

v3.0.0b2 - Fix playback and running as root

08 Apr 08:43
b2007ab
Compare
Choose a tag to compare

Various fixes for the v3.0.0b1 release

Fixes:

  • Make sure thumbnails are lazyloaded properly on Events tab
  • Set a new HLS Client ID everytime the source changes. Resolves some playback issues
  • Make Camera Grid on Events page scrollable so the page remains the same size no matter how many cameras you have.
  • Reduce some spacing in the frontend
  • The Hover Line which shows the time is now properly positioned
  • Connect to DB using the postgres user to allow running the container as root
  • Set default value for EXTINF for fragmented mp4s if it cant be read properly from the manifest file.
    This resolves an issue where playback and loading of the timeline would fail because there were segments that had EXTINF: null in the DB

If you get an error similar to this: psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: FATAL: role "postgres" does not exist you need to stop Viseron and delete the postgresql folder in the config dir.

On next restart Viseron will recreate the DB with proper permissions

v3.0.0b1 - 24/7 recordings

28 Mar 23:03
a20c630
Compare
Choose a tag to compare
Pre-release

This is a pretty massive release that brings a number of new features and improvements.

Documentation can be found here: https://dev--viseron.netlify.app/

Features

24/7 recordings

The main feature developed here 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.

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.

Documentation for the storage component can be found here: https://dev--viseron.netlify.app/components-explorer/components/storage

Timeline

To easily view 24/7 recordings, a new Timeline view is available.
It currently shows continuous recordings, motion events, detected objects.
Face recognition and License plate recognition will be available soon as well.
viseron_v3_timeline_blur

Events

The Events view is a more concise view than the Timeline.
Here you can scroll through and view all the Events.
Currently it shows only recordings but more events like face recognition etc is in the works.
You cannot view 24/7 recordings here.
viseron_v3_events_blur

Breaking Changes

  • Old recordings are not yet migrated over to the new format and will not be viewable in Viseron
  • 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
  • Recordings folder structure has changed
  • mp4 file extension is now forced and extension is removed
  • segments_folder is removed in favor of tier paths
  • Thumbnails are now stored in /thumbnails folder (depending on the tier config)
  • filename_pattern in thumbnail is removed, stored as ID of the recording

See the #716 v3.0.0 PR for tasks left to do before final release is ready.

v2.3.1 - Jetson Nano GStreamer fix

18 Sep 11:20
8c15c61
Compare
Choose a tag to compare

Fix Failed to load component gstreamer: No module named 'gi' for the jetson-nano container.

Closes #672

v2.3.0 - CodeProject AI and License Plate Recognition

14 Sep 13:53
7df8ee5
Compare
Choose a tag to compare

This is a smaller release with a few new features and fixes.
I am working hard on 24/7 recordings that I hade planned to release together with these changes, but its taking a bit longer than i had anticipated.
If you are interested in that, sit tight for the next release! You can follow my progress here: #619

CodeProject AI component

A new component which leverages CodeProject AI's computer vision capabilities is included in this release.
As of now it supports object detection, face recognition as well as a new post processor, Automatic License Plate Recognition!

Automatic License Plate Recognition (ALPR)

A new post processor is now available for ALPR.
Currently only CodeProject AI supports it, but in the future more variants may be supported.

Developer Experience

I have started to work on a better Developer Experience together with some proper Developer documentation.
It is still in early stages and the inner workings of Viseron are not explained yet, but it will improve over time.

The biggest addition to the Developer Experience this release is the support for VSCode Devcontainers.
This makes it significantly easier to get going with development, as all you have to do is spin up the container!
I have been using this myself for some time now and it has accelerated my work significantly

The new Developer docs can be found here : https://viseron.netlify.app/docs/developers

Changes and fixes

There are also a small number of changes and improvements.

  • New config option for the camera domain, still_image
    It allows you to configure a URL to fetch the snapshots that are displayed in the UI from.
    Useful if you woudl lke to get full resolution still images in the UI while still using the substream for detection
    Under still_image you can specify refresh_interval which makes the UI refresh more often. Default is 10 seconds.
  • A mask helper has been added to the docs: https://viseron.netlify.app/components-explorer/components/mog2#mask
    This makes it a bit clearer how to configure them until its possible to do it from the frontend directly.
  • ffmpeg has a new config option raw_command that makes it possible to specify an FFmpeg command that will be used directly.
    Great if you want to test out some specific command that is hard to accomplish using the other available options.
    There are a number of things to keep in mind tho, so if you are going to use it, make sure to read the docs thoroughly.

What's Changed

Full Changelog: v2.2.0...v2.3.0

v2.2.0 - Authentication

22 Apr 07:23
afc209c
Compare
Choose a tag to compare

This release contains a lot of tweaks and fixes as well as some cool new features!

Authentication

The biggest change in this release is the addition of authentication for the frontend/API.
It is disabled by default but can be enabled by adding auth to your webserver config.

webserver:
  auth:

When you first enable authentication you will be greeted with an onboarding page which allows you to create your first user.
At the moment you can only create this first user. Complete user handling is planned for the next release.
image

Enabling authentication protects all resources, including streams and videos, so if you are consuming these directly through Viserons API from another tool you will have some issues. I will make sure to properly implement and document a good way of accessing the API and resources from third-party tools even with auth enabled in a future release.

Things that needs to be added before i consider this feature done:

  • Long lived access tokens for third party consumers of the API
  • Create more users
  • Delete/update users
  • IP bans for failed login attempts

Failed cameras

Cameras that are unavailable during startup will now properly retry setup with automatic back-off.
Any camera that cant be successfully setup will be displayed in the frontend, displaying the error:
Failed_cameras

The red border represents failed cameras, and the orange border represents cameras that are actively retrying setup.
A bonus feature here is that the recordings for the cameras are still available for viewing in the frontend, neat right?!

General fixes

  • FFmpeg upgraded to 5.1.2 with improved hardware acceleration for RPi4
  • H265 fix for gstreamer
  • Audio is transcoded to aac by default if the original codec (pcm_alaw, pcm_mulaw) is not supported in .mp4 files.
    Previously recordings would be stored in .mkv files instead but that proved to be confusing.
  • Changed how dlib and sklearn is installed which should solve a lot of issues with this component on the jetson-nano and aarch64 image

What's Changed

Full Changelog: v2.1.1...v2.2.0

v2.2.0b1 - Authentication

01 Apr 07:05
c441207
Compare
Choose a tag to compare
Pre-release

This release contains a lot of tweaks and fixes as well as some cool new features!

Authentication

The biggest change in this release is the addition of authentication for the frontend/API.
It is disabled by default but can be enabled by adding auth to your webserver config.

webserver:
  auth:

When you first enable authentication you will be greeted with an onboarding page which allows you to create your first user.
At the moment you can only create this first user. Complete user handling is planned for the next release.
image

Enabling authentication protects all resources, including streams and videos, so if you are consuming these directly through Viserons API from another tool you will have some issues. I will make sure to properly implement and document a good way of accessing the API and resources from third-party tools even with auth enabled in a future release.

Things that needs to be added before i consider this feature done:

  • Long lived access tokens for third party consumers of the API
  • Create more users
  • Delete/update users
  • IP bans for failed login attempts

Failed cameras

Cameras that are unavailable during startup will now properly retry setup with automatic back-off.
Any camera that cant be successfully setup will be displayed in the frontend, displaying the error:
Failed_cameras

The red border represents failed cameras, and the orange border represents cameras that are actively retrying setup.
A bonus feature here is that the recordings for the cameras are still available for viewing in the frontend, neat right?!

General fixes

  • FFmpeg upgraded to 5.1.2 with improved hardware acceleration for RPi4
  • H265 fix for gstreamer
  • Audio is transcoded to aac by default if the original codec (pcm_alaw, pcm_mulaw) is not supported in .mp4 files.
    Previously recordings would be stored in .mkv files instead but that proved to be confusing.
  • Changed how dlib and sklearn is installed which should solve a lot of issues with this component on the jetson-nano and aarch64 image

What's Changed

Full Changelog: v2.1.1...v2.2.0b1