Skip to content

Commit 10162a6

Browse files
committed
Merge branch 'dev' of github.com:blakeblackshear/frigate into testing
2 parents 833a260 + da2636d commit 10162a6

File tree

148 files changed

+5001
-4659
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

148 files changed

+5001
-4659
lines changed

docker/main/rootfs/etc/s6-overlay/s6-rc.d/frigate/run

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,11 @@
44

55
set -o errexit -o nounset -o pipefail
66

7+
# opt out of openvino telemetry
8+
if [ -e /usr/local/bin/opt_in_out ]; then
9+
/usr/local/bin/opt_in_out --opt_out
10+
fi
11+
712
# Logs should be sent to stdout so that s6 can collect them
813

914
# Tell S6-Overlay not to restart this service

docker/main/rootfs/usr/local/go2rtc/create_config.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@
5353

5454
# Need to set default location for HA config
5555
if go2rtc_config.get("hass") is None:
56-
go2rtc_config["hass"] = {"config": "/config"}
56+
go2rtc_config["hass"] = {"config": "/homeassistant"}
5757

5858
# we want to ensure that logs are easy to read
5959
if go2rtc_config.get("log") is None:

docs/docs/configuration/camera_specific.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,17 @@ Many cameras support encoding options which greatly affect the live view experie
1515

1616
:::
1717

18+
## H.265 Cameras via Safari
19+
20+
Some cameras support h265 with different formats, but Safari only supports the annexb format. When using h265 camera streams for recording with devices that use the Safari browser, the `apple_compatibility` option should be used.
21+
22+
```yaml
23+
cameras:
24+
h265_cam: # <------ Doesn't matter what the camera is called
25+
ffmpeg:
26+
apple_compatibility: true # <- Adds compatibility with MacOS and iPhone
27+
```
28+
1829
## MJPEG Cameras
1930
2031
Note that mjpeg cameras require encoding the video into h264 for recording, and restream roles. This will use significantly more CPU than if the cameras supported h264 feeds directly. It is recommended to use the restream role to create an h264 restream and then use that as the source for ffmpeg.

docs/docs/configuration/face_recognition.md

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ id: face_recognition
33
title: Face Recognition
44
---
55

6-
Face recognition identifies known individuals by matching detected faces with previously learned facial data. When a known person is recognized, their name will be added as a `sub_label`. This information is included in the UI, filters, as well as in notifications.
6+
Face recognition identifies known individuals by matching detected faces with previously learned facial data. When a known `person` is recognized, their name will be added as a `sub_label`. This information is included in the UI, filters, as well as in notifications.
77

88
## Model Requirements
99

@@ -13,6 +13,12 @@ When running a Frigate+ model (or any custom model that natively detects faces)
1313

1414
When running a default COCO model or another model that does not include `face` as a detectable label, face detection will run via CV2 using a lightweight DNN model that runs on the CPU. In this case, you should _not_ define `face` in your list of objects to track.
1515

16+
:::note
17+
18+
Frigate needs to first detect a `person` before it can detect and recognize a face.
19+
20+
:::
21+
1622
### Face Recognition
1723

1824
Frigate has support for two face recognition model types:
@@ -22,11 +28,13 @@ Frigate has support for two face recognition model types:
2228

2329
In both cases, a lightweight face landmark detection model is also used to align faces before running recognition.
2430

31+
All of these features run locally on your system.
32+
2533
## Minimum System Requirements
2634

2735
The `small` model is optimized for efficiency and runs on the CPU, most CPUs should run the model efficiently.
2836

29-
The `large` model is optimized for accuracy, an integrated or discrete GPU is highly recommended.
37+
The `large` model is optimized for accuracy, an integrated or discrete GPU is highly recommended. See the [Hardware Accelerated Enrichments](/configuration/hardware_acceleration_enrichments.md) documentation.
3038

3139
## Configuration
3240

@@ -62,6 +70,13 @@ Fine-tune face recognition with these optional parameters:
6270
- `blur_confidence_filter`: Enables a filter that calculates how blurry the face is and adjusts the confidence based on this.
6371
- Default: `True`.
6472

73+
## Usage
74+
75+
1. **Enable face recognition** in your configuration file and restart Frigate.
76+
2. **Upload your face** using the **Add Face** button's wizard in the Face Library section of the Frigate UI.
77+
3. When Frigate detects and attempts to recognize a face, it will appear in the **Train** tab of the Face Library, along with its associated recognition confidence.
78+
4. From the **Train** tab, you can **assign the face** to a new or existing person to improve recognition accuracy for the future.
79+
6580
## Creating a Robust Training Set
6681

6782
The number of images needed for a sufficient training set for face recognition varies depending on several factors:
@@ -133,6 +148,7 @@ No, using another face recognition service will interfere with Frigate's built i
133148
### Does face recognition run on the recording stream?
134149

