Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v3.0.0 - Continuous recordings #716

Open
wants to merge 350 commits into
base: master
Choose a base branch
from
Open

v3.0.0 - Continuous recordings #716

wants to merge 350 commits into from

Conversation

roflcoopter
Copy link
Owner

@roflcoopter roflcoopter commented Mar 28, 2024

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

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.

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.

Events

The Events view is a more concise view than the Timeline.
Here you can scroll through and view all the Events.
You cannot view 24/7 recordings here.

Breaking Changes

  • 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

Tasks:

  • CONFIG_RETAIN is removed in favor of tier max_age
  • Add a force move to next tier on stop to avoid losing data in RAM when restarting
  • Cleanup FilesMeta table on shutdown. Solved by a trigger
  • CONFIG_RETAIN is still used in some places
  • CONFIG_FOLDER is removed in favor of tier paths
  • Remove segment cleanup
  • Remove recordings cleanup
  • Force mp4
  • Fix saving of recordings clips create_event_clip
  • Must change recorder/complete event listener in Recordings UI since it is not triggered if create_event_clip is False
  • Add a safe mode if storage component fails to load
  • Add manual disc sync to make sure that all files are in the database
  • Fix face recognition pickle error
  • Add max length to recordings
  • Make sure that FailedCamera recordings work properly
  • Remove FailedCamera from _get_tier_config and preceding calls
  • Fix deletion of recordings
  • Update docker docs with new VOLUMES
  • Update UI to use HLS recordings
  • Dynamic file fetching to find files that have been moved to different tiers
  • Add orig_ctime to FilesMeta table to store the original creation time of the file, replacing created_at in most places and also sorting on filename column in recordings_to_move_query
  • Delete recordings from database when files are removed
  • API for fetching 24/7 events
  • End HLS playlists if there is a large gap in the segments
  • Set Recordings end_time/Motion end_time to current time on startup in case of crashes
  • Transcode video to HLS supported formats
  • Migrate existing recordings
  • Make sure snapshot domain overrides actually work
  • Fix timezone issues with recording/event dates
  • New UI page called Events
    • Timeline
    • Events
    • Filters
    • Update timeline using websockets
    • Add link from startpage to Events
    • Make clicking the timeline more intuitive
    • Face recognition on Timeline
    • ALPR on Timeline
    • Motion detection on Events
    • Face recognition on Events
    • ALPR on Events
    • Fix Date picker so it shows the correct amount of Events
    • Synchronize players
    • Allow export of timespan

Copy link

netlify bot commented Mar 28, 2024

Deploy Preview for viseron canceled.

Name Link
🔨 Latest commit 379b7a3
🔍 Latest deploy log https://app.netlify.com/sites/viseron/deploys/674da717d6714e0008c6f500

Copy link

sonarcloud bot commented Apr 3, 2024

Quality Gate Passed Quality Gate passed

Issues
1 New issue
0 Accepted issues

Measures
0 Security Hotspots
No data about Coverage
2.0% Duplication on New Code

See analysis details on SonarCloud

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants