Commit Graph

4823 Commits

Author SHA1 Message Date
Nicolas Mowen
6c33dda19f Improve mobile layout 2025-10-21 17:19:00 -06:00
Nicolas Mowen
d1957535d0 Cleanup 2025-10-21 16:37:04 -06:00
Nicolas Mowen
5143162618 Increase default number of faces shown 2025-10-21 16:33:10 -06:00
Nicolas Mowen
d9d98f9d3a Remove max check on classification objects 2025-10-21 16:32:21 -06:00
Nicolas Mowen
7c0a97520a Clean up decision logic 2025-10-21 16:03:08 -06:00
Nicolas Mowen
6d662151de Clean up mobile 2025-10-21 15:55:37 -06:00
Nicolas Mowen
d9216d39e6 Refactor image grouping 2025-10-21 15:48:59 -06:00
Nicolas Mowen
1c6506aa9e Update to use pre-defined component for image shadow 2025-10-21 14:47:24 -06:00
Nicolas Mowen
8c318699c4 Cleanup 2025-10-21 09:40:28 -06:00
Nicolas Mowen
4bca29fbe7 Cleanup 2025-10-21 08:42:08 -06:00
Nicolas Mowen
8ac8760e40 Clean up exports 2025-10-21 08:28:52 -06:00
Nicolas Mowen
868883ec37 Properly get resolution 2025-10-21 07:01:01 -06:00
Nicolas Mowen
35677355c8 Use relative coordinates 2025-10-21 06:32:58 -06:00
Nicolas Mowen
bec64dbeb3 Add basic classification model wizard 2025-10-20 20:30:27 -06:00
Nicolas Mowen
cac2adde31 Improvements to gradients and making face library consistent 2025-10-20 17:17:53 -06:00
Nicolas Mowen
6baf43ddca Adjust button colors 2025-10-20 17:05:49 -06:00
Nicolas Mowen
cbf78e2070 Tweaks 2025-10-20 17:03:32 -06:00
Nicolas Mowen
72896f4631 Clean up design of classification card 2025-10-20 17:03:27 -06:00
Nicolas Mowen
cb9dd09929 Improve model selection view 2025-10-20 16:47:08 -06:00
Nicolas Mowen
8aa260c5cb Add selector for classifiction model type 2025-10-20 16:29:48 -06:00
Nicolas Mowen
5064a817c2 Add cutoff for object classification 2025-10-20 14:35:30 -06:00
Josh Hawkins
c5fec3271f
Improve matching go2rtc stream names with cameras (#20586)
Some checks are pending
CI / AMD64 Build (push) Waiting to run
CI / ARM Build (push) Waiting to run
CI / Jetson Jetpack 6 (push) Waiting to run
CI / AMD64 Extra Build (push) Blocked by required conditions
CI / ARM Extra Build (push) Blocked by required conditions
CI / Synaptics Build (push) Blocked by required conditions
CI / Assemble and push default build (push) Blocked by required conditions
* improve matching go2rtc stream names with cameras

* fix unrelated lint issue
2025-10-20 10:33:02 -05:00
Josh Hawkins
0743cb57c2
fix birdseye and empty card (#20582) 2025-10-20 07:03:22 -06:00
Josh Hawkins
4319118e94
enforce at least one letter in zone names (#20561)
Some checks failed
CI / AMD64 Build (push) Has been cancelled
CI / ARM Build (push) Has been cancelled
CI / Jetson Jetpack 6 (push) Has been cancelled
CI / AMD64 Extra Build (push) Has been cancelled
CI / ARM Extra Build (push) Has been cancelled
CI / Synaptics Build (push) Has been cancelled
CI / Assemble and push default build (push) Has been cancelled
2025-10-19 05:21:15 -06:00
Francesco Durighetto
4c689dde8e
Add optional idle heartbeat for Birdseye (#20453)
* Add optional idle heartbeat for Birdseye (periodic frame emission when idle)

birdseye: add optional idle heartbeat and FFmpeg tuning envs (default off)

This adds an optional configuration field `birdseye.idle_heartbeat_fps` to
enable a lightweight idle heartbeat mechanism in Birdseye. When set to a value
greater than 0, Birdseye periodically re-sends the last composed frame during
idle periods (no motion or active updates).

This helps downstream consumers such as go2rtc, Alexa, or Scrypted to attach
faster and maintain a low-latency RTSP stream when the system is idle.

Key details:
- Config-based (`birdseye.idle_heartbeat_fps`), default `0` (disabled).
- Uses existing Birdseye rendering pipeline; minimal performance impact.
- Does not alter behavior when unset.

Documentation: added tip section in docs/configuration/restream.md.

* Update docs/docs/configuration/restream.md

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>

* Update docs/docs/configuration/reference.md

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>

* Refactors Birdseye idle frame broadcasting

Simplifies the idle frame broadcasting logic by removing the dedicated thread.

The idle frame is now resent directly within the main loop,
improving efficiency and reducing complexity.  Also, limits the idle
heartbeat FPS to a maximum of 10 since the framebuffer is limited to 10 anyway

* ruff fix

---------

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
Co-authored-by: Francesco Durighetto <francesco.durighetto@subbyx.com>
Co-authored-by: duri <duri@homelabubuntu.durihome.unifi>
2025-10-19 05:20:36 -06:00
Nicolas Mowen
f6f555387e
Fix timeline attribute assumption (#20555) 2025-10-18 22:31:55 -05:00
Josh Hawkins
a2396db2aa
Detail Stream tweaks (#20553)
Some checks are pending
CI / AMD64 Build (push) Waiting to run
CI / ARM Build (push) Waiting to run
CI / Jetson Jetpack 6 (push) Waiting to run
CI / AMD64 Extra Build (push) Blocked by required conditions
CI / ARM Extra Build (push) Blocked by required conditions
CI / Synaptics Build (push) Blocked by required conditions
CI / Assemble and push default build (push) Blocked by required conditions
* show audio events in detail stream

* refactor object lifecycle to look similar to detail stream

* pass detail stream as prop to avoid context error

* fix highlighting timing

* add view in explore to menu
2025-10-18 12:19:21 -06:00
Nicolas Mowen
a8bcc109a9
Add support for Intel NPU stats (#20542)
Some checks are pending
CI / ARM Extra Build (push) Blocked by required conditions
CI / Synaptics Build (push) Blocked by required conditions
CI / Assemble and push default build (push) Blocked by required conditions
CI / AMD64 Build (push) Waiting to run
CI / ARM Build (push) Waiting to run
CI / Jetson Jetpack 6 (push) Waiting to run
CI / AMD64 Extra Build (push) Blocked by required conditions
2025-10-17 08:06:41 -05:00
Nicolas Mowen
4228861810
Improve Intel Model (#20541)
* Update supported models and inference times

* Fix d-fine inputs

* Improve d-fine
2025-10-17 06:31:28 -06:00
Nicolas Mowen
d7275a3c1a
Add support for Intel NPU (#20536) 2025-10-17 05:58:59 -05:00
Josh Hawkins
60789f7096
Detail Stream tweaks (#20533)
Some checks are pending
CI / ARM Extra Build (push) Blocked by required conditions
CI / AMD64 Build (push) Waiting to run
CI / ARM Build (push) Waiting to run
CI / Jetson Jetpack 6 (push) Waiting to run
CI / AMD64 Extra Build (push) Blocked by required conditions
CI / Synaptics Build (push) Blocked by required conditions
CI / Assemble and push default build (push) Blocked by required conditions
2025-10-16 14:15:23 -06:00
Nicolas Mowen
9599450cff
Add GenAI info to detail stream (#20527)
Some checks are pending
CI / ARM Extra Build (push) Blocked by required conditions
CI / Synaptics Build (push) Blocked by required conditions
CI / AMD64 Build (push) Waiting to run
CI / ARM Build (push) Waiting to run
CI / Jetson Jetpack 6 (push) Waiting to run
CI / AMD64 Extra Build (push) Blocked by required conditions
CI / Assemble and push default build (push) Blocked by required conditions
* Add camera previews back

* Add genai info
2025-10-16 07:55:10 -06:00
Josh Hawkins
b52044aecc
Add Detail stream in History view (#20525)
* new type

* activity stream panel

* use context provider for activity stream

* new activity stream panel in history view

* overlay for object tracking details in history view

* use overlay in video player

* don't refetch timeline

* fix activity stream group from being highlighted prematurely

* use annotation offset

* fix scrolling and use custom hook for interaction

* memoize to prevent unnecessary renders

* i18n and timestamp formatting

* add annotation offset slider

* bg color

* add collapsible component

* refactor

* rename activity to detail

* fix merge conflicts

* i18n

* more i18n
2025-10-16 07:24:14 -06:00
Nicolas Mowen
2e7a2fd780
Store and show boxes for attributes in timeline (#20513)
* Store and show boxes for attributes in timeline

* Simplify
2025-10-16 07:00:38 -06:00
Josh Hawkins
4e99ee0c33
add Japanese, Swedish, and Lithuanian (#20509)
Some checks are pending
CI / AMD64 Build (push) Waiting to run
CI / ARM Build (push) Waiting to run
CI / Jetson Jetpack 6 (push) Waiting to run
CI / AMD64 Extra Build (push) Blocked by required conditions
CI / ARM Extra Build (push) Blocked by required conditions
CI / Synaptics Build (push) Blocked by required conditions
CI / Assemble and push default build (push) Blocked by required conditions
2025-10-15 13:42:13 -06:00
Josh Hawkins
75d7049b6d
Fix I18n audio labels (#20508)
* ensure i18n audio label keys are translated

don't assume they are in the objects namespace

* add missing audio labels

* Improve handling of label types

* simplify

* fixes

---------

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
2025-10-15 13:02:08 -06:00
Nicolas Mowen
e592c7044b
Improve recording retention logic (#20506)
Some checks are pending
CI / AMD64 Build (push) Waiting to run
CI / ARM Build (push) Waiting to run
CI / Jetson Jetpack 6 (push) Waiting to run
CI / AMD64 Extra Build (push) Blocked by required conditions
CI / ARM Extra Build (push) Blocked by required conditions
CI / Synaptics Build (push) Blocked by required conditions
CI / Assemble and push default build (push) Blocked by required conditions
* Change default event retention

* Update docs

* Handle both record and event record

* Catch edge case

* Undo motion change and improve motion behavior

* fix typo

* Remove record retention banner

* Remove unused

* Fix tests
2025-10-15 11:09:28 -06:00
Josh Hawkins
3c8ef0c71c
UI tweaks (#20498)
* fix padding in debug view

* remove latin character regex from wizard step 1 validation
2025-10-15 05:29:49 -06:00
Josh Hawkins
b02d45d3cb
use f strings for qsv presets (#20489)
Some checks are pending
CI / AMD64 Build (push) Waiting to run
CI / ARM Build (push) Waiting to run
CI / Jetson Jetpack 6 (push) Waiting to run
CI / AMD64 Extra Build (push) Blocked by required conditions
CI / ARM Extra Build (push) Blocked by required conditions
CI / Synaptics Build (push) Blocked by required conditions
CI / Assemble and push default build (push) Blocked by required conditions
2025-10-14 13:13:26 -06:00
Josh Hawkins
dad5b72145
Add ability to download on demand snapshots (#20488)
* on demand snapshot utils

* add optional loading state to feature toggle buttons

* add on demand snapshot button to single camera live view

* i18n
2025-10-14 14:05:35 -05:00
Josh Hawkins
b05ac7430a
Change clean snapshots from png to webp format (#20484)
Some checks are pending
CI / AMD64 Build (push) Waiting to run
CI / ARM Build (push) Waiting to run
CI / Jetson Jetpack 6 (push) Waiting to run
CI / AMD64 Extra Build (push) Blocked by required conditions
CI / ARM Extra Build (push) Blocked by required conditions
CI / Synaptics Build (push) Blocked by required conditions
CI / Assemble and push default build (push) Blocked by required conditions
* save clean webp instead of png

* send clean webp to plus with fallback for old events

* manual event webp

* event cleanup

* api def

* convert png to webp if exists

* update reference config

* change quality
2025-10-14 07:08:41 -06:00
Nicolas Mowen
c091b10df9
Ensure that a negative score can not be sent (#20483) 2025-10-14 07:52:34 -05:00
Nicolas Mowen
a96a617fc9
Add warning for recommending users to use better sub streams (#20482) 2025-10-14 07:52:13 -05:00
Nicolas Mowen
1a1ec8cf91
Refresh recordings when data is stale (#20470)
Some checks are pending
CI / AMD64 Build (push) Waiting to run
CI / ARM Build (push) Waiting to run
CI / Jetson Jetpack 6 (push) Waiting to run
CI / AMD64 Extra Build (push) Blocked by required conditions
CI / ARM Extra Build (push) Blocked by required conditions
CI / Synaptics Build (push) Blocked by required conditions
CI / Assemble and push default build (push) Blocked by required conditions
* Refresh recordings when data is stale

* Fix

* Improve checks

* Increase time to 10 minutes
2025-10-13 17:18:04 -06:00
Nicolas Mowen
6a031eb9ee
Add dynamic Reolink stream configuration for stream URL (#20469)
* Migrate camera APIs to separate tag

* Implement reolink detection to handle dynamic URL assignment

* Cleanup codec handling

* Use average framerate not relative framerate

* Add reolink rtsp warning

* Don't return exception

* Use avg_frame_rate in final info

* Clenaup

* Validate host

* Fix overlap
2025-10-13 17:47:26 -05:00
Josh Hawkins
3c3e11ecaf
Change camera_activity effect to run only when config updates (#20468) 2025-10-13 16:24:35 -06:00
Nicolas Mowen
6caa2050ff
Use arg in preset (#20466) 2025-10-13 13:46:34 -06:00
Josh Hawkins
6413b45495
Clarify docs on autotracking support (#20465) 2025-10-13 13:42:29 -06:00
Josh Hawkins
9d85136f8f
Add Camera Wizard (#20461)
Some checks are pending
CI / AMD64 Build (push) Waiting to run
CI / ARM Build (push) Waiting to run
CI / Jetson Jetpack 6 (push) Waiting to run
CI / AMD64 Extra Build (push) Blocked by required conditions
CI / ARM Extra Build (push) Blocked by required conditions
CI / Synaptics Build (push) Blocked by required conditions
CI / Assemble and push default build (push) Blocked by required conditions
* fetch more from ffprobe

* add detailed param to ffprobe endpoint

* add dots variant to step indicator

* add classname

* tweak colors for dark mode to match figma

* add step 1 form

* add helper function for ffmpeg snapshot

* add go2rtc stream add and ffprobe snapshot endpoints

* add camera image and stream details on successful test

* step 1 tweaks

* step 2 and i18n

* types

* step 1 and 2 tweaks

* add wizard to camera settings view

* add data unit i18n keys

* restream tweak

* fix type

* implement rough idea for step 3

* add api endpoint to delete stream from go2rtc

* add main wizard dialog component

* extract logic for friendly_name and use in wizard

* add i18n and popover for brand url

* add camera name to top

* consolidate validation logic

* prevent dialog from closing when clicking outside

* center camera name on mobile

* add help/docs link popovers

* keep spaces in friendly name

* add stream details to overlay like stats in liveplayer

* add validation results pane to step 3

* ensure test is invalidated if stream is changed

* only display validation results and enable save button if all streams have been tested

* tweaks

* normalize camera name to lower case and improve hash generation

* move wizard to subfolder

* tweaks

* match look of camera edit form to wizard

* move wizard and edit form to its own component

* move enabled/disabled switch to management section

* clean up

* fixes

* fix mobile
2025-10-13 10:52:08 -06:00
Nicolas Mowen
423693d14d
Add ability to select GPU for ffmpeg (#20455)
* Add ability to set selected GPU for ffmpeg

* Cleanup

* Cleanup

* Improve handling
2025-10-13 09:59:38 -06:00