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