Blake Blackshear
b1a2b0cda2
make dynamic contrast optional and disable by default
2022-03-10 19:46:55 -06:00
Nicolas Mowen
006569391f
MQTT support for all
objects for each camera & zone ( #2908 )
2022-03-10 06:03:00 -06:00
JohnMark Sill
3e07d4eddb
feat: Timeline UI ( #2830 )
2022-02-27 08:04:12 -06:00
Nicolas Mowen
4004048add
Ability to retain specific clips / events indefinitely ( #2831 )
2022-02-21 22:03:01 -06:00
Blake Blackshear
cbf26e09a4
fix for opencv changes
2022-02-21 06:51:33 -06:00
Blake Blackshear
395c16300d
deregister based on max_frames setting
2022-02-18 21:18:26 -06:00
Blake Blackshear
ff19cdb773
refactor stationary config into section
2022-02-18 21:18:26 -06:00
Blake Blackshear
ebdfbfe96c
update birdseye to handle stationary objects
2022-02-18 21:18:26 -06:00
Blake Blackshear
c14f986fae
stop forcing detection all the way to stationary_threshold
2022-02-18 21:18:26 -06:00
Blake Blackshear
ee5b9986ad
bump default stationary_threshold to 10s
2022-02-18 21:18:26 -06:00
Blake Blackshear
190f217b13
set stationary_threshold default to 5x fps
2022-02-18 21:18:26 -06:00
Blake Blackshear
e78662b924
fix the bounding box calculation position at 10
2022-02-18 21:18:26 -06:00
Blake Blackshear
5a2e395352
selectively increment position changes
2022-02-18 21:18:26 -06:00
Jason Hunter
21178613de
Only send significant update once when motionless count reaches the defined threshold.
2022-02-18 21:18:26 -06:00
Jason Hunter
340be7f86d
Allow download of in progress clips
2022-02-18 21:18:26 -06:00
Blake Blackshear
0ff4acd59c
remove invalid warning
2022-02-18 21:18:26 -06:00
Jason Hunter
e433bec17f
Add in progress events to recordings view
2022-02-18 21:18:26 -06:00
Blake Blackshear
3189467a36
update an object once per minute
2022-02-18 21:18:26 -06:00
Blake Blackshear
63536d249f
signal an update when object becomes stationary
2022-02-18 21:18:26 -06:00
Blake Blackshear
3e90f3032c
make stationary_threshold configurable
2022-02-18 21:18:26 -06:00
Blake Blackshear
5cff849e59
publish an update on position changes
2022-02-18 21:18:26 -06:00
Blake Blackshear
06cc7527a9
only update db entry when a stored property changes
2022-02-18 21:18:26 -06:00
Blake Blackshear
d78dc2388c
increment motionless_count
2022-02-18 21:18:26 -06:00
Blake Blackshear
583912db9c
allow motion based retention when detect is disabled
2022-02-18 21:18:26 -06:00
Blake Blackshear
b82d75b79e
avoid rare divide by zero
2022-02-18 21:18:26 -06:00
Blake Blackshear
ac30091258
note for future
2022-02-18 21:18:26 -06:00
Blake Blackshear
de58bdcc9f
improve warning for retain modes
2022-02-18 21:18:26 -06:00
Blake Blackshear
329e5f8f91
invert active_count logic
2022-02-18 21:18:26 -06:00
Blake Blackshear
4a16171f96
set has_clip to false when recordings fail
2022-02-18 21:18:26 -06:00
Blake Blackshear
f0212c2aa4
adjust error messages on ffmpeg crash
2022-02-18 21:18:26 -06:00
Blake Blackshear
7401cf2399
add stacktrace to config validation errors
2022-02-18 21:18:26 -06:00
Blake Blackshear
cf6e66c453
allow dash in camera name
2022-02-18 21:18:26 -06:00
Blake Blackshear
34fa53afcc
make motion the default retain mode
2022-02-18 21:18:26 -06:00
Blake Blackshear
f512af2563
make expire interval configurable for users wanting to minimize i/o
2022-02-18 21:18:26 -06:00
Blake Blackshear
7e7d70aa5b
avoid extra tracking work on stationary frames
2022-02-18 21:18:26 -06:00
Blake Blackshear
dd1cf4d2ce
use iou instead of centroid
2022-02-18 21:18:26 -06:00
Blake Blackshear
e627f4e935
dont stop scanning when there are other regions
2022-02-18 21:18:26 -06:00
Blake Blackshear
c6445898ce
default periodic checks to never
2022-02-18 21:18:26 -06:00
Blake Blackshear
f1ddd0e6f7
scan the frame on startup
2022-02-18 21:18:26 -06:00
Blake Blackshear
db369a5b7f
require a position change to be an active object
2022-02-18 21:18:26 -06:00
Blake Blackshear
87cd618998
randomize the region multiplier for variation
2022-02-18 21:18:26 -06:00
Blake Blackshear
338e4004d4
improve method for determining position
...
compares the centroid to a history of bounding boxes
2022-02-18 21:18:26 -06:00
Blake Blackshear
675f21e23a
if recording not on disk, delete from db and return
2022-02-18 21:18:26 -06:00
Blake Blackshear
4d2d11193f
cleanup clean snapshots on event deletion too
2022-02-18 21:18:26 -06:00
Blake Blackshear
69aaf1f8e6
require url safe camera names
2022-02-18 21:18:26 -06:00
Yuriy Sannikov
6eecb6780e
Run python unit tests in a github actions ( #2589 )
...
* tox tests initial commit
* run tests in the Dockerfile during the build phase
* remove local tests
Co-authored-by: YS <ys@gm.com>
2022-02-18 21:18:26 -06:00
Yuriy Sannikov
80627e4989
safe refactoring ( #2552 )
...
Co-authored-by: YS <ys@gm.com>
2022-02-18 21:18:26 -06:00
TJ Horner
9e987fdebc
Change JPEG mime type ( #2543 )
2022-02-18 21:18:26 -06:00
Blake Blackshear
e6292c719d
disable disk sync on startup
2022-02-18 21:18:26 -06:00
Blake Blackshear
2c91e7853c
check for apex dir
2022-02-18 21:18:26 -06:00
Ryan McLean
1e7f196e5c
#2117 change entered_zones from set to list so that they are not automatically alphabetically ordered ( #2212 )
2022-02-18 21:18:26 -06:00
Justin Goette
f91f4f0053
Allow for ".yaml" ( #2244 )
...
* allow for ".yaml"
* remove unused import
2022-02-18 21:18:26 -06:00
Matt Clayton
8b2622a234
Add temperature of coral tpu to telemetry mqtt message
2022-02-18 21:18:26 -06:00
Blake Blackshear
ec3c15e4a7
expire overlapping segments based on mode
2022-02-18 21:18:26 -06:00
Blake Blackshear
188b202836
store objects and motion counts in the db
2022-02-18 21:18:26 -06:00
Blake Blackshear
01e607a14e
warn when retention mismatch
2022-02-18 21:18:26 -06:00
Blake Blackshear
5b164b72dc
refactor segment stats logic
2022-02-18 21:18:26 -06:00
Blake Blackshear
dcf65febba
switch to retain config instead of retain_days
2022-02-18 21:18:26 -06:00
Blake Blackshear
56a2d4e64d
pass processed tracked objects
2022-02-18 21:18:26 -06:00
Blake Blackshear
ef214fb80a
retain frame data for recording maintenance
2022-02-18 21:18:26 -06:00
Blake Blackshear
689af4ff87
sync recordings with disk once on startup
2022-02-18 21:18:26 -06:00
Blake Blackshear
4ab0927de8
no need to expire recordings every minute
2022-02-18 21:18:26 -06:00
Blake Blackshear
014e6fc909
ensure cache copies when events have ended
2022-02-18 21:18:26 -06:00
Blake Blackshear
6832575643
cleanup missing files from database once per hour
2022-02-18 21:18:26 -06:00
Blake Blackshear
07ad2d97b1
handle missing file edge case
2022-02-18 21:18:26 -06:00
Blake Blackshear
039f1a522e
log error messages on vod endpoints
2022-02-18 21:18:26 -06:00
Blake Blackshear
24e2f84231
ensure duration > 0 for segments
2022-02-18 21:18:26 -06:00
Blake Blackshear
c50e9d48bf
ensure stationary interval is greater than 0
2022-02-18 21:18:26 -06:00
Blake Blackshear
173eaabddf
add duration to cache
2022-02-18 21:18:26 -06:00
Blake Blackshear
a748b70da1
avoid running ffprobe for each segment multiple times
2022-02-18 21:18:26 -06:00
Blake Blackshear
8eabe5dd41
warn if no wait time
2022-02-18 21:18:26 -06:00
Blake Blackshear
114415b5e1
keep 5 segments in cache
2022-02-18 21:18:26 -06:00
Blake Blackshear
ba55b5a6db
better cache handling
2022-02-18 21:18:26 -06:00
Blake Blackshear
7533f2a8ab
avoid proactive messages with retain_days 0 and handle first pass
2022-02-18 21:18:26 -06:00
Blake Blackshear
543a8a1712
avoid divide by zero
2022-02-18 21:18:26 -06:00
Blake Blackshear
9b23ff597c
revert switch to b/w frame prep
2022-02-18 21:18:26 -06:00
Blake Blackshear
b2ce1edd5a
fix default motion comment
2022-02-18 21:18:26 -06:00
Blake Blackshear
a0235b7da4
more robust cache management
2022-02-18 21:18:26 -06:00
Blake Blackshear
34bc6a6457
error handling for the recording maintainer
2022-02-18 21:18:26 -06:00
Blake Blackshear
273076e7f4
don't modify ffmpeg_cmd object
2022-02-18 21:18:26 -06:00
Blake Blackshear
b29b311e92
fix ffmpeg config for env vars
2022-02-18 21:18:26 -06:00
Blake Blackshear
5a9e82c4b0
create ffmpeg commands on startup
2022-02-18 21:18:26 -06:00
Blake Blackshear
0695bb097d
revamp process clip
2022-02-18 21:18:26 -06:00
Blake Blackshear
294c79a271
no longer make motion settings dynamic
2022-02-18 21:18:26 -06:00
Blake Blackshear
e351e132f5
remove min frame height of 180 and increase contour area
2022-02-18 21:18:26 -06:00
Blake Blackshear
258215a3ae
consolidate regions
2022-02-18 21:18:26 -06:00
Blake Blackshear
08ddfc100f
improve contrast
2022-02-18 21:18:26 -06:00
Blake Blackshear
8ab6cba521
check for overlapping motion boxes
2022-02-18 21:18:26 -06:00
Blake Blackshear
eb16de7395
config option for stationary detection interval
2022-02-18 21:18:26 -06:00
Blake Blackshear
dde0498ed3
drop high overlap detections
2022-02-18 21:18:26 -06:00
Blake Blackshear
75c8570913
reduce detection rate for stationary objects
2022-02-18 21:18:26 -06:00
Blake Blackshear
e36099a342
improve box merging and keep tracking
2022-02-18 21:18:26 -06:00
Blake Blackshear
2f2329ba44
only save recordings when an event is in progress
2022-02-18 21:18:26 -06:00
Blake Blackshear
26ae6084ea
fix rtmp again
2021-10-24 13:53:43 -05:00
Blake Blackshear
a67b8ab84d
validate with runtime config ( fixes #2055 )
2021-10-23 08:21:15 -05:00
Blake Blackshear
4cf55ad8e2
Revert switch to mpegts format and audio default
2021-10-23 08:21:15 -05:00
Blake Blackshear
b0e0abe385
improve performance of cache loop
2021-10-23 08:21:15 -05:00
Blake Blackshear
4916e1cd1d
hide banner for ffmpeg conversion
2021-10-23 08:21:15 -05:00
Blake Blackshear
cd87f3e6f4
fix old style recording cleanup
2021-10-23 08:21:15 -05:00
Blake Blackshear
2e494477a6
backwards compatibility for segment_type
2021-10-16 10:36:13 -05:00
Blake Blackshear
86a741b6e6
assign roles when single input and consolidate validation
2021-10-16 07:46:39 -05:00
Blake Blackshear
f738275d21
yell about config validation errors
...
for the people in the back
2021-10-16 07:17:36 -05:00
Blake Blackshear
e297e02800
store audio by default
2021-10-16 06:06:49 -05:00
Blake Blackshear
b2e05afff2
prevent oldest recording from being deleted
2021-10-15 21:56:03 -05:00
Blake Blackshear
c809494c98
switch to mpegts format for cache and create mp4 with faststart
2021-10-15 21:08:43 -05:00
Blake Blackshear
ef82c5c691
fix expiration when event spans the exire date
2021-10-15 07:30:55 -05:00
Blake Blackshear
5669f4c161
fix logo used for birdseye
2021-10-05 18:40:46 -05:00
Blake Blackshear
de811b7018
delete clean snapshot when duplicate
2021-10-02 06:59:02 -05:00
Blake Blackshear
7bf7365f6c
better log message when corrupt segment detected
2021-10-02 06:58:29 -05:00
Blake Blackshear
e8e778c6d4
instantiate area field
2021-09-26 09:43:31 -05:00
Blake Blackshear
1d25936f31
add region/bbox/area to event table
2021-09-23 07:31:48 -05:00
Blake Blackshear
c3109f808c
allow partial days in retention settings
2021-09-20 18:59:16 -05:00
Blake Blackshear
a943ac1308
use s6 to shutdown frigate
2021-09-18 07:40:27 -05:00
Blake Blackshear
5a8016de87
simplify logic and fix wrong segments expiring ( fixes #1779 )
2021-09-17 17:15:16 -05:00
Blake Blackshear
bc350644bd
make expiration of deleted camera footage faster
2021-09-17 17:12:03 -05:00
Blake Blackshear
1b2134c49e
remove clip_ready event type
...
this doesnt really mean anything more than "end" anymore. new has_clip property added
2021-09-15 07:16:52 -05:00
Blake Blackshear
f83d4a58dd
add version to the logs on startup
2021-09-13 22:02:23 -05:00
Blake Blackshear
661f7baa21
fix global live config
2021-09-13 20:33:00 -05:00
Jason Hunter
a7b7a45b23
allow for custom object detection model via configuration
2021-09-12 07:17:26 -05:00
Blake Blackshear
89e317a6bb
store start/end event with pre/post capture to avoid expiring wanted recordings
2021-09-11 08:34:27 -05:00
Blake Blackshear
288b1a0562
remove nested enabled config setting on events
2021-09-08 08:02:26 -05:00
Blake Blackshear
e8eb3125a5
disallow extra keys in config
2021-09-04 16:56:01 -05:00
Blake Blackshear
8109445fdd
fix color config for ts ( fixes #1679 )
2021-09-04 16:40:10 -05:00
Blake Blackshear
f63a7cb6c0
remove font_scale in timestamp_style and calculate dynamically again
2021-09-04 16:34:48 -05:00
drinfernoo
65855e23d9
Add RTMP and timestamp style to global config ( #1674 )
...
* 📝 ✅ 🔧 - Make RTMP config global
Fixes #1671
* 📝 ✅ 🔧 - Make timestamp style config global
Fixes #1656
* fix test function names
* formatter
Co-authored-by: Blake Blackshear <blakeb@blakeshome.com>
2021-09-03 07:03:36 -05:00
Blake Blackshear
6c28613def
moar speed
2021-09-03 06:31:06 -05:00
Blake Blackshear
56480dc1ef
bulk delete recordings
2021-09-02 20:40:38 -05:00
Blake Blackshear
8e1c15291d
optimize checking recordings for events
...
sorts events and recordings so you can avoid a cartesian product of checking all events against all recordings
2021-09-02 08:24:53 -05:00
Blake Blackshear
a1e52c51b1
dont expire events in two places
2021-09-01 07:06:52 -05:00
Blake Blackshear
8cc834633e
reduce db queries for recording cleanup
2021-09-01 06:44:05 -05:00
Blake Blackshear
7d65c05994
properly handle scenario with no recordings
2021-08-30 06:58:50 -05:00
Blake Blackshear
fbea51372f
sync global snapshot options ( fixes #1621 )
2021-08-28 09:14:00 -05:00
Blake Blackshear
fa5ec8d019
cleanup global and camera detect config ( fixes #1615 )
2021-08-28 08:51:51 -05:00
Blake Blackshear
11c425a7eb
error on invalid role
2021-08-28 08:16:25 -05:00
Blake Blackshear
6ccff71408
handle missing camera names
2021-08-28 07:43:51 -05:00
Blake Blackshear
41fea2a531
fix match for websocket url ( fixes #1633 )
2021-08-28 07:42:30 -05:00
ᗪєνιη ᗷυнʟ
10ab70080a
fix: consistent error logging to mqtt connection issues ( #1578 )
2021-08-24 07:59:31 -05:00
Blake Blackshear
29de723267
limit legacy expiration to files after the oldest recording in the db
2021-08-24 06:50:58 -05:00
Blake Blackshear
26424488a5
use find to reduce CPU usage for legacy expiration
2021-08-23 07:21:27 -05:00
Blake Blackshear
334095252c
copy then delete ( fixes #1516 )
2021-08-17 06:52:15 -05:00
Blake Blackshear
1c85f774eb
move colormap to config
2021-08-16 08:02:04 -05:00
Blake Blackshear
bbf0fc8324
use CPu detector by default
2021-08-16 07:39:20 -05:00
Blake Blackshear
b143e11e0e
cleanup logging
2021-08-16 07:38:53 -05:00
Sebastian Englbrecht
927f56ab9f
Fix logger invocation
2021-08-15 10:34:40 -05:00
Blake Blackshear
2181379475
stop using pycoral libs for efficiency
2021-08-15 09:14:13 -05:00
Blake Blackshear
45798d6d14
clean house on clips
2021-08-15 08:30:27 -05:00
Blake Blackshear
f3a1c1de0a
move width/height/fps under detect and make required
...
also resizes the output from ffmpeg to specified size
2021-08-14 14:18:35 -05:00
Blake Blackshear
0ccf543ec1
clarify a few things in logs
2021-08-14 14:04:00 -05:00
Blake Blackshear
b33f4e2dc6
assume the clip for the event exists with recordings
2021-08-12 06:42:44 -05:00
Blake Blackshear
9cab5da74c
cleanup dynamic mp4 clips
2021-08-11 07:39:03 -05:00