Blake Blackshear
d890217447
Merge remote-tracking branch 'origin/master' into release-0.11.0
2022-04-18 06:45:30 -05:00
Blake Blackshear
a1afade9ba
fix birdseye config
2022-04-16 09:08:10 -05:00
Blake Blackshear
ec91466fe4
lint fixes
2022-04-16 09:08:10 -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
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
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
Blake Blackshear
b1a2b0cda2
make dynamic contrast optional and disable by default
2022-03-10 19:46:55 -06:00
JohnMark Sill
3e07d4eddb
feat: Timeline UI ( #2830 )
2022-02-27 08:04:12 -06:00
Blake Blackshear
ff19cdb773
refactor stationary config into section
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
3e90f3032c
make stationary_threshold configurable
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
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
c6445898ce
default periodic checks to never
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
Justin Goette
f91f4f0053
Allow for ".yaml" ( #2244 )
...
* allow for ".yaml"
* remove unused import
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
dcf65febba
switch to retain config instead of retain_days
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
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
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
eb16de7395
config option for stationary detection interval
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
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
e297e02800
store audio by default
2021-10-16 06:06:49 -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
c3109f808c
allow partial days in retention settings
2021-09-20 18:59:16 -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
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
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
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
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
Jason Hunter
a476bc9885
initial commit
2021-08-07 15:51:16 -05:00
Blake Blackshear
e51021c573
switch default live resolution to 720
2021-07-21 07:47:11 -05:00
Blake Blackshear
ebee204ca0
ensure default args propogate
2021-07-10 06:40:50 -05:00
Blake Blackshear
92aa16c556
add labelmap customization to the config ( fixes #507 )
2021-07-07 22:58:18 -05:00
Blake Blackshear
f26f7b8d3f
make default motion a little more sensitive
2021-07-07 07:33:14 -05:00
Blake Blackshear
f4aa02cc19
allow specific objects to be listed for a zone ( fixes #1123 )
2021-07-07 07:33:14 -05:00
Blake Blackshear
b24bb3eb18
add range to birdseye quality config
2021-07-02 07:52:02 -05:00
Blake Blackshear
98d8118fb2
add options to define jpeg quality
2021-07-02 07:52:02 -05:00
Blake Blackshear
b4e7e51e63
make contour_area dynamic
2021-07-01 07:54:09 -05:00
Blake Blackshear
2a41a9d3ff
set min motion frame to 180
2021-07-01 07:54:09 -05:00
Blake Blackshear
e9291fe9d1
make max_disappeared optional with default value
2021-06-27 08:13:48 -05:00
Jason Hunter
3fb24b4bf5
fix timestamp
2021-06-25 06:13:08 -05:00
Jason Hunter
ab93cae4c0
remove side effects from password substitution
2021-06-25 06:13:08 -05:00
Jason Hunter
8d01cc4807
fix ffmpeg config and remove side effects
2021-06-25 06:13:08 -05:00
Jason Hunter
c664bd63f6
initial conversion to pydantic
2021-06-24 06:53:05 -05:00
Blake Blackshear
762afb8f43
add config for camera live stream
2021-06-23 08:15:15 -05:00
Blake Blackshear
0ff037997f
fixup timestamp config
2021-06-23 08:15:15 -05:00
Sebastian Englbrecht
211fcd64c7
Add and use config for timestamp style
2021-06-22 06:33:04 -05:00
Blake Blackshear
b134db48b3
adding clean_copy to snapshot config
2021-06-19 08:49:06 -05:00
Blake Blackshear
d1a5e2e8e0
add config for birdseye
2021-06-12 07:23:14 -05:00
Jason Hunter
055bd22138
initial implementation of recordings table
2021-06-10 07:04:28 -05:00
Mingkwan Burckhardt
8dfff83447
Added support for authentication with client certificate with MQTT broker
2021-06-06 07:57:46 -05:00
Sean Vig
9634ec8e31
Allow zone configs to be frozen
...
Set the color at construction so the zone config objects can be frozen
2021-05-23 20:38:57 -05:00
Sean Vig
84a0827aee
Use dataclasses for config handling
...
Use config data classes to eliminate some of the boilerplate associated
with setting up the configuration. In particular, using dataclasses
removes a lot of the boilerplate around assigning properties to the
object and allows these to be easily immutable by freezing them. In the
case of simple, non-nested dataclasses, this also provides more
convenient `asdict` helpers.
To set this up, where previously the objects would be parsed from the
config via the `__init__` method, create a `build` classmethod that does
this and calls the dataclass initializer.
Some of the objects are mutated at runtime, in particular some of the
zones are mutated to set the color (this might be able to be refactored
out) and some of the camera functionality can be enabled/disabled. Some
of the configs with `enabled` properties don't seem to have mqtt hooks
to be able to toggle this, in particular, the clips, snapshots, and
detect can be toggled but rtmp and record configs do not, but all of
these configs are still not frozen in case there is some other
functionality I am missing.
There are a couple other minor fixes here, one that was introduced
by me recently where `max_seconds` was not defined, the other to
properly `get()` the message payload when handling publishing mqtt
messages sent via websocket.
2021-05-23 20:38:57 -05:00
Blake Blackshear
4252857e19
remove tmpfs_cache_size option
2021-02-25 07:01:59 -06:00
Blake Blackshear
39ff49e054
formatting cleanup
2021-02-25 07:01:57 -06:00
Blake Blackshear
ce90ae343c
add global object mask
2021-02-20 08:20:17 -06:00
Blake Blackshear
d51e9446ff
add camera level ffmpeg params
2021-02-20 08:20:17 -06:00
Blake Blackshear
121ea37825
allow defining required zones for snapshots/clips/mqtt
2021-02-20 08:20:17 -06:00
Blake Blackshear
d6faa18adb
increase default max_disappeared to 5x FPS
2021-02-20 08:20:17 -06:00
Blake Blackshear
40d5a9f890
change default log level
2021-01-31 06:18:35 -06:00
Blake Blackshear
70167a34b6
fix zone config
2021-01-26 21:40:33 -06:00
Blake Blackshear
8762da627b
snapshots config typo
2021-01-26 21:40:33 -06:00
Blake Blackshear
3fab321045
update object filters to inherit like motion settings
2021-01-26 21:40:33 -06:00
Blake Blackshear
c1f0750526
ensure each camera has a detect role set
2021-01-26 21:40:33 -06:00
Blake Blackshear
89e02b6956
add detection enable to config
...
fixes #482
2021-01-26 21:40:33 -06:00
Blake Blackshear
97e8258288
add env vars to config
...
fixes #509
2021-01-26 21:40:33 -06:00
Blake Blackshear
b2c7fc8f5b
add mask as object filter
2021-01-26 21:40:33 -06:00
Blake Blackshear
96ac2c29d6
add object masks and move moton mask
2021-01-26 21:40:33 -06:00
Blake Blackshear
14a5118b4d
add missing global shapshots config
2021-01-26 21:40:33 -06:00
Paul Armstrong
c618867941
feat!: web user interface
2021-01-26 21:40:33 -06:00
Blake Blackshear
63e14a98f9
add retention settings for snapshots
2021-01-26 21:40:33 -06:00
Nat Morris
76403bba8e
New stats module, refactor stats generation out of http module.
...
StatsEmitter thread to send stats to MQTT every 60 seconds by default, optional stats_interval config value.
New service stats attribute, containing uptime in seconds and version.
2021-01-26 21:40:33 -06:00
Blake Blackshear
e5399ae07a
enable turning clips on and off via mqtt
2021-01-26 21:40:33 -06:00
Blake Blackshear
80a5a7b129
cleanup save_Clips/clips inconsistency
2021-01-26 21:40:33 -06:00
Blake Blackshear
9dc97d4b6b
add jpg snapshots to disk and clean up config
2021-01-26 21:40:33 -06:00
Blake Blackshear
fc04bc6046
better mask error handling
2021-01-26 21:40:33 -06:00
Blake Blackshear
247e2677f3
enable mounting tmpfs volume on start
2021-01-26 21:40:33 -06:00
Blake Blackshear
32fb76b3d1
add num_threads fixes #322
2021-01-26 21:40:33 -06:00
Blake Blackshear
f20e1f20a6
add post_capture option
2021-01-26 21:40:33 -06:00
Blake Blackshear
7dc6382c90
allow the mask to be a list of masks
2021-01-26 21:40:33 -06:00
Blake Blackshear
3bc7cdaab6
configurable motion and detect settings
2021-01-26 21:40:33 -06:00
Blake Blackshear
6af3cb6134
switch default threshold to .7
2021-01-26 21:40:33 -06:00
Blake Blackshear
dd102ff01d
allow db path to be customized
2021-01-26 21:40:33 -06:00
Blake Blackshear
93b9d586d2
handle empty string args
2021-01-26 21:40:33 -06:00
Blake Blackshear
d0470fffcc
allow defining model shape and switch to mobiledet as default model
2021-01-26 21:40:33 -06:00
Blake Blackshear
5053305e17
add model dimensions to config
2021-01-26 21:40:33 -06:00
Blake Blackshear
3c07767138
handle and warn if roles dont match enabled features
2021-01-26 21:40:33 -06:00
Blake Blackshear
7c44994070
fix default args
2021-01-26 21:40:33 -06:00
Blake Blackshear
4c6e90717a
update some default config values
2021-01-26 21:40:33 -06:00
Blake Blackshear
d60ca9d783
log level configuration
2021-01-26 21:40:33 -06:00
Blake Blackshear
62728ef7fb
default save_clips objects
2021-01-26 21:40:33 -06:00
Blake Blackshear
735cc3962b
make directories constants
2021-01-26 21:40:33 -06:00
Blake Blackshear
65ddd91855
add recording maintenance
2021-01-26 21:40:33 -06:00
Blake Blackshear
6d7d838613
add record settings to config
2021-01-26 21:40:33 -06:00
Blake Blackshear
117569830d
ensure zones dont have the same name as a camera
2021-01-26 21:40:33 -06:00
Blake Blackshear
4e0cf3681e
add multiple streams per camera
2021-01-26 21:40:33 -06:00
Blake Blackshear
1acbeb813e
add support for rebroadcasting as rtmp
2021-01-26 21:40:33 -06:00
Blake Blackshear
b87ec752cf
avoid null error
2021-01-26 21:40:33 -06:00
Blake Blackshear
addfa2a32d
manage events for unlisted cameras
2021-01-26 21:40:33 -06:00
Blake Blackshear
5155875a72
add clip retention to config
2021-01-26 21:40:33 -06:00
Blake Blackshear
50e898a684
new http endpoints
2021-01-26 21:40:33 -06:00
Blake Blackshear
494eeb16a5
cleanup
2021-01-26 21:40:33 -06:00
Blake Blackshear
ec1a8ebd4a
fixes
2021-01-26 21:40:33 -06:00
Blake Blackshear
aff87d4372
create tracked object class and save thumbnails
2021-01-26 21:40:33 -06:00
Blake Blackshear
03c855ecbe
sort imports
2021-01-26 21:40:33 -06:00
Blake Blackshear
4c3fea25a5
use a queue for logging
2021-01-26 21:40:33 -06:00
Blake Blackshear
af303cbf2a
create typed config classes
2021-01-26 21:40:33 -06:00
Blake Blackshear
b7c09a9b38
add nginx and change default file locations
2021-01-26 21:40:33 -06:00
Blake Blackshear
180baeba50
app container and config schema
2021-01-26 21:40:33 -06:00