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
Blake Blackshear
189b9c6648
use a nginx internal redirect
2021-08-11 06:22:26 -05:00
Blake Blackshear
1823bd0305
fix scaling
2021-08-09 07:46:28 -05:00
Jason Hunter
fc40567794
remove -f mp4 as it is not needed
2021-08-07 15:51:16 -05:00
Jason Hunter
de121008c1
fix DoesNotExist exception
2021-08-07 15:51:16 -05:00
Jason Hunter
2fbfbf614b
add download option on clips and snapshots
2021-08-07 15:51:16 -05:00
Jason Hunter
c527b1ca5d
change MQTT to toggle recordings instead of clips
2021-08-07 15:51:16 -05:00
Jason Hunter
181a504a14
break out recording maintenance and cleanup into separate threads
2021-08-07 15:51:16 -05:00
Jason Hunter
5d940bcb86
optimize recording maintenance logic
2021-08-07 15:51:16 -05:00
Jason Hunter
5d94c68d66
fix recording retention logic
2021-08-07 15:51:16 -05:00
Jason Hunter
a476bc9885
initial commit
2021-08-07 15:51:16 -05:00
Blake Blackshear
dc759a3e56
use new pycoral libraries
2021-08-07 15:34:55 -05:00
Blake Blackshear
e51021c573
switch default live resolution to 720
2021-07-21 07:47:11 -05:00
Blake Blackshear
19115fb828
handle exception when missing frame
2021-07-16 07:28:30 -05:00
Blake Blackshear
50f0c05e69
fix motion mask overlay
2021-07-13 08:56:20 -05:00
Blake Blackshear
6b26fc753e
include ffmpeg_cmds in config endpoint
2021-07-10 06:40:50 -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
a3853af47a
fix test
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
da2492413f
publish on zone change ( fixes #1310 )
2021-07-07 07:03:28 -05:00
Blake Blackshear
f892a821f5
no need to worry about payload here
2021-07-06 07:36:37 -05:00
ElMoribond
fe2e32c84f
Add ability to restart
2021-07-06 07:36:37 -05:00
ElMoribond
c6e53d0ea8
Add ability to restart
2021-07-06 07:36:37 -05:00
ElMoribond
11d8095cdd
Add ability to restart
2021-07-06 07:36:37 -05:00
ElMoribond
a4052a9fe5
Add ability to restart
2021-07-06 07:36:37 -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
09b0068d16
fix cache cleanup ( fixes #1231 )
2021-06-30 06:38:36 -05:00
Blake Blackshear
f9457be109
add test for max_disappeared default
2021-06-27 08:13:48 -05:00
Blake Blackshear
e9291fe9d1
make max_disappeared optional with default value
2021-06-27 08:13:48 -05:00
Craig Citro
20912c12e7
Check for jpg bytes before make_response
...
If jpg_bytes wasn't retrieved from either desk or a tracked object, respond with 404
Prevents uncaught error for unknown event ids sent to event_snapshot endpoint
2021-06-27 08:13:14 -05:00
Craig Citro
7ddba4fc59
Prevent repeated db connect calls
...
Only call database.connect() if database.is_closed()
Prevents errors if _db_connect is triggered twice
2021-06-27 08:13:14 -05:00
Patrick
7ad8b8298d
identity check is correct way to check for None
2021-06-27 08:09:58 -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
1e21a62851
remove unneeded changes
2021-06-24 06:53:05 -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
f009897eca
clear position before copy
2021-06-23 08:15:15 -05:00
Blake Blackshear
fa61e9da29
maintain aspect ratio for birdseye
2021-06-23 08:15:15 -05:00
Blake Blackshear
0ff037997f
fixup timestamp config
2021-06-23 08:15:15 -05:00
Blake Blackshear
e8c2cfa5b5
no need to hang onto the last active frame
2021-06-23 08:15:15 -05:00
Blake Blackshear
fb214b64ca
reset layout_dim too
2021-06-23 08:15:15 -05:00
Sebastian Englbrecht
b3ee2de079
Fix review finding
2021-06-22 06:33:04 -05:00
Sebastian Englbrecht
211fcd64c7
Add and use config for timestamp style
2021-06-22 06:33:04 -05:00
Sebastian Englbrecht
5075e4eee1
Use timestamp decorator helper in codebase
2021-06-22 06:33:04 -05:00
Sebastian Englbrecht
7bfe8e4f5b
Add draw_timstamp: Helper for timestamp mods
2021-06-22 06:33:04 -05:00
Blake Blackshear
d66f5f6bad
cleanup clean snapshots
2021-06-19 08:49:06 -05:00
Blake Blackshear
fd9c8c1f0d
add snapshot time to event data
2021-06-19 08:49:06 -05:00
Blake Blackshear
3a3b788c65
save clean snapshot
2021-06-19 08:49:06 -05:00
Blake Blackshear
b134db48b3
adding clean_copy to snapshot config
2021-06-19 08:49:06 -05:00
mrdrup
f110a261b9
Fix 'FileExistsError' shared memory exception ( #945 )
2021-06-19 07:15:02 -05:00
gpete
b72b66781a
Fixed overwritten argument 'media' ( #1026 )
...
media variable name is reused and overwritten causing issues with event expiration & clean up.
Also changed name in pure_duplicates for consistency.
2021-06-19 07:11:43 -05:00
Blake Blackshear
3b695040d1
send clip_ready mqtt to event topic
2021-06-14 18:20:12 -05:00
Blake Blackshear
40bf7a0f41
cleanup
2021-06-14 07:48:35 -05:00
Blake Blackshear
cbdf2c2c71
remove gevent fixes #920
2021-06-14 07:48:35 -05:00
Blake Blackshear
bbe3f07ec6
overlay the frigate logo on the blank frame
2021-06-13 12:35:39 -05:00
Blake Blackshear
35281c037c
trickle in some frames after activity stops
2021-06-13 12:35:39 -05:00
Blake Blackshear
e0eb247028
output the current frame from each active camera instead of last active
2021-06-13 12:35:39 -05:00
Blake Blackshear
a7ecc2af4b
lock before iterating web sockets
2021-06-13 12:35:39 -05:00
Blake Blackshear
58cfb8bba4
set jsmpeg video size to same as camera
2021-06-12 07:23:14 -05:00
Blake Blackshear
ed761d1767
cap the array size of the output queue
2021-06-12 07:23:14 -05:00
Blake Blackshear
babe1dd1eb
precompute the layout offsets and dimensions
2021-06-12 07:23:14 -05:00
Blake Blackshear
cbd418b8de
use actual logger
2021-06-12 07:23:14 -05:00
Blake Blackshear
9c5b0d4138
implement birdseye modes
2021-06-12 07:23:14 -05:00
Blake Blackshear
94c21a6363
use values from config
2021-06-12 07:23:14 -05:00
Blake Blackshear
d1a5e2e8e0
add config for birdseye
2021-06-12 07:23:14 -05:00
Blake Blackshear
17179abf5a
use quality value and faster resize
2021-06-12 07:23:14 -05:00
Blake Blackshear
c70419bd0b
update birdseye layout calculations
2021-06-12 07:23:14 -05:00
Blake Blackshear
4eed27e178
add layout calculations
2021-06-12 07:23:14 -05:00
Blake Blackshear
8e2ba4a8ea
move birdseye placeholder to output process
2021-06-12 07:23:14 -05:00
Blake Blackshear
4596ada801
manage multiple cameras
2021-06-12 07:23:14 -05:00
Blake Blackshear
a8df97dc1a
only send frames to ffmpeg if there are clients listening
2021-06-12 07:23:14 -05:00
Blake Blackshear
4e0203ca68
increase read size and listen on local
2021-06-12 07:23:14 -05:00
Blake Blackshear
8413e10091
ensure output exits properly
2021-06-12 07:23:14 -05:00
Blake Blackshear
7aaf5bd29f
remove node jsmpeg server
2021-06-12 07:23:14 -05:00
Blake Blackshear
5afda72b84
handle exit signals
2021-06-12 07:23:14 -05:00
Blake Blackshear
7a6ffb1032
adding output process to handle downstream processing of frames
2021-06-12 07:23:14 -05:00
Blake Blackshear
7fc9026ca6
basic plumbing for birdseye view
2021-06-12 07:23:14 -05:00
Blake Blackshear
f4a0ec43a6
wip yuv_rgb refactor
2021-06-12 07:23:14 -05:00
Patrick
e8c342e162
Update http.py
...
comparison of constants, use T/F instead
2021-06-10 20:58:28 -05:00
Jason Hunter
098e293c82
fetch recordings until end of hour, not top of next hour
2021-06-10 07:04:28 -05:00
Jason Hunter
78a0b5e6c9
clean up VOD endpoint
2021-06-10 07:04:28 -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
Jason Hunter
68dfaaf767
hide recordings page if record is not enabled, show error if no recordings available.
2021-06-06 07:54:58 -05:00
Jason Hunter
b53a50cd54
restyle to match Material Design List specs
2021-06-05 07:30:18 -05:00
Jason Hunter
9822d614e2
fix videojs bug when switching cameras, support recording delay, fix navigation highlight
2021-06-05 07:30:18 -05:00
Jason Hunter
ca20c735f7
add event card to overlay
2021-06-05 07:30:18 -05:00
Jason Hunter
5461308d30
Initial Recordings UI
2021-06-05 07:30:18 -05:00
Sean Vig
abbc608ee4
Updates to object processing
...
Lock updates to tracked objects, current frame time, motion boxes, and
regions on `update()`.
Directly create Counters using counted values.
Don't convert removed_ids, new_ids, or updated_ids sets to lists.
Update defaultdict's to remove un-necessary lambdas when possible.
When possible, drop un-necessay list comprehensions, such as when
calling `any`.
Use set comprehension, rather than passing a list comprehension into
`set()`.
Do the slightly more pythonic `x not in y` rather than `not x in y` to
check list inclusion.
2021-05-23 21:00:56 -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
1fbcf4d9b9
fixes
2021-05-23 08:21:18 -05:00