* Get storage output stats for each camera
* Add storage route
* Add storage route
* Add storage page
* Cleanup
* Add stats and show more storage
* Add tests for mb abbrev util fun
* Rewrite storage logic to use storage maintainer and segment sizes
* Include storage maintainer for http
* Use correct format
* Remove utils
* Fix tests
* Remove total from equation
* Multiply by 100 to get percent
* Add basic storage info
* Fix storage stats
* Fix endpoint and ui
* Fix formatting
* Add ffprobe endpoint
* Get ffprobe for multiple inputs
* Copy ffprobe in output
* Fix bad if statement
* Return full output of ffprobe process
* Return full output of ffprobe process
* Make ffprobe button show dialog with output and option to copy
* Add driver names to consts
* Add driver env var name
* Setup general tracking for GPU stats
* Catch RPi args as well
* Add util to get radeontop results
* Add real amd GPU stats
* Fix missed arg
* pass config
* Use only the values
* Fix vram
* Add nvidia gpu stats
* Use nvidia stats
* Add chart for gpu stats
* Format AMD with space between percent
* Get correct nvidia %
* Start to add support for intel GPU stats
* Block out RPi as util is not currently available
* Formatting
* Fix mypy
* Strip for float conversion
* Strip for float conversion
* Fix percent formatting
* Remove name from gpu map
* Add tests and fix AMD formatting
* Add nvidia gpu stats test
* Formatting
* Add intel_gpu_top for testing
* Formatting
* Handle case where hwaccel is not setup
* Formatting
* Check to remove none
* Don't use set
* Cleanup and fix types
* Handle case where args is list
* Fix mypy
* Cast to str
* Fix type checking
* Return none instead of empty
* Fix organization
* Make keys consistent
* Make gpu match style
* Get support for vainfo
* Add vainfo endpoint
* Set vainfo output in error correctly
* Remove duplicate function
* Fix errors
* Do cpu & gpu work asynchonously
* Fix async
* Fix event loop
* Fix crash
* Fix naming
* Send empty data for gpu if error occurs
* Show error if gpu stats could not be retrieved
* Fix mypy
* Fix test
* Don't use json for vainfo
* Fix cross references
* Strip unicode still
* await vainfo response
* Add gpu deps
* Formatting
* remove comments
* Use empty string
* Add vainfo back in
* Add option for mqtt config
* Setup communication layer
* Have a dispatcher which is responsible for handling and sending messages
* Move mqtt to communication
* Separate ws communications module
* Make ws client conform to communicator
* Cleanup imports
* Migrate to new dispatcher
* Clean up
* Need to set topic prefix
* Remove references to mqtt in dispatcher
* Don't start mqtt until dispatcher is subscribed
* Cleanup
* Shorten package
* Formatting
* Remove unused
* Cleanup
* Rename mqtt to ws on web
* Fix ws mypy
* Fix mypy
* Reformat
* Cleanup if/else chain
* Catch bad set commands
* Move each camera to a separate card and show per process info
* Install top
* Add support for cpu usage stats
* Use cpu usage stats in debug
* Increase number of runs to ensure good results
* Add ffprobe endpoint
* Get ffprobe for multiple inputs
* Copy ffprobe in output
* Add fps to camera metrics
* Fix lint errors
* Update stats config
* Add ffmpeg pid
* Use grid display so more cameras can take less vertical space
* Fix hanging characters
* Only show the current detector
* Fix bad if statement
* Return full output of ffprobe process
* Return full output of ffprobe process
* Don't specify rtsp_transport
* Make ffprobe button show dialog with output and option to copy
* Adjust ffprobe api to take paths directly
* Add docs for ffprobe api
* Adding clip length in s to Events View
* added function returning human readable length
* switched to date-fns functions for formatting
* fixed switched start/end time, changed length to duration
* add option enabled for each camera in config
* Simplified If-block and removed wrong Optional
* Update Docs enabling/disabling camera in config
* correct format for option
* Disabling Camera for processes, no config changes
* Describe effects of disabled cam in documentation
* change if-logic, obsolete copy, info disabled cam
* changed color to white, added top padding in disabled camera info
* changed indentation
* Pull go2rtc dependency
* Add go2rtc to local services and add to s6
* Add relay controller for go2rtc
* Add restream role
* Add restream role
* Add restream to nginx
* Add camera live source config
* Disable RTMP by default and use restream
* Use go2rtc for camera config
* Fix go2rtc move
* Start restream on frigate start
* Send restream to camera level
* Fix restream
* Make sure jsmpeg works as expected
* Make view rspect live size config
* Tweak player options to fit live view
* Adjust VideoPlayer to accept live option which disables irrelevant controls
* Add multiple options from restream live view
* Add base for webrtc option
* Setup specific restream modules
* Make mp4 the default streaming for now
* Expose 8554 for rtsp relay from go2rtc
* Formatting
* Update docs to suggest new restream method.
* Update docs to reflect restream role
* Update docs to reflect restream role
* Add webrtc player
* Improvements to webRTC
* Support webrtc
* Cleanup
* Adjust rtmp test and add restream test
* Fix tests
* Add restream tests
* Add live view docs and show different options
* Small docs tweak
* Support all stream types
* Update to beta 9 of go2rtc
* Formatting
* Make jsmpeg the default
* Support wss if made from https
* Support wss if made from https
* Use onEffect
* Set url outside onEffect
* Fix passed deps
* Update docs about required host mode
* Try memo instead
* Close websocket on changing camera
* Formatting
* Close pc connection
* Set video source to null on cleanup
* Use full path since go2rtc can't see PATH var
* Adjust audio codec to enable browser audio by default
* Cleanup stream creation
* Add restream tests
* Format tests
* Mock requests
* Adjust paths
* Move stream configs to restream
* Remove live source
* Remove live config
* Use live persistence for which view to use on each camera
* Fix live sizes
* Only use jsmpeg sizes for jsmpeg live
* Set max live size
* Remove access of live config
* Add selector for live view source in web view
* Remove RTMP from default list of roles
* Update docs
* Fix tests
* Fix docs for live view modes
* make default undefined to avoid race condition
* Wait until camera source is loaded to avoid race condition
* Fix tests
* Add config to go2rtc
* Work with config
* Set full path for config
* Set to use stun
* Check for mounted file
* Look for frigate-go2rtc
* Update docs to reflect webRTC configuration.
* Add link to go2rtc config
* Update docs to be more clear
* Update docs to be more clear
* Update format
Co-authored-by: Felipe Santos <felipecassiors@gmail.com>
* Update live docs
* Improve bash startup script
* Add option to force audio compatibility
* Formatting
* Fix mapping
* Fix broken link
* Update go2rtc version
* Get go2rtc webui working
* Add support for mse
* Remove mp4 option
* Undo changes to video player
* Update docs for new live view options
* Make separate path for mse
* Remove unused
* Remove mp4 path
* Try to get go2rtc proxy working
* Try to get go2rtc proxy working
* Remove unused callback
* Allow websocket on restrea dashboard
* Make mse default stream option
* Fix mse sizing
* don't assume roles is defined
* Remove nginx mapping to go2rtc ui
Co-authored-by: Felipe Santos <felipecassiors@gmail.com>
Co-authored-by: Blake Blackshear <blakeb@blakeshome.com>
* Add tabs to show snapshot or thumbnail as part of event details,
even if event has a clip available.
* Add ability for TextTab to render as disabled.
* Use default names so filters are more clear
* Add endpoint to get list of sub labels inside DB
* Fix crash on no internet
* Cleanups for sub_label http
* Add sub label selector to events UI
* Add event filtering for sub label
* Formatting files
* Reduce size of filters to fit on one line
* Add handler for tests
* Remove unused imports
* Only show the sub labels filter when there are sub labels in the DB
* Fix tests
* Use distinct instead of group_by
* Formatting
* Cleanup event logic