Commit Graph

494 Commits

Author SHA1 Message Date
Blake Blackshear
159fb51518
implement nginx caching (#8333)
* implement nginx caching

* bypass cache from frigate frontend, reduce to 5s

* set cache time to 2s

* cache 200s for 5s

* exclude vod endpoints from cache
2023-10-29 06:47:24 -05:00
tpjanssen
859ab0e7fa
Show event duration in landscape mode (#8301)
* Show event duration in landscape mode

* Update Events.jsx
2023-10-26 06:20:28 -05:00
Nicolas Mowen
cff4b9651f
Fix long webrtc connections failing (#8273)
* Fix webrtc timing out

* Only close pc
2023-10-22 13:34:56 -05:00
Nicolas Mowen
29f82add72
Fix player height (#8270) 2023-10-22 09:40:32 -05:00
Blake Blackshear
e13a176820
Update deps (#8261)
* update web deps

* update python deps

* actions deps
2023-10-21 10:53:21 -05:00
Nicolas Mowen
b4d5a3ef14
Fix dangling webrtc connections (#8251)
* fix dangling webrtc connections

* Make more efficient

* Close pc as well
2023-10-20 19:20:38 -04:00
tpjanssen
facd557f8c
Change camera stats to be more structured (#8151)
* Change camera stats to be more structured

* Update stats.py

* Update stats.py

* Update System.jsx

Front end also breaks due to moved camera stats
2023-10-19 17:15:47 -05:00
Nicolas Mowen
efbc094bbc
Fixes for ongoing events (#8208)
* Refresh ongoing and standard events

* Collapse ongoing when props are set

* Fix
2023-10-17 21:18:06 -04:00
Nicolas Mowen
8626160df2
Show ongoing events at top of events page (#8168)
* Show ongoing events separately

* Separate to separate event function

* Change icon type

* Hide in progress when date range search occurs

* Collapse in progress when filtering

* Fix event overlay

* Make tooltip more clear

Co-authored-by: Blake Blackshear <blakeb@blakeshome.com>

---------

Co-authored-by: Blake Blackshear <blakeb@blakeshome.com>
2023-10-15 13:01:44 -04:00
Nicolas Mowen
d4d2bb2521
Remove sizing on summary icons (#8169) 2023-10-15 08:14:44 -05:00
Blake Blackshear
e545dfc47b
Websocket changes (#8178)
* use react-use-websockets

* check ready state

* match context shape

* jsonify dispatch

* remove unnecessary ready check

* bring back h

* non-working tests

* skip failing tests

* upgrade some dependencies

---------

Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
2023-10-15 08:14:20 -05:00
Nicolas Mowen
fa6c6c50d0
Support ManagedMediaSource and update docs to reflect iOS 17.1+ supports MSE (#8160)
* Refactor media source handling in MsePlayer.js and Birdseye.jsx to support ManagedMediaSource

* lint

* Update docs to reflect iOS supporting mse

---------

Co-authored-by: Sergey Krashevich <svk@svk.su>
2023-10-13 19:17:09 -05:00
Nicolas Mowen
9b687d77ce
Add support for nvidia decoder and encoder utilization stats (#8150)
* Add encoder and decoder stats to nvidia hwaccel stats

* Fix

* Fix
2023-10-13 09:44:18 -05:00
Nicolas Mowen
2379e6fd1b
Support TiB in storage calculation (#8142) 2023-10-13 06:14:24 -05:00
Nicolas Mowen
dcafcc1320
Fix Config success message (#8121)
* Fix saved message

* Fix save mask
2023-10-10 08:23:18 -05:00
Nicolas Mowen
d7ddcea951
Show settings cog for camera toggles on mobile (#8098)
* Show settings cog on mobile

* Cleanup ui and remove label

* Fix tests
2023-10-08 14:49:41 -05:00
Daniel
cc6e049966
Change multiselect camera icon (#8016)
* CenterFocusString icon

* Add CenterFocusString to multiselect

* Rename CenterFocusString.jsx

* Rename icon and make it smaller

* Rename icon

* Fix lint and use icon
for speech

* remove unused vars

* Remove unused import
2023-10-08 14:30:53 -05:00
Nicolas Mowen
08ef69bac4
Add recordings timeline entry for frigate+ attributes (#8063)
* Add attribute item to timeline

* Add face icon

* Add support for other icons

* Cleanup

* Ensure attributes are only updated once

* don't show _ in attributes
2023-10-07 09:17:18 -05:00
Blake Blackshear
14d2b79c72
Security fixes (#8081)
* use safeloader

* use json responses wherever possible

* remove CORS and add CSRF token

* formatting fixes

* add envjs back

* fix baseurl test
2023-10-06 22:20:30 -05:00
Nicolas Mowen
9f3ac19e05
Limit max player height (#7974) 2023-09-28 18:01:23 -05:00
Nicolas Mowen
e26bb94007
Add seconds to exports (#7955) 2023-09-27 06:10:37 -05:00
Nicolas Mowen
1aba8c1ef5
Refactor time filter (#7962)
* Add ability to filter events by start time

* Add tests

* Add time param to events

* Add time picker

* Update docs

* Catch overnight case

Update comment

* Cleanup

* Fix tests
2023-09-27 06:09:38 -05:00
Nicolas Mowen
f92237c9c1
Fix recording timeline info text in light mode (#7963) 2023-09-27 06:08:58 -05:00
Blake Blackshear
0858859939
Dep updates (#7933)
* update actions

* web deps
2023-09-24 07:00:41 -05:00
Nicolas Mowen
080d7a2d88
Update go2rtc to 1.7.1 (#7657)
* Update go2rtc to 1.7.0

* Update docs references

* Add docs for homekit restream

* Exit with better error message when substitution is not correct

* Formatting

* Fix pin

* Update go2rtc dep

* Update go2rtc docs references

* Fix name

* Mute player by default

* Remove homekit mention
2023-09-21 06:52:46 -06:00
Scott Stancil
c743dfd657
Add capability to link directly to an event ID in the web UI (#7803)
* Add capability to link directly to an event ID in the web UI

* Move event ID to searchParams, add View All button

* Use searchParams inside eventsFetcher
2023-09-21 05:27:23 -05:00
Josh Hawkins
a3eccce8f3
use useEffect for key listeners on camera control panel (#7827)
* use useEffect for key listeners

* dependencies

* useCallbacks
2023-09-21 05:25:57 -05:00
Nicolas Mowen
76d4f16db3
Add cancel button to delete starred event dialog (#7853) 2023-09-21 05:24:12 -05:00
Nicolas Mowen
e5664826b1
Add ability to play and delete exports from webUI (#7882)
* add ability to playback exports on exports screen

* Add ability to delete exports from exports screen

* Fix large dialog

* Formatting
2023-09-21 05:20:57 -05:00
Nicolas Mowen
b9e6afa659
Fix webUI success / error messages (#7820)
* Fix export error handling

* Ensure that config editor success / error is updated each time

* Set response

* Formatting
2023-09-16 04:59:50 -05:00
Blake Blackshear
5658e5a4cc
more deps (#7712) 2023-09-06 08:32:09 -05:00
Nicolas Mowen
64fd5f8be3
Upgrade more deps (#7684)
* Bump axios from 1.4.0 to 1.5.0 in /web

Bumps [axios](https://github.com/axios/axios) from 1.4.0 to 1.5.0.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.4.0...v1.5.0)

---
updated-dependencies:
- dependency-name: axios
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump @testing-library/jest-dom from 5.17.0 to 6.1.2 in /web

Bumps [@testing-library/jest-dom](https://github.com/testing-library/jest-dom) from 5.17.0 to 6.1.2.
- [Release notes](https://github.com/testing-library/jest-dom/releases)
- [Changelog](https://github.com/testing-library/jest-dom/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/jest-dom/compare/v5.17.0...v6.1.2)

---
updated-dependencies:
- dependency-name: "@testing-library/jest-dom"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump autoprefixer from 10.4.14 to 10.4.15 in /web

Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 10.4.14 to 10.4.15.
- [Release notes](https://github.com/postcss/autoprefixer/releases)
- [Changelog](https://github.com/postcss/autoprefixer/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/autoprefixer/compare/10.4.14...10.4.15)

---
updated-dependencies:
- dependency-name: autoprefixer
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump postcss from 8.4.27 to 8.4.29 in /web

Bumps [postcss](https://github.com/postcss/postcss) from 8.4.27 to 8.4.29.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.4.27...8.4.29)

---
updated-dependencies:
- dependency-name: postcss
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump video.js from 8.3.0 to 8.5.2 in /web

Bumps [video.js](https://github.com/videojs/video.js) from 8.3.0 to 8.5.2.
- [Release notes](https://github.com/videojs/video.js/releases)
- [Changelog](https://github.com/videojs/video.js/blob/main/CHANGELOG.md)
- [Commits](https://github.com/videojs/video.js/compare/v8.3.0...v8.5.2)

---
updated-dependencies:
- dependency-name: video.js
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump preact from 10.16.0 to 10.17.1 in /web

Bumps [preact](https://github.com/preactjs/preact) from 10.16.0 to 10.17.1.
- [Release notes](https://github.com/preactjs/preact/releases)
- [Commits](https://github.com/preactjs/preact/compare/10.16.0...10.17.1)

---
updated-dependencies:
- dependency-name: preact
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Merge

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-04 10:11:50 -05:00
Nicolas Mowen
6e35c97376
Upgrade deps (#7664)
* Update peewee-migrate requirement from ==1.10.* to ==1.11.*

Updates the requirements on [peewee-migrate](https://github.com/klen/peewee_migrate) to permit the latest version.
- [Changelog](https://github.com/klen/peewee_migrate/blob/develop/Changelog)
- [Commits](https://github.com/klen/peewee_migrate/compare/1.10.0...1.11.0)

---
updated-dependencies:
- dependency-name: peewee-migrate
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update web deps

* Update PR deps

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-03 12:33:03 -05:00
Nicolas Mowen
db6ee41f3c
Improve error checking and handling for recordings export (#7647)
* Improve error checking and handling for recordings export

* Cleanup

* Remove order by
2023-09-02 05:42:33 -05:00
Sergey Krashevich
de6a916939
WebUI: audio icons in MultiSelect component (#7564)
* Add support for audio icons in MultiSelect component

* update icon

* speaker icon
2023-09-01 07:04:07 -05:00
Sergey Krashevich
24365fb865
bugfix: date selection in events calendar (#7374)
* Refactor Calendar component to update month details only when year or month changes

* Update web/src/components/Calendar.jsx

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>

---------

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
2023-08-05 05:48:14 -05:00
Blake Blackshear
c2e2656407
Update web deps (#7339)
* web dev deps

* update preact

* audit fix
2023-08-01 06:26:01 -05:00
Nicolas Mowen
b7ff6735f6
Add support for stationary and active timeline entires (#7344)
* Add support for stationary and active timeline entires

* Be sure to update stored event data copy with stationary
2023-07-31 21:43:48 -05:00
spacebares
0fd1eaff43
scroll camera list in camera/recordings route (#7195) 2023-07-21 07:31:02 -05:00
Nicolas Mowen
d30a738960
Show status when mask is saved (#7212) 2023-07-21 07:30:22 -05:00
Nicolas Mowen
91aadb6044
Don't show frigate+ button for audio / custom events (#7203) 2023-07-18 07:41:45 -06:00
Nicolas Mowen
c6d0e93157
Allow customization of tooltip capitalization (#7172) 2023-07-16 07:44:05 -05:00
Nicolas Mowen
07155b1fa9
Show / Download Exported recordings UI (#7171)
* Start with getting list of exports

* List downloadable exports in export page

* Fix downloading

* use swr instead of effect
2023-07-15 15:13:53 -05:00
Nicolas Mowen
5c12762cb5
Fix Birdseye Width & PTZ control panel (#7118)
* Cleanup birdseye UI

* Cleanup

* Fix reversed condition
2023-07-14 06:29:57 -05:00
Sergey Krashevich
6d34f2229b
WebUI: Show label & sub labels values next to the score (#7121)
* Refactor event label and sub-label score display in Events.jsx to include the event label and sub-label percentage

* Revert "Refactor event label and sub-label score display in Events.jsx to include the event label and sub-label percentage"

This reverts commit 87c23adf1e.

* Refactor event label and sub label score display in Events component
2023-07-14 06:25:53 -05:00
Bernt Christian Egeland
a94346e17e
Improve date and time formatting with fallback for unsupported Intl.DateTimeFormat features (#7099)
* Intl.DateTimeFormat fallback

* only set timezone when available or in config
2023-07-11 06:19:58 -05:00
Sergey Krashevich
20415bb5e0
Refactor code in Events.jsx to conditionally render event zones in the event card view (#7120) 2023-07-11 06:10:29 -05:00
Blake Blackshear
7c0d25f9da
Attribute scores (#7100)
* rework attributes to get scores

* show sublabel score

* formatting
2023-07-09 11:40:39 -05:00
Nicolas Mowen
00b9a490bb
Hide birdseye width button on mobile devices (#7077)
* Hide birdseye width button on mobile devices

* Update Birdseye.jsx
2023-07-07 07:35:53 -05:00
Sergey Krashevich
5259d51c04
UI Improvement: Full-width birdseye (if no PTZ cameras) (#6817)
* Refactor video player div class names in Birdseye.jsx to be more responsive

* let's JSMpegPlayer dont takes up the entire screen

* Update Birdseye.jsx

* Add useState hook and toggle button for dynamic width adjustment and refactor code for readability in env.js and Birdseye.jsx

* fix stupid typo

* Swapped the controls around

* Remove useless comments

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>

* Add button styles to the Birdseye component's toggle width button

---------

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
2023-07-07 07:09:55 -05:00
Nicolas Mowen
04aada8720
Fix webUI presets (#7065) 2023-07-07 07:07:46 -05:00
Sergey Krashevich
f48dd8c1ab
Feature: camera debug/config enhancements (#6920)
* Add functionality to update YAML config file with PUT request in HTTP endpoint

* Refactor copying of text to clipboard with Clipboard API and fallback to document.execCommand('copy') in CameraMap.jsx file

* Update YAML file from URL query parameters in frigate/http.py and add functionality to save motion masks, zones, and object masks in CameraMap.jsx

* formatting

* fix merging fuckup

* Refactor camera zone coordinate saving to use single query parameter per zone in CameraMap.jsx

* remove unnecessary print statements in util.py

* Refactor update_yaml_file function to separate the logic for updating YAML data into a new function update_yaml().

* fix merge errors

* Refactor code to improve error handling and add dependencies to useEffect hooks
2023-07-06 13:54:26 -05:00
Sergey Krashevich
1171f01683
Refactor camera rendering logic in System component to only render enabled cameras (#6992) 2023-07-03 09:49:14 -05:00
Nicolas Mowen
c3b313a70d
Audio events (#6848)
* Initial audio classification model implementation

* fix mypy

* Keep audio labelmap local

* Cleanup

* Start adding config for audio

* Add the detector

* Add audio detection process keypoints

* Build out base config

* Load labelmap correctly

* Fix config bugs

* Start audio process

* Fix startup issues

* Try to cleanup restarting

* Add ffmpeg input args

* Get audio detection working

* Save event to db

* End events if not heard for 30 seconds

* Use not heard config

* Stop ffmpeg when shutting down

* Fixes

* End events correctly

* Use api instead of event queue to save audio events

* Get events working

* Close threads when stop event is sent

* remove unused

* Only start audio process if at least one camera is enabled

* Add const for float

* Cleanup labelmap

* Add audio icon in frontend

* Add ability to toggle audio with mqtt

* Set initial audio value

* Fix audio enabling

* Close logpipe

* Isort

* Formatting

* Fix web tests

* Fix web tests

* Handle cases where args are a string

* Remove log

* Cleanup process close

* Use correct field

* Simplify if statement

* Use var for localhost

* Add audio detectors docs

* Add restream docs to mention audio detection

* Add full config docs

* Fix links to other docs

---------

Co-authored-by: Jason Hunter <hunterjm@gmail.com>
2023-07-01 08:18:33 -05:00
Bernt Christian Egeland
f1dc3a639c
fixed TimeAgo abbreviation (#6977)
* fixed TimeAgo abbreviation

* Update web/src/components/TimeAgo.tsx

Co-authored-by: Blake Blackshear <blakeb@blakeshome.com>

---------

Co-authored-by: Blake Blackshear <blakeb@blakeshome.com>
2023-07-01 08:16:19 -05:00
Blake Blackshear
2f401bd8da
update deps (#6973)
* update web deps

* update python deps
2023-07-01 07:47:16 -05:00
Nicolas Mowen
0a8249d6fb
Fix Bad Resize For Camera Snapshot (#6797)
* Catch cases where incorrect size is requested

* Set a default if calculated height is incorrect
2023-06-30 07:34:10 -05:00
Nicolas Mowen
bd17e7d824
Show object attributes when hovering or tapping timeline bounding box (#6879)
* Show overlay when hovering on timeline box

* Make it work with mobile too

* Fix lint

* Fix ratio

* Update web/src/components/TimelineEventOverlay.jsx

Co-authored-by: Blake Blackshear <blakeb@blakeshome.com>

* Show overlay when hovering on timeline box

* Make it work with mobile too

* Fix lint

* Fix ratio

* Remove label and make overlay respect selected theme

---------

Co-authored-by: Blake Blackshear <blakeb@blakeshome.com>
2023-06-30 07:15:19 -05:00
Nicolas Mowen
ece070fee1
Load labels dynamically for event filters (#6896)
* Load labels dynamically to include custom events and audio, do not include attribute labels

* Formatting

* Fix sorting

* Also filter tracked object list on camera page

* isort

* Don't fail before load
2023-06-28 05:51:53 -05:00
spacebares
3d40ed5d47
fix tooltip not showing if too far left (#6909) 2023-06-28 05:45:54 -05:00
Nicolas Mowen
ff1b5c87aa
Fix stream name not being used for MSE (#6796) 2023-06-14 06:49:32 -06:00
Sergey Krashevich
a8f282515f
Bugfix: Refactor date and time initialization in Export.jsx (#6794)
* Refactor date and time initialization in Export.jsx to use local timezone

* Update error message to include specific reason for failure in Export.jsx
2023-06-14 07:32:36 -05:00
Sergey Krashevich
dfd574beeb
Refactor storage stats calculation to use powers of 2 for more accurate values (#6765)
* "Refactor storage stats calculation to use powers of 2 for more accurate values"

* replace 1000000 to 2^20

* Refactor storage unit size display to use binary prefixes

This commit updates the display of storage unit sizes in both the camera storage stats and the Storage component in the web UI to use binary prefixes (MiB and GiB) instead of decimal prefixes (MB and GB). This provides more accurate and consistent representation of storage sizes
2023-06-11 14:49:13 -05:00
Bernt Christian Egeland
b359ff1b8e
[Feature] Add timepicker to calendar (#5183)
* added timepicker as children to calendar

* new timepicker component

* Add timepicker

* new timePicker component

* timepicker as calendar child

* hover:border and rounded

* adjusted width

* complete rework

* more code comments

* memorization

* preselect hover, transition

* numberOfDaysSelected has minimum of 1

* prefill hours when component mounts

* persist hours when component mount

* accommodate for the new timePicker

* add reset state

* scroll into view

* reuse before, after

* fix LastDayInRange when a time is selected

* do not add hours if before is zero

* use hours instead of days

* useeffect to reset hour. check timerange before scroll

* scroll to last element, not first
2023-06-11 14:48:45 -05:00
Nicolas Mowen
32569842d3
Option to enable / disable stats that require external processes (#6615)
* Add option for network bandwidth and only calculate if enabled

* Don't show network bandwidth in system stats page if not enabled

* Formatting

* Hide other rows as well

* Add docs

* Add config options for AMD and Intel GPU stats

* Fix stats access

* Update docs

* Use correct bool syntax

Co-authored-by: Blake Blackshear <blakeb@blakeshome.com>

---------

Co-authored-by: Blake Blackshear <blakeb@blakeshome.com>
2023-06-11 08:26:34 -05:00
Sergey Krashevich
7459a1cdde
Enhancement: Add Date and Time Inputs to Export Component with Time Validation (#6750)
* Add date and time inputs to Export component and ensure end time is larger than start time

* Update web/src/routes/Export.jsx

Co-authored-by: Blake Blackshear <blakeb@blakeshome.com>

---------

Co-authored-by: Blake Blackshear <blakeb@blakeshome.com>
2023-06-11 08:01:16 -05:00
Nicolas Mowen
d3949eebfa
Add API and WebUI to export recordings (#6550)
* Add ability to export frigate clips

* Add http endpoint

* Add dir to nginx

* Add webUI

* Formatting

* Cleanup unused

* Optimize timelapse

* Fix pts

* Use JSON body for params

* Use hwaccel to encode when available

* Print ffmpeg command when fail

* Print ffmpeg command when fail

* Add separate ffmpeg preset for timelapse

* Add docs outlining the export directory

* Add export docs

* Use ''

* Fix playlist max time

* Lower max playlist time

* Add api docs for export

* isort fixes
2023-06-08 07:32:35 -04:00
Blake Blackshear
699248d769
Update deps (#6669)
* fix gh host key

* python deps

* update web deps

* update docs deps
2023-06-01 06:59:50 -05:00
Nicolas Mowen
53d63e0f75
Update go2rtc to 1.5.0 (#5814)
* Update go2rtc to 1.3.0

* Increment to 1.3.1

* Increment to 1.3.2

* Update webrtc player to match latest

* Update version to 1.4.0

* Update mse player

* Update birdseye mse player

* remove logs

* Update docs to link to new version

* Final web lint fixes

* Update versions
2023-05-21 06:53:25 -06:00
Blake Blackshear
42f3ee3de5 sync master 2023-05-19 05:47:49 -05:00
Nicolas Mowen
e357715a8c
Ability to manually create events through the API (#3184)
* Move to events package

* Improve handling of external events

* Handle external events in the event queue

* Pass in event processor

* Check event json

* Fix json parsing and change defaults

* Fix snapshot saving

* Hide % score when not available

* Correct docs and add json example

* Save event png db

* Adjust image

* Formatting

* Add catch for failure ending event

* Add init to modules

* Fix naming

* Formatting

* Fix http creation

* fix test

* Change to PUT and include response in docs

* Add ability to set bounding box locations in snapshot

* Support multiple box annotations

* Cleanup docs example response

Co-authored-by: Blake Blackshear <blake@frigate.video>

* Cleanup docs wording

Co-authored-by: Blake Blackshear <blake@frigate.video>

* Store full frame for thumbnail

* Formatting

* Set thumbnail height to 175

* Formatting

---------

Co-authored-by: Blake Blackshear <blake@frigate.video>
2023-05-19 05:16:11 -05:00
Sergey Krashevich
6d0c2ec5c8
Add go2rtc & remote detectors network bandwidth usage to System table (#6526)
* Add network bandwidth usage to System table display in System.jsx and update get_bandwidth_stats function in util.py to include go2rtc processes

* black...

* Add network bandwidth usage to system table in web UI and improve regex in get_bandwidth_stats function to include frigate detector processes

* black...

* Update bandwidth calculation to include both incoming and outgoing traffic

* black:(
2023-05-18 06:40:24 -05:00
Korneliusz Jarzębski
17e8a46c7d
add ffmpeg bandwidth stats (#6492)
* add ffmpeg bandwidth stats

* add ffmpeg bandwidth stats

* Change column name

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>

* fix lint formatting

---------

Co-authored-by: Korneliusz Jarzębski <k.jarzebski@netverse.pl>
Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
2023-05-17 20:01:56 -05:00
Sergey Krashevich
5fb96c777a
Add cmdline information to CPU usage stats in get_cpu_stats() function and display it in the System page's ffmpeg table with a copy-to-clipboard button (#6430) 2023-05-15 07:39:03 -05:00
Nicolas Mowen
5951a740d2
Prevent recordings from being turned on if disabled in config (#6444)
* Prevent enabling recordings if not enabled in config

* Fix conflict

* Fix spacing

* Update wording

* Update wording

---------

Co-authored-by: Blake Blackshear <blakeb@blakeshome.com>
2023-05-15 07:36:26 -05:00
Blake Blackshear
e3b9998879
Upgrade deps (#6395)
* update js build tools

* update frontend deps

* python updates

* update requests again
2023-05-05 07:45:13 -05:00
Sergey Krashevich
f52b1212cd
add go2rtc version (#6390)
Update System.jsx
2023-05-04 21:04:06 -05:00
Nicolas Mowen
aded314f3c
Timeline UI optimizations (#6367)
* Fix centering of bottom_center

* Make bottom_center overlap vertically

* Fix timeline icon behavior

* Make disclaimer hidden under aria label

* Don't literally say disclaimer
2023-05-04 17:34:48 -06:00
Stephen Horvath
0751358e5b
Fix site.webmanifest + add svg as favicon (#6304) 2023-05-04 18:04:24 -05:00
Peeter N
17b92aa657
Do not show the loader during recordings api call (#6366)
* Do not show the loader during recordings api call

Showing the loader during the recordings API call will rerender the recordings list and rerenders the video player

* Fix defauting to 0 seekSeconds if recordings results are missings
2023-05-04 18:02:48 -05:00
Nicolas Mowen
ef50af03f2
Add icon to explain in more detail the system stats / storage info (#6358)
* Add info icon with additional info for each process.

* Specify single CPU core

* Include storage in tooltips
2023-05-04 18:01:27 -05:00
Sergey Krashevich
02f577347d
Hide PTZ Controls in Birdseye when no cameras support it (#6353)
* Refactor filter logic to exclude cameras with empty onvif host address

* Refactor filter logic to exclude cameras with empty onvif host address-2

* Apply suggestions from code review

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>

---------

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
2023-05-04 18:00:18 -05:00
Sergey Krashevich
2add675d42
Refactor Process Stats and Bugfixes (#6344)
* test refactor process stats

* Update util.py

* bugfix

* black formatting

* add missing processes field to StatsTrackingTypes class

* fix python checks and tests...

* use psutil for calcilate cpu utilization on get_cpu_stats

* black...black...black...

* add cpu average

* calculate statiscts for logger process

* add P-ID for other processes in System.jsx

* Apply suggestions from code review

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>

* make page beautiful again :)

---------

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
2023-05-04 17:58:59 -05:00
Nicolas Mowen
ad52e238ce
Refactor events to be more generic (#6320)
* Organize event table to be more generalized

* Add appropriate fields to data

* Move tracked object logic to own function

* Add source type to event queue

* rename enum

* Fix types that are used in webUI

* remove redundant

* Formatting

* fix typing

* Rename enum
2023-04-30 12:07:14 -05:00
Nicolas Mowen
37360edbc1
Show other system processes in system page (#6276) 2023-04-28 07:47:49 -05:00
Nicolas Mowen
b48f6d750f
Add annotation support (#6288) 2023-04-28 06:02:06 -05:00
Blake Blackshear
6dc82b6cef
dependency updates (#6246)
* python

* easy web deps
2023-04-26 06:20:29 -05:00
Nicolas Mowen
43ade86796
Support Controlling PTZ Cameras Via WebUI (#4715)
* Add support for ptz commands via websocket

* Fix startup issues

* Fix bugs

* Set config manually

* Add more commands

* Add presets

* Add zooming

* Fixes

* Set name

* Cleanup

* Add ability to set presets from UI

* Add ability to set preset from UI

* Cleanup for errors

* Ui tweaks

* Add visual design for pan / tilt

* Add pan/tilt support

* Support zooming

* Try to set wsdl

* Fix duplicate logs

* Catch auth errors

* Don't init onvif for disabled cameras

* Fix layout sizing

* Don't comment out

* Fix formatting

* Add ability to control camera with keyboard shortcuts

* Disallow user selection

* Fix mobile pressing

* Remove logs

* Substitute onvif password

* Add ptz controls ot birdseye

* Put wsdl back

* Add padding

* Formatting

* Catch onvif error

* Optimize layout for mobile and web

* Place ptz controls next to birdseye view in large layout

* Fix pt support

* Center text titles

* Update tests

* Update docs

* Write camera docs for PTZ

* Add MQTT docs for PTZ

* Add ptz info docs for http

* Fix test

* Make half width when full screen

* Fix preset panel logic

* Fix parsing

* Update mqtt.md

* Catch preset error

* Add onvif example to docs

* Remove template example from main camera docs
2023-04-26 06:08:53 -05:00
Blake Blackshear
0d16bd0144
False positives (#6217)
* add false positive submission

* switch timeline events to x,y,w,h

* update docs

* fix type checks

* convert to upsert

* fix config test
2023-04-24 07:24:28 -05:00
Nicolas Mowen
7f96d89ec4
Use correct method for retrieving current unix time (#6218) 2023-04-24 05:19:38 -05:00
Nicolas Mowen
04a22f8283
Fix timeline event overlay when recordings mode is not all (#6215)
* Fix case where not all segments are saved in recording for timeline overlay

* Remove unused vars
2023-04-23 15:02:52 -05:00
Nicolas Mowen
fbaab71d78
Metadata Timeline (#6194)
* Create timeline table

* Fix indexes

* Add other fields

* Adjust schema to be less descriptive

* Handle timeline queue from tracked object data

* Setup timeline queue in events

* Add source id for index

* Add other fields

* Fixes

* Formatting

* Store better data

* Add api with filtering

* Setup basic UI for timeline in events

* Cleanups

* Add recordings snapshot url

* Start working on timeline ui

* Add tooltip with info

* Improve icons

* Fix start time with clip

* Move player logic back to clips

* Make box in timeline relative coordinates

* Make region relative

* Get box overlay working

* Remove overlay when playing again

* Add disclaimer when selecting overlay points

* Add docs for new apis

* Fix mobile

* Fix docs

* Change color of bottom center box

* Fix vscode formatting
2023-04-23 10:45:19 -05:00
lucas_nz
3c72b96042
Use browser timezone if not specified in config (#6205) 2023-04-23 07:42:15 -05:00
Blake Blackshear
f8f76fcb94
update to 8.3.x (#6100) 2023-04-16 07:09:51 -05:00
Blake Blackshear
15415bab10
update deps (#6093)
* update dev deps

* update deps

* docs deps

* python dev deps

* update python deps
2023-04-15 14:17:59 -05:00
Bernt Christian Egeland
dee471e9e9
[Rework RelativeModal] calculate available window height (#6000)
* overflow-auto

* removed the restrict menu height from #5601.

* remove top from the equations due to scroll height

* calculate available height
2023-04-14 07:14:28 -05:00
Patrick Decat
4c5cd02ab7
Fix confusing storage display when calculating per camera usage (#5835) 2023-03-25 16:49:46 -05:00
Nicolas Mowen
e454daf727
Fix timezone issues with strftime (#5762)
* Fix timezone issues with strftime

* Fix timezone adjustment

* Fix bug
2023-03-18 07:32:39 -05:00
Nicolas Mowen
a5e561c81d
Restrict menu height to ensure it does not overflow (#5601) 2023-03-03 17:45:25 -06:00
Nicolas Mowen
c4ebafe777
Fix plus menu not showing (#5606)
* Set end time for download event

* Set the value
2023-03-03 17:44:58 -06:00
Nicolas Mowen
318240c14c
Add docs for time / date styling (#5572)
* Add docs for time / date styling

* Convert 12hour time format option to enum

* Change option in web

* Add docs with examples

* Fix errors in docs

* Fix mismatched names
2023-02-26 09:37:18 -06:00
Nicolas Mowen
34bdf2fc10
Clean up output for vainfo and ffprobe (#5586)
* Clean up output for vainfo and ffprobe

* Fix cleanup

* Format vainfo display

* Fix ffprobe output

* Fix stringification

* remove unused
2023-02-26 07:05:27 -06:00
Bernt Christian Egeland
3611e874ca
Events Page: Added option to override browser time format and style (#5538)
* use12hour optional config

* use12hour config arg

* added use12HourFormat arg to format function

* dateStyle & timeStyle option

* moved timezone & locales to format function

* added dateStyle & timeStyle

* re-formatted

* added strftime_fmt config entry

* strftime package

* added strftime option

* underscore instead of camelCase

* underscore props instead of camelCase
2023-02-22 06:54:16 -07:00
Nicolas Mowen
3524d1a055
Fix go2rtc dashboard link (#5546)
* Fix go2rtc dashboard link

* Add trailing /
2023-02-20 20:16:26 -06:00
Nicolas Mowen
2b685ac343
Plus upload in progress (#5521)
* Fix frigate+ uploading bug

Fixes https://github.com/blakeblackshear/frigate/issues/5515

* wording

* Formatting

* Don't show button when event is in progress

* Don't show in download menu either
2023-02-19 07:38:16 -06:00
Nicolas Mowen
c901707670
Docs & WebUI Cleanup (#5527)
* Remove browser from timezone description

* Remove outdated info
2023-02-17 11:02:33 -06:00
Nicolas Mowen
6cfa73a284
Add link to go2rtc in system page (#5478)
* Add link to go2rtc in the system page

* Open in new page

* Add color and underline behavior

* Cleanup

* Cleanup

* Fix color

* fix tests
2023-02-16 07:50:03 -06:00
Bernt Christian Egeland
c9cd810c9f
reposition the modal when close to bottom (#5507) 2023-02-16 07:47:18 -06:00
Nicolas Mowen
3d90366af2
Fix Webui Default Stream (#5455)
* Pass restream enabled

* Use livemode for birdseye as well
2023-02-12 07:36:36 -06:00
Nicolas Mowen
4a45089b95
Scrollbar juddering (#5383)
* added scrollbar width to observer width.

* subtract scrollBarWidth from scaledWidth

* useMemo dependencies

---------

Co-authored-by: Bernt Christian Egeland <cbegelan@gmail.com>
2023-02-05 09:13:15 -06:00
Blake Blackshear
e8cd25ddf2
Docs tweaks (#5379)
* add note about cameras needing ffmpeg for go2rtc

* clarify error message on GPU stats
2023-02-04 08:47:27 -06:00
Nicolas Mowen
74d6ab0555
Fix copying logs (#5373) 2023-02-03 19:32:31 -06:00
Bernt Christian Egeland
a5078b8517
rework - ts, interval (#5291) 2023-01-29 17:25:28 -06:00
Nicolas Mowen
116edce3dc
Set jsmpeg manually when restream is disabled (#5265) 2023-01-28 08:15:52 -06:00
James L
11054daebe
System page: add last updated time ago (#5195) 2023-01-27 06:20:41 -06:00
James L
12d51d3c73
System page: fix 0 FPS for disabled camera (#5155) 2023-01-18 18:05:18 -06:00
Nicolas Mowen
6620236bc3
Catch case where go2rtc streams is not defined (#5150) 2023-01-18 17:20:44 -06:00
Felipe Santos
02df2a8bbd
Refactor s6 scripts to the new format (#5135)
* Refator s6 scripts to the new format

* Remove unneeded workaround

* Migrate logging to new s6 format

* Remove more unnecessary s6 variables

* Fix prepare-log and when go2rtc is not present in config

* Restart the whole container if either Frigate or go2rtc fails

* D

* Fix service name in finish

* Fix nginx finish comment

* Restart improvements

* Fix devcontainer

* Fix format

* Update Dockerfile

Co-authored-by: Felipe Santos <felipecassiors@gmail.com>

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
2023-01-18 07:53:53 -06:00
Nicolas Mowen
2631a4c35b
Fix not using custom set stream name (#5134) 2023-01-17 22:36:52 -06:00
Nicolas Mowen
19afb035ff
Rewrite restream (#5106)
* Tear out restream config

* Rework birdseye restream

* Create go2rtc config handler

* Fix bug

* Write start script

* Rework style

* Fix python run syntax

* Output as json instead of yaml

* Put old live config back and fix birdseye references

* Fix camera webUI

* Add frigate env var subsitutions

* Fix webui checks

* Check keys

* Remove unused prest

* Fix tests

* Update restream docs

* Update restream docs

* Update live docs

* Update camera specific recommendation

* Update more docs

* add links for the docs

Co-authored-by: Felipe Santos <felipecassiors@gmail.com>

* Update note about supported audio codecs

* Move restream to go2rtc

* Docs fixes

* Add verification of stream name

* Ensure that webUI uses camera name

* Update docs to reflect new live stream name

* Fix check

* Formatting

* Remove audio from detect

Co-authored-by: Felipe Santos <felipecassiors@gmail.com>

* Fix docs

* Don't handle env variable substitution

* Add go2rtc version

* Clarify docs

Co-authored-by: Felipe Santos <felipecassiors@gmail.com>
2023-01-16 17:50:35 -06:00
yeahme49
e39fb51dec
Add Save Only button to config editor (#5090)
* Add Save Only button to save config without restarting

* Fixes

* fix formatting

* change to query parameter from header

* lint fixes
2023-01-15 11:25:49 -06:00
Bernt Christian Egeland
621aa0cf61
Rework events page to include timeago (#5097)
* new timeago component

* added timeago to event

* clock icon

* clock icon. flex items center

* dense prop

* moved clipDuration. cleaner jsx, sm hidden

* renamed clipduration => getDurationFromTimestamps

* func description

* duration in parenthesis
2023-01-15 09:43:40 -06:00
Bernt Christian Egeland
65bc644d03
Rework storage page to show sizes with relevant units (#5093)
* new getUnitSize function

* check if isNaN
2023-01-15 09:39:03 -06:00
Nicolas Mowen
19d17c8c81
Use memo for recordings timezone (#5086) 2023-01-14 11:03:29 -06:00
Nicolas Mowen
e0b3b27b8a
Add option for live mode & timezone config, fix MSE check for iPad (#5079)
* Add config fields

* Clean up camera default values

* Set recordings timezone with config if available

* Adjust for timezone config

* Cleanup setting of the timezone

* Don't fail on MSE check iPad

* Fix MSE check for birdseye

* Add docs

* Fix test
2023-01-13 17:27:16 -06:00
James L
2031c3146f
System page: make clear if detect disabled (#5075) 2023-01-13 17:14:07 -06:00
Nicolas Mowen
dafc7edb59
Show recording and snapshot storage separately if different sizes (#5072)
* Show recording and snapshot storage separately if different sizes

* Fix preload

* Fix compare
2023-01-13 17:13:21 -06:00
Felipe Santos
95596b39fd
Capitalize the Frigate word (#5044) 2023-01-13 07:18:15 -06:00
James L
6b123675c4
System page: add detector process mem% (#5028) 2023-01-11 18:11:45 -06:00
Nicolas Mowen
1643b4d108
Clean up go2rtc logs to not show color text unicode (#5027)
* Use color logs for go2rtc

* Update docs to show need for formatted logs

* Fix log selector
2023-01-11 17:21:13 -06:00
James L
acd1fb9e3e
System page: various minor UI tweaks (#4985)
* System page: various minor UI tweaks

* Be consistent with capitalisation

* Change detection start epoch to running/idle

* Remove detection start column entirely
2023-01-11 06:11:57 -06:00
Nicolas Mowen
3edbb8dc41
Camera WebUI fixes (#5010)
* Show jsmpeg when restream is disabled

* Fix debug button status not showing correctly when switching cameras

* Change label to make clear only motion masks are shown
2023-01-11 06:09:58 -06:00
Nicolas Mowen
581c2591ae
Use library to handle copying to clipboard (#4989)
* Use library to handle copying

* Typo
2023-01-10 06:23:04 -06:00
Nicolas Mowen
ebef38e408
Fix href for cameras direct link (#4875) 2023-01-03 19:32:56 -06:00
Nicolas Mowen
b6592c67d1
Add None option to zones & sub labels (#4886)
* Add None option to zones

* Catch blank sub labels too
2023-01-03 19:29:25 -06:00
Nicolas Mowen
760d65b214
Don't fail to load when cameras stats are not available (#4877) 2023-01-03 19:23:56 -06:00
spacebares
f4991b46f8
[API] filter for favorite events (#4737)
* [API] filter for favorite events

*  Added /api/events filter for favorite (retain_indefinitely) events

* New Star button to filter for favorite events on the Events page

* fix python formatting

* keep Events favorite button to right side
2022-12-31 08:56:30 -06:00
Nicolas Mowen
ff56262c6e
Add ability to restream birdseye (#4761)
* Try using RTSP for restream

* Add ability to get snapshot of birdseye when birdseye restream is enabled

* Write to pipe instead of encoding mpeg1

* Write to cache instead

* Use const for location

* Formatting

* Add hardware encoding for birdseye based on ffmpeg preset

* Provide framerate

* Adjust args

* Fix order

* Delete pipe file if it exists

* Cleanup spacing

* Fix spacing
2022-12-31 08:54:10 -06:00
Nicolas Mowen
e3ec292528
Fix config missing (#4825) 2022-12-30 09:52:10 -06:00
Blake Blackshear
63260119fb
Frontend deps (#4824)
* Bump fake-indexeddb from 4.0.0 to 4.0.1 in /web

Bumps [fake-indexeddb](https://github.com/dumbmatter/fakeIndexedDB) from 4.0.0 to 4.0.1.
- [Release notes](https://github.com/dumbmatter/fakeIndexedDB/releases)
- [Changelog](https://github.com/dumbmatter/fakeIndexedDB/blob/master/CHANGELOG.md)
- [Commits](https://github.com/dumbmatter/fakeIndexedDB/compare/v4.0.0...v4.0.1)

---
updated-dependencies:
- dependency-name: fake-indexeddb
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump @types/video.js from 7.3.49 to 7.3.50 in /web

Bumps [@types/video.js](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/video.js) from 7.3.49 to 7.3.50.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/video.js)

---
updated-dependencies:
- dependency-name: "@types/video.js"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump @typescript-eslint/eslint-plugin from 5.44.0 to 5.47.1 in /web

Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 5.44.0 to 5.47.1.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.47.1/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump axios from 1.2.0 to 1.2.2 in /web

Bumps [axios](https://github.com/axios/axios) from 1.2.0 to 1.2.2.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.2.0...1.2.2)

---
updated-dependencies:
- dependency-name: axios
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* json5 vulnerability

* update linters

* reformat

* dev deps

* more deps

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-30 09:48:22 -06:00
Jonathan Zhang
ffd637cc0c
fix: handle multi-word timezones (#4816) 2022-12-30 08:34:01 -06:00
Nicolas Mowen
6e519e0071
Fix error when saving the config unsuccessfully (#4780) 2022-12-29 10:37:04 -06:00
Nicolas Mowen
f3e0ced1cd
Frontend Player Fixes (#4778)
* Fix Firefox WebRTC support

* Set max size for birdseye
2022-12-29 10:36:13 -06:00
Nicolas Mowen
c85df9c691
Fix MSE Issues (#4725)
* Don't close mse when pausing video

* Add message about MSE on iOS
2022-12-17 17:56:26 -06:00
Nicolas Mowen
7953d131ae
Fix monaco editor issues (#4724)
* Add sub filter for monaco editor

* Don't include files for unused languages

* Move necessary files and cleanup build

* Update sub filter for new location

* Still need to include default editor worker

* Fix error when model already exists
2022-12-17 17:55:41 -06:00
spacebares
c6f0abf732
Show All and Solo selection buttons for MultiSelect. (#4723)
* Show All and Solo selection buttons for MultiSelect.

Similar to previous behavior of viewing events for single camera with 1 click, or All.

* Fix visual bug with MultiSelect when selecting similar named options.
   eg. options like frontdoor, frontside, backdoor, etc

* fix key prop for lint

* Change MultiSelect onSolo to onSelectSingle

* cosmetic changes on MultiSelect

* Different look for SelectSingle buttons

* Show All button is aligned with the items below it, no matter the popup size

* MultiSelect ShowAll unfocused by default
2022-12-17 17:54:54 -06:00
Nicolas Mowen
369299315f
Optimize nginx & recordings (#4688)
* Add segment duration metadata

* Use faststart only for kept segments

* Add more options for performance

* Build nginx locally

* Build nginx in dockerfile and enable threaded vod handling

* Use DASH instead of hls

* Allow player to continue on error

* Undo DASH change

* Fix typo

* Correct log

* Fix bad comments

* Fix indentation

* Preload stream

* remove unused

* Fix spacing

* Fix tabs / sspaces

* Retab

* More cleanup
2022-12-17 17:53:34 -06:00
Nicolas Mowen
43c2761308
System page improvements (#4707)
* Catch case where camera is disabled

* Add ffprobe timeout and catch case where camera is disabled
2022-12-14 17:20:47 -06:00
Nicolas Mowen
b1ec56de29
Add multiselect filtering to events view (#3367) 2022-12-12 06:30:34 -06:00
Nicolas Mowen
45c43d7cf5
UI Cleanup & Optimization (#4673)
* Use prewrap so vainfo output appears normalized

* Move copy button to top so user doesn't need to scroll to copy logs

* Show calculating if no value for stream bandwidth
2022-12-12 06:28:44 -06:00