Compare commits

..
123 Commits
Author SHA1 Message Date
Blake Blackshear bfecee9650 add missing optional comment in docs 2022-02-18 21:18:26 -06:00
Blake Blackshear 395c16300d deregister based on max_frames setting 2022-02-18 21:18:26 -06:00
Blake Blackshear ff19cdb773 refactor stationary config into section 2022-02-18 21:18:26 -06:00
Nicolas MowenandBlake Blackshear 5627b66a6e Always show recording link even if recordings are currently disabled (#2787)
* Always show recording link even if recordings are currently disabled

* Fix test to consider all cameras to have recording link
2022-02-18 21:18:26 -06:00
Blake Blackshear ebdfbfe96c update birdseye to handle stationary objects 2022-02-18 21:18:26 -06:00
Blake Blackshear 1a009c7fd1 use second stream in docs example 2022-02-18 21:18:26 -06:00
Blake Blackshear c14f986fae stop forcing detection all the way to stationary_threshold 2022-02-18 21:18:26 -06:00
Blake Blackshear ee5b9986ad bump default stationary_threshold to 10s 2022-02-18 21:18:26 -06:00
Blake Blackshear 190f217b13 set stationary_threshold default to 5x fps 2022-02-18 21:18:26 -06:00
Blake Blackshear e78662b924 fix the bounding box calculation position at 10 2022-02-18 21:18:26 -06:00
Blake Blackshear 5a2e395352 selectively increment position changes 2022-02-18 21:18:26 -06:00
Jason HunterandBlake Blackshear 8de15af7b4 Fix duration for long events and playback rate for top of the hour 2022-02-18 21:18:26 -06:00
Jason HunterandBlake Blackshear 21178613de Only send significant update once when motionless count reaches the defined threshold. 2022-02-18 21:18:26 -06:00
Jason HunterandBlake Blackshear 340be7f86d Allow download of in progress clips 2022-02-18 21:18:26 -06:00
Blake Blackshear 0ff4acd59c remove invalid warning 2022-02-18 21:18:26 -06:00
Jason HunterandBlake Blackshear 28dd43f8ae Fix playback rate resetting to 1 on source change 2022-02-18 21:18:26 -06:00
Jason HunterandBlake Blackshear 56d24cbf6d Update package-lock.json 2022-02-18 21:18:26 -06:00
Jason HunterandBlake Blackshear e433bec17f Add in progress events to recordings view 2022-02-18 21:18:26 -06:00
Blake Blackshear 3189467a36 update an object once per minute 2022-02-18 21:18:26 -06:00
Blake Blackshear 63536d249f signal an update when object becomes stationary 2022-02-18 21:18:26 -06:00
Blake Blackshear 3e90f3032c make stationary_threshold configurable 2022-02-18 21:18:26 -06:00
Blake Blackshear 5cff849e59 publish an update on position changes 2022-02-18 21:18:26 -06:00
Blake Blackshear 06cc7527a9 only update db entry when a stored property changes 2022-02-18 21:18:26 -06:00
Blake Blackshear d78dc2388c increment motionless_count 2022-02-18 21:18:26 -06:00
Blake Blackshear 583912db9c allow motion based retention when detect is disabled 2022-02-18 21:18:26 -06:00
Blake Blackshear 5792cf042e fix resolution on reolink example 2022-02-18 21:18:26 -06:00
Blake Blackshear 4524dca3ed clarify addon versions 2022-02-18 21:18:26 -06:00
Blake Blackshear 304a569c7e remove outdated output args tip 2022-02-18 21:18:26 -06:00
Blake Blackshear 10c200dc24 clarify that zones are based on the bottom center 2022-02-18 21:18:26 -06:00
Blake Blackshear 0b8617d09f update addon urls 2022-02-18 21:18:26 -06:00
Blake Blackshear e7026dfd6e add example for ios camera live feed notification 2022-02-18 21:18:26 -06:00
Blake Blackshear b82d75b79e avoid rare divide by zero 2022-02-18 21:18:26 -06:00
Blake Blackshear ac30091258 note for future 2022-02-18 21:18:26 -06:00
Blake Blackshear de58bdcc9f improve warning for retain modes 2022-02-18 21:18:26 -06:00
Blake Blackshear 329e5f8f91 invert active_count logic 2022-02-18 21:18:26 -06:00
Blake Blackshear 4a16171f96 set has_clip to false when recordings fail 2022-02-18 21:18:26 -06:00
Blake Blackshear f0212c2aa4 adjust error messages on ffmpeg crash 2022-02-18 21:18:26 -06:00
Blake Blackshear 7401cf2399 add stacktrace to config validation errors 2022-02-18 21:18:26 -06:00
Blake Blackshear 493d16519a add new properties to the docs 2022-02-18 21:18:26 -06:00
Blake Blackshear a87675d3cc add additional info for non-H264 cameras 2022-02-18 21:18:26 -06:00
Blake Blackshear 0bef16bb17 upgrade npm in dev container 2022-02-18 21:18:26 -06:00
Blake Blackshear e0078f388e package updates for docs 2022-02-18 21:18:26 -06:00
Blake Blackshear cf6e66c453 allow dash in camera name 2022-02-18 21:18:26 -06:00
Blake Blackshear 34fa53afcc make motion the default retain mode 2022-02-18 21:18:26 -06:00
Blake Blackshear 663bf05fd7 update stationary interval docs 2022-02-18 21:18:26 -06:00
Blake Blackshear f512af2563 make expire interval configurable for users wanting to minimize i/o 2022-02-18 21:18:26 -06:00
Blake Blackshear 7e7d70aa5b avoid extra tracking work on stationary frames 2022-02-18 21:18:26 -06:00
Blake Blackshear dd1cf4d2ce use iou instead of centroid 2022-02-18 21:18:26 -06:00
Blake Blackshear e627f4e935 dont stop scanning when there are other regions 2022-02-18 21:18:26 -06:00
Blake Blackshear c6445898ce default periodic checks to never 2022-02-18 21:18:26 -06:00
Blake Blackshear f1ddd0e6f7 scan the frame on startup 2022-02-18 21:18:26 -06:00
Blake Blackshear db369a5b7f require a position change to be an active object 2022-02-18 21:18:26 -06:00
Blake Blackshear 87cd618998 randomize the region multiplier for variation 2022-02-18 21:18:26 -06:00
Blake Blackshear 338e4004d4 improve method for determining position
compares the centroid to a history of bounding boxes
2022-02-18 21:18:26 -06:00
Blake Blackshear 675f21e23a if recording not on disk, delete from db and return 2022-02-18 21:18:26 -06:00
Blake Blackshear 4d2d11193f cleanup clean snapshots on event deletion too 2022-02-18 21:18:26 -06:00
Blake Blackshear 69aaf1f8e6 require url safe camera names 2022-02-18 21:18:26 -06:00
Bernt Christian EgelandandBlake Blackshear a10970d7c9 Event Datepicker (#2428)
* new datepicker

* dev

* dev

* dev

* fix for version 0.10

* added rounded corners for date range

* lint

* Commented out some Select.test.

* improved date range selection

* improved functions with useCallback

* improved Select.test.jsx

* keyboard navigation

* keyboard navigation

* added dropdown menu icon

* Hide filters on xs, Button to show

* check if to far left before right

* Filter button text

* improved local timezone
2022-02-18 21:18:26 -06:00
6eecb6780e Run python unit tests in a github actions (#2589)
* tox tests initial commit

* run tests in the Dockerfile during the build phase

* remove local tests

Co-authored-by: YS <ys@gm.com>
2022-02-18 21:18:26 -06:00
80627e4989 safe refactoring (#2552)
Co-authored-by: YS <ys@gm.com>
2022-02-18 21:18:26 -06:00
TJ HornerandBlake Blackshear 9e987fdebc Change JPEG mime type (#2543) 2022-02-18 21:18:26 -06:00
Blake Blackshear e6292c719d disable disk sync on startup 2022-02-18 21:18:26 -06:00
Blake Blackshear 7c74bf2566 fix migrations 2022-02-18 21:18:26 -06:00
Blake Blackshear 2c91e7853c check for apex dir 2022-02-18 21:18:26 -06:00
Ryan McLeanandBlake Blackshear 1e7f196e5c #2117 change entered_zones from set to list so that they are not automatically alphabetically ordered (#2212) 2022-02-18 21:18:26 -06:00
Justin GoetteandBlake Blackshear f91f4f0053 Allow for ".yaml" (#2244)
* allow for ".yaml"

* remove unused import
2022-02-18 21:18:26 -06:00
Matt ClaytonandBlake Blackshear 8b2622a234 Add temperature of coral tpu to telemetry mqtt message 2022-02-18 21:18:26 -06:00
Blake Blackshear a2ddb12eb3 limit vod response cache 2022-02-18 21:18:26 -06:00
Blake Blackshear 985bd6d9bd update docs 2022-02-18 21:18:26 -06:00
Blake Blackshear ec3c15e4a7 expire overlapping segments based on mode 2022-02-18 21:18:26 -06:00
Blake Blackshear 188b202836 store objects and motion counts in the db 2022-02-18 21:18:26 -06:00
Blake Blackshear 01e607a14e warn when retention mismatch 2022-02-18 21:18:26 -06:00
Blake Blackshear 5b164b72dc refactor segment stats logic 2022-02-18 21:18:26 -06:00
Blake Blackshear dcf65febba switch to retain config instead of retain_days 2022-02-18 21:18:26 -06:00
Blake Blackshear 56a2d4e64d pass processed tracked objects 2022-02-18 21:18:26 -06:00
Blake Blackshear ef214fb80a retain frame data for recording maintenance 2022-02-18 21:18:26 -06:00
Blake Blackshear 93f418ac0b fix process_clip 2022-02-18 21:18:26 -06:00
Blake Blackshear 689af4ff87 sync recordings with disk once on startup 2022-02-18 21:18:26 -06:00
Blake Blackshear 4ab0927de8 no need to expire recordings every minute 2022-02-18 21:18:26 -06:00
Blake Blackshear 014e6fc909 ensure cache copies when events have ended 2022-02-18 21:18:26 -06:00
Blake Blackshear 6832575643 cleanup missing files from database once per hour 2022-02-18 21:18:26 -06:00
Blake Blackshear 07ad2d97b1 handle missing file edge case 2022-02-18 21:18:26 -06:00
Blake Blackshear 039f1a522e log error messages on vod endpoints 2022-02-18 21:18:26 -06:00
Blake Blackshear 24e2f84231 ensure duration > 0 for segments 2022-02-18 21:18:26 -06:00
Blake Blackshear e0c0033852 use snapshot url to support in progress events 2022-02-18 21:18:26 -06:00
Blake Blackshear c50e9d48bf ensure stationary interval is greater than 0 2022-02-18 21:18:26 -06:00
Blake Blackshear 173eaabddf add duration to cache 2022-02-18 21:18:26 -06:00
Blake Blackshear a748b70da1 avoid running ffprobe for each segment multiple times 2022-02-18 21:18:26 -06:00
Blake Blackshear 8eabe5dd41 warn if no wait time 2022-02-18 21:18:26 -06:00
Blake Blackshear 114415b5e1 keep 5 segments in cache 2022-02-18 21:18:26 -06:00
Blake Blackshear ba55b5a6db better cache handling 2022-02-18 21:18:26 -06:00
Blake Blackshear 7533f2a8ab avoid proactive messages with retain_days 0 and handle first pass 2022-02-18 21:18:26 -06:00
Blake Blackshear 543a8a1712 avoid divide by zero 2022-02-18 21:18:26 -06:00
Blake Blackshear 9b23ff597c revert switch to b/w frame prep 2022-02-18 21:18:26 -06:00
Blake Blackshear b2ce1edd5a fix default motion comment 2022-02-18 21:18:26 -06:00
Blake Blackshear a0235b7da4 more robust cache management 2022-02-18 21:18:26 -06:00
Blake Blackshear 87e2300855 set retain when setting switches from frontend 2022-02-18 21:18:26 -06:00
Blake Blackshear 34bc6a6457 error handling for the recording maintainer 2022-02-18 21:18:26 -06:00
Blake Blackshear 273076e7f4 don't modify ffmpeg_cmd object 2022-02-18 21:18:26 -06:00
Blake Blackshear b29b311e92 fix ffmpeg config for env vars 2022-02-18 21:18:26 -06:00
Blake Blackshear 5a9e82c4b0 create ffmpeg commands on startup 2022-02-18 21:18:26 -06:00
Blake Blackshear 6218791708 clarify shm in docs 2022-02-18 21:18:26 -06:00
Blake Blackshear 0e43f452d2 use resolution of clip 2022-02-18 21:18:26 -06:00
Blake Blackshear 0695bb097d revamp process clip 2022-02-18 21:18:26 -06:00
Blake Blackshear 294c79a271 no longer make motion settings dynamic 2022-02-18 21:18:26 -06:00
Blake Blackshear e351e132f5 remove min frame height of 180 and increase contour area 2022-02-18 21:18:26 -06:00
Blake Blackshear 258215a3ae consolidate regions 2022-02-18 21:18:26 -06:00
Blake Blackshear 08ddfc100f improve contrast 2022-02-18 21:18:26 -06:00
Blake Blackshear 8ab6cba521 check for overlapping motion boxes 2022-02-18 21:18:26 -06:00
Blake Blackshear eb16de7395 config option for stationary detection interval 2022-02-18 21:18:26 -06:00
Blake Blackshear dde0498ed3 drop high overlap detections 2022-02-18 21:18:26 -06:00
Blake Blackshear 75c8570913 reduce detection rate for stationary objects 2022-02-18 21:18:26 -06:00
Blake Blackshear e36099a342 improve box merging and keep tracking 2022-02-18 21:18:26 -06:00
Blake Blackshear 2f2329ba44 only save recordings when an event is in progress 2022-02-18 21:18:26 -06:00
Blake Blackshear 6c8b184d2c version tick 2022-02-18 21:18:26 -06:00
DataBitzandGitHub 32878bd016 Another missing slash (#2803)
2nd attempt to fix link to full configuration
2022-02-14 07:33:29 -06:00
DataBitzandGitHub 12d13988c4 Missing slash in url (#2797)
Missing slash in url to full-configuration-reference
2022-02-13 07:38:24 -06:00
atinsleyandGitHub 9e4d921488 Update advanced.md (#2794)
Add details about how to specify a custom database location in config.yml
2022-02-12 06:28:56 -06:00
Blake Blackshear edc1884c4e add warning to storage docs 2022-02-11 06:15:15 -06:00
Alex YaoandGitHub a2d1bd2c67 Document JPEG streams (#2586)
* Document JPEG streams

* Update camera_specific.md
2022-02-02 07:27:22 -06:00
Felipe SantosandGitHub bb68a2405b Improve audio conversion tip (#2140)
* Improve audio convert guide

* Mention faq in RTMP configuration

* Add example for audio conversion tip

* Change comma to period

* Explain why this is needed
2021-12-29 08:57:32 -06:00
MrNormandGitHub 42ac4172ff Add passthrough information for PCIe Coral TPU (#2200) 2021-12-12 09:31:52 -06:00
hcooperandBlake Blackshear 998921ae63 Update objects.mdx
Mention that `person` is the only tracked object by default. Minor reformat.
2021-12-01 07:33:16 -06:00
7 changed files with 68 additions and 4 deletions
+5
View File
@@ -43,6 +43,11 @@ If you are storing your database on a network share (SMB, NFS, etc), you may get
This may need to be in a custom location if network storage is used for the media folder.
```yaml
database:
path: /path/to/frigate.db
```
### `model`
If using a custom model, the width and height will need to be specified.
@@ -19,6 +19,34 @@ output_args:
rtmp: -c:v libx264 -an -f flv
```
### JPEG Stream Cameras
Cameras using a live changing jpeg image will need input parameters as below
```yaml
input_args:
- -r
- 5 # << enter FPS here
- -stream_loop
- -1
- -f
- image2
- -avoid_negative_ts
- make_zero
- -fflags
- nobuffer
- -flags
- low_delay
- -strict
- experimental
- -fflags
- +genpts+discardcorrupt
- -use_wallclock_as_timestamps
- 1
```
Outputting the stream will have the same args and caveats as per [MJPEG Cameras](#mjpeg-cameras)
### RTMP Cameras
The input parameters need to be adjusted for RTMP cameras
+5
View File
@@ -238,6 +238,11 @@ motion:
# NOTE: Can be overridden at the camera level
record:
# Optional: Enable recording (default: shown below)
# WARNING: Frigate does not currently support limiting recordings based
# on available disk space automatically. If using recordings,
# you must specify retention settings for a number of days that
# will fit within the available disk space of your drive or Frigate
# will crash.
enabled: False
# Optional: Number of minutes to wait between cleanup runs (default: shown below)
# This can be used to reduce the frequency of deleting recording segments from disk if you want to minimize i/o
+5 -1
View File
@@ -5,7 +5,11 @@ title: Objects
import labels from "../../../labelmap.txt";
By default, Frigate includes the following object models from the Google Coral test data. Note that `car` is listed twice because `truck` has been renamed to `car` by default. These object types are frequently confused.
Frigate includes the object models listed below from the Google Coral test data.
Please note:
- `car` is listed twice because `truck` has been renamed to `car` by default. These object types are frequently confused.
- `person` is the only tracked object by default. See the [full configuration reference](https://docs.frigate.video/configuration/index#full-configuration-reference) for an example of expanding the list of tracked objects.
<ul>
{labels.split("\n").map((label) => (
+1 -1
View File
@@ -5,4 +5,4 @@ title: RTMP
Frigate can re-stream your video feed as a RTMP feed for other applications such as Home Assistant to utilize it at `rtmp://<frigate_host>/live/<camera_name>`. Port 1935 must be open. This allows you to use a video feed for detection in frigate and Home Assistant live view at the same time without having to make two separate connections to the camera. The video feed is copied from the original video feed directly to avoid re-encoding. This feed does not include any annotation by Frigate.
Some video feeds are not compatible with RTMP. If you are experiencing issues, check to make sure your camera feed is h264 with AAC audio. If your camera doesn't support a compatible format for RTMP, you can use the ffmpeg args to re-encode it on the fly at the expense of increased CPU utilization.
Some video feeds are not compatible with RTMP. If you are experiencing issues, check to make sure your camera feed is h264 with AAC audio. If your camera doesn't support a compatible format for RTMP, you can use the ffmpeg args to re-encode it on the fly at the expense of increased CPU utilization. Some more information about it can be found [here](../faqs#audio-in-recordings).
+17 -2
View File
@@ -11,9 +11,24 @@ This error message is due to a shm-size that is too small. Try updating your shm
A solid green image means that frigate has not received any frames from ffmpeg. Check the logs to see why ffmpeg is exiting and adjust your ffmpeg args accordingly.
### How can I get sound or audio in my recordings?
### How can I get sound or audio in my recordings? {#audio-in-recordings}
By default, Frigate removes audio from recordings to reduce the likelihood of failing for invalid data. If you would like to include audio, you need to override the output args to remove `-an` for where you want to include audio. The recommended audio codec is `aac`. Not all audio codecs are supported by RTMP, so you may need to re-encode your audio with `-c:a aac`. The default ffmpeg args are shown [here](configuration/index#full-configuration-reference).
By default, Frigate removes audio from recordings to reduce the likelihood of failing for invalid data. If you would like to include audio, you need to override the output args to remove `-an` for where you want to include audio. The recommended audio codec is `aac`. Not all audio codecs are supported by RTMP, so you may need to re-encode your audio with `-c:a aac`. The default ffmpeg args are shown [here](/configuration/index/#full-configuration-reference).
:::tip
When using `-c:a aac`, do not forget to replace `-c copy` with `-c:v copy`. Example:
```diff title="frigate.yml"
ffmpeg:
output_args:
- record: -f segment -segment_time 10 -segment_format mp4 -reset_timestamps 1 -strftime 1 -c copy -an
+ record: -f segment -segment_time 10 -segment_format mp4 -reset_timestamps 1 -strftime 1 -c:v copy -c:a aac
```
This is needed because the `-c` flag (without `:a` or `:v`) applies for both audio and video, thus making it conflicting with `-c:a aac`.
:::
### My mjpeg stream or snapshots look green and crazy
+7
View File
@@ -21,6 +21,12 @@ Windows is not officially supported, but some users have had success getting it
Frigate uses the following locations for read/write operations in the container. Docker volume mappings can be used to map these to any location on your host machine.
:::caution
Note that Frigate does not currently support limiting recordings based on available disk space automatically. If using recordings, you must specify retention settings for a number of days that will fit within the available disk space of your drive or Frigate will crash.
:::
- `/media/frigate/clips`: Used for snapshot storage. In the future, it will likely be renamed from `clips` to `snapshots`. The file structure here cannot be modified and isn't intended to be browsed or managed manually.
- `/media/frigate/recordings`: Internal system storage for recording segments. The file structure here cannot be modified and isn't intended to be browsed or managed manually.
- `/media/frigate/frigate.db`: Default location for the sqlite database. You will also see several files alongside this file while frigate is running. If moving the database location (often needed when using a network drive at `/media/frigate`), it is recommended to mount a volume with docker at `/db` and change the storage location of the database to `/db/frigate.db` in the config file.
@@ -118,6 +124,7 @@ services:
shm_size: "64mb" # update for your cameras based on calculation above
devices:
- /dev/bus/usb:/dev/bus/usb # passes the USB Coral, needs to be modified for other versions
- /dev/apex_0:/dev/apex_0 # passes a PCIe Coral, follow driver instructions here https://coral.ai/docs/m2/get-started/#2a-on-linux
- /dev/dri/renderD128 # for intel hwaccel, needs to be updated for your hardware
volumes:
- /etc/localtime:/etc/localtime:ro