Commit Graph
1487 Commits
Author SHA1 Message Date
Nicolas MowenandGitHub 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
DanielandGitHub 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 MowenandGitHub 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 BlackshearandGitHub 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 MowenandGitHub 9f3ac19e05 Limit max player height (#7974) 2023-09-28 18:01:23 -05:00
Nicolas MowenandGitHub e26bb94007 Add seconds to exports (#7955) 2023-09-27 06:10:37 -05:00
Nicolas MowenandGitHub 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 MowenandGitHub f92237c9c1 Fix recording timeline info text in light mode (#7963) 2023-09-27 06:08:58 -05:00
Nicolas MowenandGitHub 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 StancilandGitHub 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 HawkinsandGitHub 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 MowenandGitHub 76d4f16db3 Add cancel button to delete starred event dialog (#7853) 2023-09-21 05:24:12 -05:00
Nicolas MowenandGitHub 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 MowenandGitHub 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
Nicolas MowenandGitHub 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 KrashevichandGitHub 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
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
Nicolas MowenandGitHub 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
spacebaresandGitHub 0fd1eaff43 scroll camera list in camera/recordings route (#7195) 2023-07-21 07:31:02 -05:00
Nicolas MowenandGitHub d30a738960 Show status when mask is saved (#7212) 2023-07-21 07:30:22 -05:00
Nicolas MowenandGitHub 91aadb6044 Don't show frigate+ button for audio / custom events (#7203) 2023-07-18 07:41:45 -06:00
Nicolas MowenandGitHub c6d0e93157 Allow customization of tooltip capitalization (#7172) 2023-07-16 07:44:05 -05:00
Nicolas MowenandGitHub 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 MowenandGitHub 5c12762cb5 Fix Birdseye Width & PTZ control panel (#7118)
* Cleanup birdseye UI

* Cleanup

* Fix reversed condition
2023-07-14 06:29:57 -05:00
Sergey KrashevichandGitHub 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 EgelandandGitHub 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 KrashevichandGitHub 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 BlackshearandGitHub 7c0d25f9da Attribute scores (#7100)
* rework attributes to get scores

* show sublabel score

* formatting
2023-07-09 11:40:39 -05:00
Nicolas MowenandGitHub 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
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 MowenandGitHub 04aada8720 Fix webUI presets (#7065) 2023-07-07 07:07:46 -05:00
Sergey KrashevichandGitHub 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 KrashevichandGitHub 1171f01683 Refactor camera rendering logic in System component to only render enabled cameras (#6992) 2023-07-03 09:49:14 -05:00
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
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 BlackshearandGitHub 2f401bd8da update deps (#6973)
* update web deps

* update python deps
2023-07-01 07:47:16 -05:00
Nicolas MowenandGitHub 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
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 MowenandGitHub 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
spacebaresandGitHub 3d40ed5d47 fix tooltip not showing if too far left (#6909) 2023-06-28 05:45:54 -05:00
Nicolas MowenandGitHub ff1b5c87aa Fix stream name not being used for MSE (#6796) 2023-06-14 06:49:32 -06:00
Sergey KrashevichandGitHub 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 KrashevichandGitHub 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 EgelandandGitHub 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
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
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 MowenandGitHub 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
Nicolas MowenandGitHub 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
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