Commit Graph

1845 Commits

Author SHA1 Message Date
Josh Hawkins
bef54c537f clean up 2023-07-03 10:10:43 -05:00
Josh Hawkins
c690bb8500 fix event type for mypy 2023-07-03 10:08:27 -05:00
Josh Hawkins
39fbe47fc3 fix merge conflict 2023-07-03 09:51:11 -05:00
Josh Hawkins
9362775eae Merge dev 2023-07-03 09:46:16 -05:00
Josh Hawkins
5195204604 update autotrack at half fps 2023-07-03 09:22:59 -05:00
Josh Hawkins
b267cfb520 use mp event instead of value for ptz status 2023-07-03 09:22:21 -05:00
Josh Hawkins
8e0d492ad8 remove size ratio 2023-07-02 19:06:44 -05:00
Josh Hawkins
1d588dcdc0 clarify fov support 2023-07-02 18:07:25 -05:00
Josh Hawkins
1f56b93824 docs 2023-07-02 18:02:43 -05:00
Josh Hawkins
59e539375e Always use motion estimator 2023-07-02 16:52:12 -05:00
Josh Hawkins
1be67e2606 Thread names 2023-07-02 16:08:08 -05:00
Josh Hawkins
6f170358ed Fix init 2023-07-02 14:02:52 -05:00
Josh Hawkins
98d534918a Init if enabled when initially disabled in config 2023-07-02 13:40:16 -05:00
Josh Hawkins
e883e00c74 only draw thicker box if autotracking is enabled 2023-07-02 13:10:17 -05:00
Josh Hawkins
f05ca2b9c6 tracked object should be initially motionless 2023-07-02 13:00:12 -05:00
Josh Hawkins
3059fd83c9 mqtt callback 2023-07-02 12:58:07 -05:00
Josh Hawkins
8f590bf5cc iou value for tracked object 2023-07-02 10:53:20 -05:00
Josh Hawkins
98c161bdde Move autotracker start to app.py 2023-07-02 10:52:38 -05:00
Nicolas Mowen
83edf9574e
Scale birdseye layout up to max size after it has been calculated (#6825)
* Scale layout up to max size after it has been calculated

* Limit portrait cameras to taking up 2 rows

* Fix bug

* Fix birdsye not removing cameras once objects are no longer visible

* Fix lint
2023-07-02 07:45:45 -05:00
Josh Hawkins
a5f407dba8 Move queues per camera 2023-07-01 22:35:06 -05:00
Josh Hawkins
56d074ec4e Add threaded queue for movement for slower ptzs 2023-07-01 20:26:55 -05:00
Nicolas Mowen
c25367221e
Fix audio events not being ended (#6981)
* Fix audio events not being ended

* Fix audio events not being ended correctly

* Clean up debug code
2023-07-01 16:33:47 -05:00
Nicolas Mowen
7ee17c7af8
Fix small audio events details (#6978)
* Fix missed audio details

* Add mqtt docs

* Delete instead of setting to None
2023-07-01 11:19:14 -05:00
Nicolas Mowen
c3b313a70d
Audio events (#6848)
* Initial audio classification model implementation

* fix mypy

* Keep audio labelmap local

* Cleanup

* Start adding config for audio

* Add the detector

* Add audio detection process keypoints

* Build out base config

* Load labelmap correctly

* Fix config bugs

* Start audio process

* Fix startup issues

* Try to cleanup restarting

* Add ffmpeg input args

* Get audio detection working

* Save event to db

* End events if not heard for 30 seconds

* Use not heard config

* Stop ffmpeg when shutting down

* Fixes

* End events correctly

* Use api instead of event queue to save audio events

* Get events working

* Close threads when stop event is sent

* remove unused

* Only start audio process if at least one camera is enabled

* Add const for float

* Cleanup labelmap

* Add audio icon in frontend

* Add ability to toggle audio with mqtt

* Set initial audio value

* Fix audio enabling

* Close logpipe

* Isort

* Formatting

* Fix web tests

* Fix web tests

* Handle cases where args are a string

* Remove log

* Cleanup process close

* Use correct field

* Simplify if statement

* Use var for localhost

* Add audio detectors docs

* Add restream docs to mention audio detection

* Add full config docs

* Fix links to other docs

---------

Co-authored-by: Jason Hunter <hunterjm@gmail.com>
2023-07-01 08:18:33 -05:00
Bernt Christian Egeland
f1dc3a639c
fixed TimeAgo abbreviation (#6977)
* fixed TimeAgo abbreviation

* Update web/src/components/TimeAgo.tsx

Co-authored-by: Blake Blackshear <blakeb@blakeshome.com>

---------

Co-authored-by: Blake Blackshear <blakeb@blakeshome.com>
2023-07-01 08:16:19 -05:00
Blake Blackshear
2f401bd8da
update deps (#6973)
* update web deps

* update python deps
2023-07-01 07:47:16 -05:00
Josh Hawkins
27eb2a6088 fix mypy error 2023-06-30 12:51:50 -05:00
Josh Hawkins
1a78230eae fix motion logic 2023-06-30 12:38:44 -05:00
Josh Hawkins
db9a408edf Don't detect motion when ptz is moving 2023-06-30 12:36:46 -05:00
Nicolas Mowen
f3f9b36e07
Fix bad check on np.array (#6968) 2023-06-30 07:06:38 -06:00
Nicolas Mowen
0a8249d6fb
Fix Bad Resize For Camera Snapshot (#6797)
* Catch cases where incorrect size is requested

* Set a default if calculated height is incorrect
2023-06-30 07:34:10 -05:00
Sergey Krashevich
b6fce8f0bb
Integrate ccache into libusb and nginx build scripts for improved build speed (#6886)
* Add ccache to libusb and nginx build scripts

* Add ccache support to Dockerfile for faster builds

* Add ccache to PATH and use it for compiling nginx with Makefile in build_nginx.sh script
2023-06-30 07:28:48 -05:00
Blake Blackshear
d51197eaa2
use a different method for blur and contrast to reduce CPU (#6940)
* use a different method for blur and contrast to reduce CPU

* blur with radius instead

* use faster interpolation for motion

* improve contrast based on averages

* increase default threshold to 30

* ensure mask is applied after contrast improvement

* update opencv

* update benchmark script
2023-06-30 07:27:31 -05:00
Nicolas Mowen
d2a2643cd6
Apply zone filter before inertia (#6854)
* Apply zone filter before intertia

* Formatting
2023-06-30 07:15:55 -05:00
Nicolas Mowen
bd17e7d824
Show object attributes when hovering or tapping timeline bounding box (#6879)
* Show overlay when hovering on timeline box

* Make it work with mobile too

* Fix lint

* Fix ratio

* Update web/src/components/TimelineEventOverlay.jsx

Co-authored-by: Blake Blackshear <blakeb@blakeshome.com>

* Show overlay when hovering on timeline box

* Make it work with mobile too

* Fix lint

* Fix ratio

* Remove label and make overlay respect selected theme

---------

Co-authored-by: Blake Blackshear <blakeb@blakeshome.com>
2023-06-30 07:15:19 -05:00
spacebares
ed0d2be321
configurable ffmpeg timeout (#6897)
* configurable ffmpeg timeout

* configurable ffmpeg healthcheck interval

rename timeout to healthcheck_interval
only grab config value once

* configurable ffmpeg retry interval

rename healthcheck_interval to retry_interval

* add retry_interval to docs

- update retry_interval text in config.py
2023-06-30 07:14:39 -05:00
Nicolas Mowen
9137f1594b
Remove legacy recordings file cleanup (#6947)
* Remove legacy recordings file cleanup

* Remove unused
2023-06-30 07:13:00 -05:00
Josh Hawkins
f26093dc4a Revert "Threaded motion estimator"
This reverts commit 3171801607.
2023-06-29 13:20:25 -05:00
Josh Hawkins
3171801607 Threaded motion estimator 2023-06-29 11:05:14 -05:00
Cody Cutrer
ef14a43930
optimize frame-per-second calculations (#6887)
* optimize frame-per-second calculations

FPS is never calculated over differing periods for even given
counter. By only storing timestamps within the period that is
used, we avoid having to iterate 1000 entries every time it's
re-calculated (multiple times per second). 1000 entries would
normally only be needed if something is running at 100fps. A
more common speed - anywhere from 5 to 30fps, only needs 50
to 300 entries.

This isn't a huge improvement in the grand scheme, but when motion
detection is disabled, it takes nearly as much time in a flamegraph
as actually transferring the video frame.

* fix python checks
2023-06-28 05:55:53 -05:00
Cody Cutrer
ee4a133655
actually keep track of skipped frames (#6889)
* actually keep track of skipped frames

fixes #6863

* fix black errors
2023-06-28 05:53:28 -05:00
Nicolas Mowen
ece070fee1
Load labels dynamically for event filters (#6896)
* Load labels dynamically to include custom events and audio, do not include attribute labels

* Formatting

* Fix sorting

* Also filter tracked object list on camera page

* isort

* Don't fail before load
2023-06-28 05:51:53 -05:00
spacebares
3d40ed5d47
fix tooltip not showing if too far left (#6909) 2023-06-28 05:45:54 -05:00
Sergey Krashevich
e640981cc4
Performance: multiprocessing improvement (#6936)
* Add faster-fifo dependency for improved performance

* isort
2023-06-28 05:39:39 -05:00
Josh Hawkins
80e77fb856 Basic functionality 2023-06-24 18:16:22 -05:00
Blake Blackshear
9e531b0b5b
reduce grid size for contrast improvement (#6870) 2023-06-21 08:38:51 -05:00
Blake Blackshear
7c1568fcb9
use clahe for contrast improvement (#6835)
* use clahe for contrast improvement

* update tests
2023-06-18 11:56:41 -05:00
Nicolas Mowen
09cc4251f0
Fix dict getting overwritten (#6830) 2023-06-17 10:31:35 -05:00
Blake Blackshear
793fe251b9
Label attributes (#6829)
* pass attribute labels as attributes

* add label attrs to events and snapshots

* incorporate area of license_plate and face into snapshot selection

* populate sublabels for cars with logos
2023-06-17 09:56:22 -05:00
Nicolas Mowen
2be2050d57
Don't fail to save segment when cv2 fails (#6823)
* Don't fail when cv2 fails

* Clean up exception handling
2023-06-17 09:56:00 -05:00