Sebastian Englbrecht
cafe0917c7
Typing: mypy fixes for
...
* __main__.py
* app.py
* models.py
* plus.py
* stats.py
In addition a new module was introduced: types
There all TypedDicts are included. Bitte geben Sie eine Commit-Beschreibung für Ihre Änderungen ein. Zeilen,
2022-04-17 08:55:38 -05:00
Sebastian Englbrecht
ebf4e43ced
Modernizing Typing
...
All Dict, List were converted to dict, list, see: https://mypy.readthedocs.io/en/stable/builtin_types.html#generic-types
2022-04-17 08:55:38 -05:00
Blake Blackshear
a1afade9ba
fix birdseye config
2022-04-16 09:08:10 -05:00
Blake Blackshear
b86b2d6602
cleanup print statements
2022-04-16 09:08:10 -05:00
Blake Blackshear
12abbc59d6
add lint check to workflow
2022-04-16 09:08:10 -05:00
Blake Blackshear
ec91466fe4
lint fixes
2022-04-16 09:08:10 -05:00
Josh Hawkins
65e0ec7826
Allow improve_contrast to be toggled via mqtt ( #3011 )
...
* Toggle improve_contrast for cameras via MQTT
* Process parameter to mqtt toggle improve_contrast
* Update mqtt docs for improve_contrast topic
* Spacing
* Add class variable and update in process_frames
* Pass to constructor
* pass by reference mistake
* remove parameter
* remove parameter
2022-04-16 08:52:02 -05:00
Nicolas Mowen
a5016afdd4
FEAT: Ability to reorder & ability to hide Cameras in UI ( #2981 )
...
* Add options for reordering and hiding cameras selectively
* Add newline at end of camera file
* Make each camera for birdseye togglable as well
* Update names to be less ambiguous
* Update defaults
* Include sidebar change
* Remove birdseye toggle (will be added in separate PR)
* Remove birdseye toggle (will be added in separate PR)
* Remove birdseye toggle (will be added in separate PR)
* Update sidebar to only sort cameras once
* Simplify sorting logic
2022-04-15 07:23:02 -05:00
Sebastian Englbrecht
41f58c7692
Add basic typing for multiple modules:
...
* log.py
* video.py
* watchdog.py
* zeroconf.py
2022-04-15 07:01:43 -05:00
Sebastian Englbrecht
c6234bf548
fix depreciated import from collections
2022-04-15 07:01:43 -05:00
Sebastian Englbrecht
d995761419
Prepare mypy for typing checks
2022-04-15 07:01:43 -05:00
Nicolas Mowen
d749cf2e6b
Allow birdseye to be overridden at the camera level ( #3083 )
...
* Add camera level processing for birdseye
* Add camera level birdseye configruation
* Propogate birdseye from global
* Update docs to show that birdseye is overridable
* Fix incorrect default factory
* Update note to indicate values that can be overridden
* Cleanup config accessing
* Add tests for birdseye config behavior
* Fix mistake on test format
* Update tests
2022-04-15 06:59:30 -05:00
Nicolas Mowen
58c32857d3
Add latest frigate version to stats endpoints ( #3038 )
...
* Add latest version to stats in mqtt and http
* Update json to include new field
* Update to use requests
* Don't use incorrect exception
2022-04-11 07:10:19 -05:00
Nicolas Mowen
51fd18f56d
FEAT: Ability to set custom birdseye icon and birdseye docs ( #2979 )
...
* Show custom.png for birdseye icon if available
* Don't look for config value
* Add birdseye docs
2022-04-10 09:15:56 -05:00
Blake Blackshear
cef77fba01
add frontend for frigate+ submission
2022-04-10 09:11:16 -05:00
Blake Blackshear
e724fe3da6
add endpoint to submit to plus
2022-04-10 09:11:16 -05:00
Nick
045aac8933
Add object filter ratio ( #2952 )
...
* Add object ratio config parameters
Issue: #2948
* Add config test for object filter ratios
Issue: #2948
* Address review comments
- Accept `ratio` default
- Rename `bounds` to `box` for consistency
- Add migration for new field
Issue: #2948
* Fix logical errors
- field migrations require default values
- `clipped` referenced the wrong index for region, since it shifted
- missed an inclusion of `ratio` for detections in `process_frames`
- revert naming `o[2]` as `box` since it is out of scope!
This has now been test-run against a video, so I believe the kinks are
worked out.
Issue: #2948
* Update contributing notes for `make`
Issue: #2948
* Fix migration
- Ensure that defaults match between Event and migration script
- Deconflict migration script number (from rebase)
Issue: #2948
* Filter objects out of ratio bounds
Issue: #2948
* Update migration file to 009
Issue: #2948
2022-04-10 08:25:18 -05:00
Nicolas Mowen
923d07b1a4
BUG: Event stuck if recording & snapshot disabled while in-progress ( #3023 )
...
* Fix recording getting stuck bug
* Fix typo
2022-03-30 06:33:34 -05:00
Nicolas Mowen
b1cc64d4fa
FEAT: Ability to set sub labels for specific events ( #2949 )
...
* Add sub label to model and set / delete funs
* Add migrations for sub label
* Tweaks to API and model
* Show sublabel if available
* Cleanups
* Update docs
* Show person in UI title
* Fix typo and don't fail on no json
* Transfer sub labels for in progress events
* Remove sublabel reset
* Remove person only check
* Make default null
* Update docs and formatting
* Make default null
* Make nullable in migration
* Undo null
* Update model to accept null
* Update migration to accept null
* Don't set to default values
* Remove redundant defaults and update http logic
* Only need a single route
* Enforce 20 character limit in http
* Update docs to mention 20 character limit
* Cleanup
* Separate insert and update to make sure updated values are retained when event ends
* Use insert instead of replace
* Remove redundant if and have should_update_db include clip or snapshot requirement.
2022-03-17 07:18:43 -05:00
Nicolas Mowen
0abd0627df
FEAT: Replace best jpg endpoint ( #2944 )
...
* Added object thumbnail def and made camera tracked objects use it.
* Add object snapshot def
* Remove documentation for best.jpg
* Update docs for label thumbnail and snapshot defs
2022-03-11 07:56:39 -06:00
Blake Blackshear
1c9ba11e07
swr events refactor
2022-03-11 07:49:06 -06:00
707Alex707
83481afee1
remove print statement
2022-03-10 20:02:10 -06:00
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