Commit Graph

808 Commits

Author SHA1 Message Date
Blake Blackshear
7309c06be8 add jsmpeg relay 2021-06-12 07:23:14 -05:00
Jason Hunter
c71b717a54 more lint fixes 2021-06-11 06:53:34 -05:00
Jason Hunter
da8e54ed51 fix lint and tests 2021-06-11 06:53:34 -05:00
Jason Hunter
b70c11e7a7 Cleanup video player and use consistently across recordings and events. 2021-06-11 06:53:34 -05:00
Patrick
e8c342e162 Update http.py
comparison of constants, use T/F instead
2021-06-10 20:58:28 -05:00
Jason Hunter
f7975cbbc4 remove backfill - only store rows moving forward 2021-06-10 07:04: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
eb3f50c9f0 add default to reducer 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
de3a19c4f0 Update web/src/__tests__/Sidebar.test.jsx 2021-06-06 07:54:58 -05:00
Jason Hunter
2a33c05378 add sidebar test 2021-06-06 07:54:58 -05:00
Jason Hunter
bbb4d10718 add/fix tests 2021-06-06 07:54:58 -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
Blake Blackshear
0bb998c465 Merge branch 'master' into release-0.9.0 2021-06-05 07:59:07 -05:00
dependabot[bot]
ec9b525a3c build(deps): bump browserslist from 4.16.1 to 4.16.6 in /web
Bumps [browserslist](https://github.com/browserslist/browserslist) from 4.16.1 to 4.16.6.
- [Release notes](https://github.com/browserslist/browserslist/releases)
- [Changelog](https://github.com/browserslist/browserslist/blob/main/CHANGELOG.md)
- [Commits](https://github.com/browserslist/browserslist/compare/4.16.1...4.16.6)

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-05 07:30:53 -05:00
Jason Hunter
88ed7501a7 add mobile player and fullscreen support for iOS 2021-06-05 07:30:18 -05:00
Jason Hunter
c73aebadcb change seek back to 10 seconds 2021-06-05 07:30:18 -05:00
Jason Hunter
40c4ca305e add playback rate adjustment and seek buttons 2021-06-05 07:30:18 -05:00
Jason Hunter
7b3abe330e recordings is taken by nginx so refresh fails - change base to recording 2021-06-05 07:30:18 -05:00
Jason Hunter
0d96c3529d We need to use relative URLs for Ingress to work 2021-06-05 07:30:18 -05:00
Jason Hunter
62452b1d21 cleanup dead code 2021-06-05 07:30:18 -05:00
Jason Hunter
c5f005afef lint fix... again 2021-06-05 07:30:18 -05:00
Jason Hunter
4a45b6e76d do not show event end time 2021-06-05 07:30:18 -05:00
Jason Hunter
a3cfbb6722 remove now playing because I do not handle autoadvance properly yet 2021-06-05 07:30:18 -05:00
Jason Hunter
dc8ba5239d lint cleanup 2021-06-05 07:30:18 -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
d3dc018260 video overlay 2021-06-05 07:30:18 -05:00
Jason Hunter
28a2a3816a lint fixes 2021-06-05 07:30:18 -05:00
Jason Hunter
5461308d30 Initial Recordings UI 2021-06-05 07:30:18 -05:00
dependabot[bot]
b2f469ad76 build(deps): bump ws from 7.4.3 to 7.4.6 in /web
Bumps [ws](https://github.com/websockets/ws) from 7.4.3 to 7.4.6.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/7.4.3...7.4.6)

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-05 07:28:17 -05:00
highaltidude
8ea75e6748 Documentation Update-CPU Fall back corrected. 2021-06-05 07:27:58 -05:00
Jon Gilmore
09a4d6d030
docs(typo): fix configuration typo (#1148) 2021-05-26 07:39:42 -07: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
Sean Vig
80f8256422 Improve handling of object matching
Use `np.unique` to determine the correct set of row/col pairs to iterate
over when doing the object matching without needing to track which rows
or columns have already been seen.  Add to some of the accompanying
documentation to clarify this algorithm.

Also fix what looks to be an erroneous early return, and change this to
a continue.
2021-05-22 08:04:38 -05:00
Sean Vig
57864f2be6 Wait on stop event when possible
Generally eliminate the `while True` loops while waiting for a stop
event and prefer to condition the loops on if the stop event is set,
blocking on that where it makes sense.  This generally comes in 3
flavors.  First and simplest, when there is a sleep and the stop event
is the only thing the loop blocks on, instead do a check using
`stop_event.wait(timeout)` to instead block on the stop event for the
designated amount of time. Second, when there is a different event that
is blocking in the loop, condition the loop on `stop_event.is_set()`
rather than breaking when it is set. Finally, when there is a separate
internal condition that requires a counter, have the loop iterate over
the counter and use `if stop_event.wait(timeout)` internal to the loop.
2021-05-22 07:54:16 -05:00
Jason Hunter
f4bc68d396 update HTTP API docs 2021-05-22 07:48:44 -05:00
Jason Hunter
926eec3c65 add --push so the images actually get published for nginx since they are not saved locally 2021-05-22 07:48:44 -05:00
Jason Hunter
abc6bbe7e0 Add nginx build arg for other architectures 2021-05-22 07:48:44 -05:00
Jason Hunter
acdfd1ccc4 remove comments from nginx.conf 2021-05-22 07:48:44 -05:00
Jason Hunter
315a13e1ce Make command has to be different than directory 2021-05-22 07:48:44 -05:00
Jason Hunter
aab6a00e4c Add support for NGINX VOD Module 2021-05-22 07:48:44 -05:00
Sean Vig
a4e6d9ed9a Improve ffprobe executions
When running ffprobe, use `subprocess.run` rather than
`subprocess.Popen`.  This simplifies the handling that is needed to run
and process the outputs.  Here, filename parsing is also simplified by
explicitly removing the file extension with `os.path.splitext` and
forcing a single split into the camera name and the formatted date.
2021-05-22 07:48:00 -05:00
digiblur
e16dbcb671
docs(howto): Combined links, add authors, and cleaned up (#1124) 2021-05-20 07:01:25 -07:00