135150
Face recognition does not run on the recording stream, this would be suboptimal for many reasons:
151+
136152
1. The latency of accessing the recordings means the notifications would not include the names of recognized people because recognition would not complete until after.
137153
2. The embedding models used run on a set image size, so larger images will be scaled down to match this anyway.
138154
3. Motion clarity is much more important than extra pixels, over-compression and motion blur are much more detrimental to results than resolution.

docs/docs/configuration/ffmpeg_presets.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ Some presets of FFmpeg args are provided by default to make the configuration ea
99

1010
It is highly recommended to use hwaccel presets in the config. These presets not only replace the longer args, but they also give Frigate hints of what hardware is available and allows Frigate to make other optimizations using the GPU such as when encoding the birdseye restream or when scaling a stream that has a size different than the native stream size.
1111

12-
See [the hwaccel docs](/configuration/hardware_acceleration.md) for more info on how to setup hwaccel for your GPU / iGPU.
12+
See [the hwaccel docs](/configuration/hardware_acceleration_video.md) for more info on how to setup hwaccel for your GPU / iGPU.
1313

1414
| Preset | Usage | Other Notes |
1515
| --------------------- | ------------------------------ | ----------------------------------------------------- |
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
---
2+
id: hardware_acceleration_enrichments
3+
title: Enrichments
4+
---
5+
6+
# Enrichments
7+
8+
Some of Frigate's enrichments can use a discrete GPU for accelerated processing.
9+
10+
## Requirements
11+
12+
Object detection and enrichments (like Semantic Search, Face Recognition, and License Plate Recognition) are independent features. To use a GPU for object detection, see the [Object Detectors](/configuration/object_detectors.md) documentation. If you want to use your GPU for any supported enrichments, you must choose the appropriate Frigate Docker image for your GPU and configure the enrichment according to its specific documentation.
13+
14+
- **AMD**
15+
16+
- ROCm will automatically be detected and used for enrichments in the `-rocm` Frigate image.
17+
18+
- **Intel**
19+
20+
- OpenVINO will automatically be detected and used for enrichments in the default Frigate image.
21+
22+
- **Nvidia**
23+
- Nvidia GPUs will automatically be detected and used for enrichments in the `-tensorrt` Frigate image.
24+
- Jetson devices will automatically be detected and used for enrichments in the `-tensorrt-jp6` Frigate image.
25+
26+
Utilizing a GPU for enrichments does not require you to use the same GPU for object detection. For example, you can run the `tensorrt` Docker image for enrichments and still use other dedicated hardware for object detection.
27+
28+
:::note
29+
30+
A Google Coral is a TPU (Tensor Processing Unit), not a dedicated GPU (Graphics Processing Unit) and therefore does not provide any kind of acceleration for Frigate's enrichments.
31+
32+
:::

docs/docs/configuration/hardware_acceleration.md renamed to docs/docs/configuration/hardware_acceleration_video.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
---
2-
id: hardware_acceleration
3-
title: Hardware Acceleration
2+
id: hardware_acceleration_video
3+
title: Video Decoding
44
---
55

6-
# Hardware Acceleration
6+
# Video Decoding
77

8-
It is highly recommended to use a GPU for hardware acceleration in Frigate. Some types of hardware acceleration are detected and used automatically, but you may need to update your configuration to enable hardware accelerated decoding in ffmpeg.
8+
It is highly recommended to use a GPU for hardware acceleration video decoding in Frigate. Some types of hardware acceleration are detected and used automatically, but you may need to update your configuration to enable hardware accelerated decoding in ffmpeg.
99

1010
Depending on your system, these parameters may not be compatible. More information on hardware accelerated decoding for ffmpeg can be found here: https://trac.ffmpeg.org/wiki/HWAccelIntro
1111

12-
# Officially Supported
12+
# Object Detection
1313

1414
## Raspberry Pi 3/4
1515

@@ -69,12 +69,12 @@ Or map in all the `/dev/video*` devices.
6969

7070
**Recommended hwaccel Preset**
7171

72-
| CPU Generation | Intel Driver | Recommended Preset | Notes |
73-
| -------------- | ------------ | ------------------ | ----------------------------------- |
74-
| gen1 - gen7 | i965 | preset-vaapi | qsv is not supported |
75-
| gen8 - gen12 | iHD | preset-vaapi | preset-intel-qsv-* can also be used |
76-
| gen13+ | iHD / Xe | preset-intel-qsv-* | |
77-
| Intel Arc GPU | iHD / Xe | preset-intel-qsv-* | |
72+
| CPU Generation | Intel Driver | Recommended Preset | Notes |
73+
| -------------- | ------------ | ------------------- | ------------------------------------ |
74+
| gen1 - gen7 | i965 | preset-vaapi | qsv is not supported |
75+
| gen8 - gen12 | iHD | preset-vaapi | preset-intel-qsv-\* can also be used |
76+
| gen13+ | iHD / Xe | preset-intel-qsv-\* | |
77+
| Intel Arc GPU | iHD / Xe | preset-intel-qsv-\* | |
7878

7979
:::
8080

0 commit comments

Comments
 (0)