Commit Graph
100 Commits
Author SHA1 Message Date
Nicolas MowenandGitHub fdd2cc972e Update record.md (#4964) 2023-01-08 14:28:48 -06:00
Nicolas MowenandGitHub 61243ad34b Make error messages for gpu stats more clear (#4962)
* Make error messages for gpu stats more clear

* Make error messages for gpu stats more clear
2023-01-08 14:00:46 -06:00
Nicolas MowenandGitHub 5f4c439f57 Fix btbn pulling wrong build (#4961) 2023-01-08 09:23:58 -06:00
Nicolas MowenandGitHub 57dce4ec38 Make label colors consistent (#4951) 2023-01-07 12:05:11 -06:00
Nicolas MowenandGitHub 543cad5497 Only set colors for enabled objects (#4936)
* Only create colormap for enabled labels

* Fix assigning
2023-01-06 19:31:54 -06:00
Nicolas MowenandGitHub d9c45a76fe Don't recheck erroring hwaccel in http either (#4935)
* Don't recheck erroring hwaccel in http either

* Send error instead of empty for known erroring hwaccel

* Formatting
2023-01-06 19:31:25 -06:00
740d932848 Add ffmpeg presets docs and update nvidia-smi docs (#4928)
* Add tables for ffmpeg presets and how to use them

* Make it clear that ffmepg processes may not show when nvidia-smi is run inside the container

* Add specific example of mixed input arg presets

* Update docs/docs/configuration/ffmpeg_presets.md

Co-authored-by: Nate Meyer <Nate.Devel@gmail.com>

* typos

Co-authored-by: Nate Meyer <Nate.Devel@gmail.com>
Co-authored-by: Blake Blackshear <blakeb@blakeshome.com>
2023-01-06 07:01:53 -06:00
Nicolas MowenandGitHub 9ee367d9e9 Fix Other Stats Access Too (#4917) 2023-01-06 06:51:58 -06:00
Nicolas MowenandGitHub 64ab6580dc Send blank hwaccel-error cache so logs will show when loading the stats page manually (#4912) 2023-01-05 06:27:57 -06:00
Nicolas MowenandGitHub 0a3295aa5c Rewrite encoding logic and cleanup vaapi presets (#4898)
* Remove duplicated vaapi presets

* Move encoding to string with inputs and outputs

* Formatting

* Fix formatting

* Fix typo

* Remove vaapi encoder
2023-01-04 18:16:11 -06:00
Nicolas MowenandGitHub ffa98a138b Don't keep attempting gpu usage stats after failure (#4904)
* Don't log intel gpu top errors

* Keep list of errored hwaccel and don't send again

* Can log on first time

* Formatting & mypy
2023-01-04 18:12:51 -06:00
Nicolas MowenandGitHub 5e71d95cb1 Docs updates (#4903)
* Make note that Firefox does not work with MSE

* Add restream recommendation for mjpeg
2023-01-04 18:11:50 -06:00
Nicolas MowenandGitHub ebef38e408 Fix href for cameras direct link (#4875) 2023-01-03 19:32:56 -06:00
Nicolas MowenandGitHub 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 MowenandGitHub d547680116 Only replace topic (#4884) 2023-01-03 19:25:15 -06:00
Nicolas MowenandGitHub bc5aa1141a Set host as blank by default (#4880) 2023-01-03 19:24:53 -06:00
Nicolas MowenandGitHub ea7d1aabba Ability to set different codec for restream and use go2rtc hardware (#4876)
* Add video codec to restream config

* Add handling of encode engine and video codec

* Add test for video encoding

* Set in main configuration docs as well

* Add example to restream docs

* Put back patch
2023-01-03 19:24:34 -06:00
Nicolas MowenandGitHub 760d65b214 Don't fail to load when cameras stats are not available (#4877) 2023-01-03 19:23:56 -06:00
Nicolas MowenandGitHub ceab294840 Catch case where args are a string but not preset (#4864)
* Catch case where args are a string but not preset

* Fix formatting
2023-01-02 18:32:12 -06:00
Nicolas MowenandGitHub abc40f2581 only return stderr if return code is not 0 (#4863) 2023-01-02 17:31:59 -06:00
Nicolas MowenandGitHub 53d39a1373 Fix schema url (#4855) 2023-01-02 07:47:37 -06:00
Nicolas MowenandGitHub cee52e9cfd Remove vaapi interlace which caused fps to be higher than specified (#4843) 2023-01-01 13:41:27 -06:00
9c6193b9b5 Update recommended hardware page to reflect multiple detectors (#4746)
* Update recommended hardware page to reflect multiple detectors are supproted

* Shift numbers around slightly

* Update with specific range

* Update with new observed range

* Add i5 example

Co-authored-by: Nate Meyer <Nate.Devel@gmail.com>

* Should support arm32 as well

Co-authored-by: Nate Meyer <Nate.Devel@gmail.com>

* Add more detail to supported platforms

* Fix typo

* Format table

* Fix table header

* Add info about tensorrt detectors and link to docs

* Add info about tensorrt detectors and link to docs

Co-authored-by: Nate Meyer <Nate.Devel@gmail.com>
2022-12-31 10:58:18 -06:00
Nicolas MowenandGitHub 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 MowenandGitHub da1b7c2e28 Fix handling of timezones (#4831) 2022-12-30 17:51:13 -06:00
Nicolas MowenandGitHub 59b52f3879 Update max operations for stalebot (#4828) 2022-12-30 16:31:01 -06:00
Nicolas MowenandGitHub d6731b17a4 Add hardware accelerated scaling when using ffmpeg hwaccel presets (#4804)
* Use hardware accelerated scaling when hwaccel preset is set

* Set output types

* Add tests for scale, fix bugs

* Need to copy specific scale too
2022-12-30 10:56:52 -06:00
Nicolas MowenandGitHub e3ec292528 Fix config missing (#4825) 2022-12-30 09:52:10 -06:00
Nicolas MowenandGitHub be2408b366 Update Reolink docs (#4757)
* Update reolink docs

* Remove outdated reolink settings page

* Update camera_specific.md
2022-12-29 10:37:56 -06:00
Nicolas MowenandGitHub 6e519e0071 Fix error when saving the config unsuccessfully (#4780) 2022-12-29 10:37:04 -06:00
Nicolas MowenandGitHub f3e0ced1cd Frontend Player Fixes (#4778)
* Fix Firefox WebRTC support

* Set max size for birdseye
2022-12-29 10:36:13 -06:00
Nicolas MowenandGitHub 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 MowenandGitHub 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
Nicolas MowenandGitHub 49f70b9563 Update hardware_acceleration.md (#4726) 2022-12-17 17:54:02 -06:00
Nicolas MowenandGitHub 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 MowenandGitHub 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 MowenandGitHub b1ec56de29 Add multiselect filtering to events view (#3367) 2022-12-12 06:30:34 -06:00
Nicolas MowenandGitHub 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
Nicolas MowenandGitHub 037f3761e7 Use UTC for recordings (#4656)
* Write files in UTC and update folder structure to not conflict

* Add timezone arg for events summary

* Fixes for timezone in calls

* Use timezone for recording and recordings summary endpoints

* Fix sqlite parsing

* Fix sqlite parsing

* Fix recordings summary with timezone

* Fix

* Formatting

* Add pytz

* Fix default timezone

* Add note about times being displayed in localtime

* Improve timezone wording and show actual timezone

* Add alternate endpoint to cover existing usecase to avoid breaking change

* Formatting
2022-12-11 07:45:32 -06:00
Nicolas MowenandGitHub 739a267462 Don't catch presets (#4653) 2022-12-09 08:35:28 -06:00
Nicolas MowenandGitHub cd9f6b074e Restart record process if segments stop being written. (#4604)
* Catch when recording segments are not being written to cache and restart ffmpeg responsible for record

* Ensure this check is only run for role with record

* Fix formatting

* Redo recordings validator to watch segments time and restart if no segment for 30 seconds

* Formatting

* Increase wait time to 120 seconds and improve error message

* Add more config checks for record args and add test

* Formatting

* Specify output args.
2022-12-08 20:03:54 -07:00
964bcc0733 Logs in UI (#4562)
* Log all services to RAM

* Gracefully handle shutdown

* Add logs route

* Remove tail

* Return logs for services

* Display log chooser with copy button

* show logs for specific services

* Clean up settings logs

* Add copy functionality to logs

* Add copy functionality to logs

* Fix merge

* Set archive count to 0

Co-authored-by: Felipe Santos <felipecassiors@gmail.com>
2022-12-08 20:15:00 -06:00
Nicolas MowenandGitHub 4f79ca1bf0 Fix ffprobe with special characters (#4646)
* Clean path from scpecial characters before running ffprobe

* Fix camera paths
2022-12-08 19:02:11 -06:00
Nicolas MowenandGitHub bc52fc1e79 Fix end events for mqtt (#4647) 2022-12-08 19:00:44 -06:00
Nicolas MowenandGitHub fee3418e60 Update advanced.md (#4634) 2022-12-08 06:47:27 -06:00
Nicolas MowenandGitHub 6abc0ce921 Cleanup names in webUI (#4607)
* Fix _ in labels

* Capitalize camera names in system

* Update storage to link to cameras and share name styling with rest of ui
2022-12-07 07:37:45 -06:00
Nicolas MowenandGitHub 7888059c9f Add config editor to webUI (#4608)
* Add raw config endpoint

* Add config editor

* Add code editor

* Add error

* Add ability to copy config

* Only show the save button when code has been edited

* Update errors

* Remove debug config from system page

* Break out config saving steps to pinpoint where error occurred.

* Show correct config errors

* Switch to monaco editor

* Adjust UI colors and behavior

* Get yaml validation working

* Set success color
2022-12-07 07:36:56 -06:00
Nicolas MowenandGitHub 97161310a5 Update go2rtc version (#4616) 2022-12-07 07:35:41 -06:00
Nicolas MowenandGitHub 2651bc18cd Set max height so vainfo doesn't overflow (#4598) 2022-12-06 22:13:48 -06:00
Nicolas MowenandGitHub 007fa75294 Fix intel gpu stats (#4581)
* Fix return code for timeout call

* Rewrit intel gpu logic

* Fix test and output
2022-12-03 10:28:01 -06:00
Nicolas MowenandGitHub 5ad391977e FEAT: Storage API & Frontend (#3409)
* 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
2022-11-29 19:59:56 -06:00
Nicolas MowenandGitHub 25a7c4ee81 Fix gpu stats for ffmpeg presets (#4554) 2022-11-29 19:56:01 -06:00
Nicolas MowenandGitHub 87144cd572 FEAT: Support for ffmpeg presets (#3840)
* Add hwaccel presets

* Use hwaccel presets

* Add input arg presets

* Use input arg presets

* Make util to clean up redundant code

* Add support for output arg presets

* Add tests

* Update camera specific to use presets

* Update hwaccel to use presets

* Format files and fix tests

* Rewrite tests to test record correctly

* Move presets from string to list to avoid manually separating into a list

* Add mjpeg cuvid decoder preset

* Fix tests

* Fix comment
2022-11-28 21:48:11 -06:00
Nicolas MowenandGitHub 69560c8bde Replace green screen with error message and force camera_fps to 0 (#4544)
* Move to images specific folder

* Send error image when camera stream is not available

* Immediately set camera_fps to 0 if camera crashes

* Cache error image so it is not read from file system on each run

* Move camera fps set
2022-11-28 21:47:20 -06:00
Nicolas MowenandGitHub aaedd24f37 Add GPU stats to the /stats API and debug screen (#3931)
* 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
2022-11-28 19:24:20 -06:00
Nicolas MowenandGitHub 3cb6d43fac Fix recordings set name (#4543) 2022-11-28 18:58:41 -06:00
Nicolas MowenandGitHub 68248cc274 Clean http password, clean path in debug config as well (#4519)
* Clean ffmpeg paths

* Clean http passwords too

* Make check optional
2022-11-26 19:18:33 -06:00
Nicolas MowenandGitHub 91982c4f7e Remove topic prefix (#4515) 2022-11-25 20:10:09 -06:00
Nicolas MowenandGitHub 4e5512e35d Fix stats prefix (#4505) 2022-11-24 20:12:43 -06:00
Nicolas MowenandGitHub 6c0978498d Abstract MQTT from communication and make mqtt optional (#4462)
* 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
2022-11-23 20:03:20 -06:00
Nicolas MowenandGitHub ebdf36e0b9 Refactor mqtt to handle reconnects and not cause frigate to stop. (#4440)
* Refactor mqtt client

* Protect callback method

* Use async to handle reconnects

* Set types and clenup

* Don't set connected until rc code is checked
2022-11-20 07:36:01 -06:00
Nicolas MowenandGitHub a46c37018f Using testing repo for hwaccel dependencies (#4368) 2022-11-19 07:21:43 -06:00
Nicolas MowenandGitHub a04fa105ef Fix internal restream error and add docs for reducing camera connections (#4431)
* Start restream before detection

* Add docs explaining how to reduce connections to the camera

* Fix typos for consistency

* Add link to other part of doc for readability
2022-11-19 07:15:20 -06:00
Nicolas MowenandGitHub ad3f6fc551 Fix mixed params (#4432) 2022-11-19 07:14:54 -06:00
Nicolas MowenandGitHub 53045de1c2 Update hardware_acceleration.md (#4436) 2022-11-19 07:14:22 -06:00
Nicolas MowenandGitHub 4eb3e98076 Update go2rtc, simplify manual stream, and support audio for MSE & WebRTC (#4391)
* Update go2rtc to rc3

* Simplify ffmpeg / audio conversions

* Set ffmpeg bin location

* Manually set video as copied

* Run go2rtc with env vars

* Remove manual ffmpeg declaration

* Enable force_audio by default

* Fix test
2022-11-16 06:29:47 -06:00
Nicolas MowenandGitHub a1b21a87a1 Catch case where recording is not enabled (#4069)
* Catch case where recording is not enabled

* Add test for Record to catch this

* Add test for Record to catch this
2022-11-13 12:50:25 -06:00
Nicolas MowenandGitHub e718d09c79 Fix new lines for instructions (#4371)
* Fix new lines for instructions

* Use correct formatting for list

* Fix formatting
2022-11-13 12:49:08 -06:00
Nicolas MowenandGitHub c97aac6c94 Revamped debug UI and add camera / process info, ffprobe copying (#4349)
* 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
2022-11-13 12:48:14 -06:00
Nicolas MowenandGitHub 42bc372d6e Update mask editor to have instructions (#4324) 2022-11-10 06:31:19 -06:00
Nicolas MowenandGitHub 47c1985c26 Go2rtc update and MSE improvements (#4309)
* Update go2rtc to rc2

* Update MSE player

* Update mse player

* Update mse player

* Close stream when pausing
2022-11-08 19:48:36 -06:00
Nicolas MowenandGitHub 9e31873520 More config checks (#4310)
* Move existing checks to own functions

* Add config check for zone objects that are not tracked

* Add tests for config error

* Formatting

* Catch case where field is defined multiple times and add test

* Add warning for rtmp
2022-11-08 19:47:45 -06:00
Nicolas MowenandGitHub 02caeb9f87 Update go2rtc to rc1 (#4252) 2022-11-05 09:13:03 -05:00
Nicolas MowenandGitHub 1bc9efd529 Support special characters in passwords, redacted logs & debug config (#4057)
* Consts for regex

* Add regex for camera username and password

* Redact user:pass from ffmpeg logs

* Redact ffmpeg commands

* Move common function to util

* Add tests

* Formatting

* Remove unused imports

* Fix test

* Add port to test

* Support special characters in passwords

* Add tests for special character handling

* Remove docs about not supporting special characters
2022-11-02 07:00:54 -05:00
Nicolas MowenandGitHub 2a36a1b980 Catch case where segment is bad length (#4228)
* Catch case where segment is bad length

* Log ffprobe error code and error
2022-11-02 06:37:27 -05:00
d8123d2497 Add go2rtc and add restream role / live source (#4082)
* 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>
2022-11-02 06:36:09 -05:00
Nicolas MowenandGitHub b4d4adb75b Limit recording retention to available storage (#3942)
* Add field and migration for segment size

* Store the segment size in db

* Add comment

* Add default

* Fix size parsing

* Include segment size in recordings endpoint

* Start adding storage maintainer

* Add storage maintainer and calculate average sizes

* Update comment

* Store segment and hour avg sizes per camera

* Formatting

* Keep track of total segment and hour averages

* Remove unused files

* Cleanup 2 hours of recordings at a time

* Formatting

* Fix bug

* Round segment size

* Cleanup some comments

* Handle case where segments are not deleted on initial run or is only retained segments

* Improve cleanup log

* Formatting

* Fix typo and improve logging

* Catch case where no recordings exist for camera

* Specifically define sort

* Handle edge case for cameras that only record part time

* Increase definition of part time recorder

* Remove warning about not supported storage based retention

* Add note about storage based retention to recording docs

* Add tests for storage maintenance calculation and cleanup

* Format tests

* Don't run for a camera with no recording segments

* Get size of file from cache

* Rework camera stats to be more efficient

* Remove total and other inefficencies

* Rewrite storage cleanup logic to be much more efficient

* Fix existing tests

* Fix bugs from tests

* Add another test

* Improve logging

* Formatting

* Set back correct loop time

* Update name

* Update comment

* Only include segments that have a nonzero size

* Catch case where camera has 0 nonzero segment durations

* Add test to cover zero bandwidth migration case

* Fix test

* Incorrect boolean logic

* Formatting

* Explicity re-define iterator
2022-10-09 06:28:26 -05:00
Nicolas MowenandGitHub 8dd367efa9 Link to env var option (#4032) 2022-10-07 21:13:47 -05:00
Nicolas MowenandGitHub 66dc8c772b Remove snapshot requirement for thumbnail event query (#4039) 2022-10-07 21:13:15 -05:00
Nicolas MowenandGitHub 65c211bb6d Catch ffprobe empty stdout (#4016) 2022-10-04 19:56:04 -05:00
Nicolas MowenandGitHub 60ad38261b Fix sub label access (#4015)
* Fix access

* Formatting
2022-10-04 18:49:37 -05:00
Nicolas MowenandGitHub f0e836e5b6 Update MQTT along with enabling motion detection (#3898) 2022-10-01 09:01:43 -05:00
Nicolas MowenandGitHub a1ae5b67d8 Mqtt sub labels (#3899)
* Set sub label on object data if event is in progress

* Include sub_label in dict

* Don't need to set and passively get

* Formatting

* Don't expect event to be valid

* Update docs to reflect that sub label is included
2022-10-01 09:00:56 -05:00
Nicolas MowenandGitHub 53f7190d42 Set a timeout on github release check (#3969)
* Set a timeout on github release check

* Formatting
2022-10-01 08:58:23 -05:00
Nicolas MowenandGitHub df40b96b44 BUG: Fixes and cleanup around region / bounding box calculation (#3879)
* -1 so ensure indexes are correct

* Catch case of zero division

* Due to the -1, it may be negative

* Ignore source of error

The error is occurring due to a detections bounding box starting beyond the frame, this should be immediately ignored

* Formatting

* Check horizontal placement as well

* Remove original frame clamping
2022-09-22 08:07:16 -05:00
Nicolas MowenandGitHub be7b858cbd Remove JELLYFIN from intel driver name hwaccel docs (#3855) 2022-09-16 10:47:22 -06:00
Nicolas MowenandGitHub bdfe4a961a Add documentation for custom ffmpeg builds (#3771)
* Add instructions for custom ffmpeg build

* Add note about mapping /bin
2022-09-15 06:34:07 -05:00
Nick MowenandBlake Blackshear 1bc8d94312 Fix edge of frame after region adjustments 2022-09-15 06:33:32 -05:00
Nick MowenandBlake Blackshear 7e9f913ff6 Fix edge case where browser sends multiple requests to download file. 2022-09-15 06:32:54 -05:00
Nicolas MowenandGitHub 699bd3748a Add note about special characters in passwords (#3719) 2022-09-06 20:51:49 -05:00
Nicolas MowenandGitHub 2ca59f0abe Fix stalebot (#3731)
* Reconfigure stalebot with new stale action

* remove old stalebot configuration
2022-09-06 20:51:29 -05:00
Nicolas Mowen 64b1b8e15c Add support request template for edgetpu and hwaccel 2022-08-28 16:58:43 -06:00
Nick MowenandBlake Blackshear b6f799e641 Add camera specific for unify protect cameras 2022-08-28 11:14:01 -05:00
Nicolas MowenandGitHub 656e6a2a89 Events setup docs (#3164)
* Add events setup to guides

* Add to sidebar

* Fix relative docs references
2022-08-25 07:34:39 -05:00
Nicolas MowenandGitHub 0d6dd1ed0f Cleanup names of cameras, zones, & labels in the UI (#3708)
* Cleanup names of cameras, zones, & labels in the UI

* Fix tests to include camera name
2022-08-25 06:44:34 -05:00
Nicolas MowenandGitHub 911d6fdfa7 Ensure bounding box is within camera frame (#3702)
* Ensure bounding box is within camera frame

* Account for 0 index
2022-08-24 07:39:47 -05:00
Nick MowenandBlake Blackshear 05d5f13f0e Remove outdated section on events 2022-08-24 06:52:18 -05:00
Nick MowenandBlake Blackshear e649a1eb98 Use btbn build for ffmpeg since jellyfin has compatibility issues with rtsp-simple-server 2022-08-24 06:43:42 -05:00
Nick MowenandBlake Blackshear 6e2e297aeb Add clean copy to configuration docs 2022-08-13 06:47:58 -05:00
Nicolas MowenandGitHub 2d5d3bdaf4 Wait for recordingSummary and recordings to be valid before playing (#3558)
* Wait for recordingSummary and recordings to be valid before playing

* Wait for recordingSummary and recordings to be valid before playing
2022-08-13 06:46:08 -05:00