* 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>
* Add auto configuration for height, width and fps in detect role
* Add auto-configuration for detect width, height, and fps for input roles with detect in the CameraConfig class in config.py
* Refactor code to retrieve video properties from input stream in CameraConfig class and add optional parameter to retrieve video duration in get_video_properties function
* format
* Set default detect dimensions to 1280x720 and update DetectConfig to use the defaults
* Revert "Set default detect dimensions to 1280x720 and update DetectConfig to use the defaults"
This reverts commit a1aed0414d.
* Add default detect dimensions if autoconfiguration failed and log a warning message
* fix warn message spelling on frigate/config.py
Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
* Ensure detect height and width are not None before using them in camera configuration
* docs: initial commit
* rename streamInfo to stream_info
Co-authored-by: Blake Blackshear <blakeb@blakeshome.com>
* Apply suggestions from code review
Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
* Update docs
* handle case then get_video_properties returns 0x0 dimension
* Set detect resolution based on stream properties if available, else apply default values
* Update FrigateConfig to set default values for stream_info if resolution detection fails
* Update camera detection dimensions based on stream information if available
---------
Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
Co-authored-by: Blake Blackshear <blakeb@blakeshome.com>
* Add limit to event query for fetching latest event with specified label and camera name
* Refactor the label_thumbnail function in frigate/http.py to simplify the event_query logic and improve code readability
* 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
* 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>
* 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
* Refactored queues to use faster_fifo instead of mp.Queue
* Refactored LimitedQueue to include a counter for the number of items in the queue and updated put and get methods to use the counter
* Refactor app.py and util.py to use a custom Queue implementation called LQueue instead of the existing Queue
* Refactor put and get methods in LimitedQueue to handle queue size and blocking behavior more efficiently
* code format
* remove code from other branch (merging fuckup)
* Add audio process PID to the list of processes and log the start of the audio process
* Update audio process PID key in processes dictionary to "audioDetector" instead of "audio".
* Add ccache to libusb and nginx build scripts
* Add ccache support to Dockerfile for faster builds
* Add ccache to PATH and use it for compiling nginx with Makefile in build_nginx.sh script
* Refactor date and time initialization in Export.jsx to use local timezone
* Update error message to include specific reason for failure in Export.jsx
* "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
* Update pull_request.yml
* Add temporary table for deletion and use pagination to process recordings in chunks for deletion of recordings with missing files
* move RecordingsToDelete class to models.py
* recording cleanup: bugfixes
* Update cleanup.py
* improve log message in cleanup.py
Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
---------
Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
* 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>
* Add function to get physical interfaces for bandwidth calculation in get_bandwidth_stats() function
* Add telemetry configuration option for enabled network interfaces, with default values for monitoring bandwidth stats for camera ffmpeg processes, go2rtc, and object detectors. Also add support for FrigateConfig in set_bandwidth_stats function to get bandwidth stats for specified network interfaces
* 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:(
* Add Deepstack detector plugin with configurable API URL, timeout, and API key
* Update DeepStack plugin to recognize 'truck' as 'car' for label indexing
* Add debug logging to DeepStack plugin for better monitoring and troubleshooting
* Refactor DeepStack label loading from file to use merged labelmap
* Black format
* add documentation draft
* fix link to codeproject website
* Apply suggestions from code review
Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
---------
Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
* nvml
* black...black...black...
* small fix for avoid errors on strange GPUs and old drivers
* fix type errors
* fix type errors
* fix unittest process crash
where the tests for tests?..
* it's impossible to mock low-level library
* fix double % for other GPU types
* remove space before gpu statistic values
* 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>
* avoid executing external tools by using Python's built-in os module to interact with the filesystem directly
* Refactor recording cleanup script to use os module instead of subprocess
* black format util.py
* Ooooops
* Refactor get_cpu_stats() to properly identify recording process