mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-02-05 18:55:23 +03:00
Update docs with official and community supported headers
This commit is contained in:
parent
b8802c03e2
commit
2b064d423d
@ -5,7 +5,9 @@ title: Hardware Acceleration
|
|||||||
|
|
||||||
It is recommended to update your configuration to enable hardware accelerated decoding in ffmpeg. 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
|
It is recommended to update your configuration to enable hardware accelerated decoding in ffmpeg. 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
|
||||||
|
|
||||||
### Raspberry Pi 3/4
|
# Officially Supported
|
||||||
|
|
||||||
|
## Raspberry Pi 3/4
|
||||||
|
|
||||||
Ensure you increase the allocated RAM for your GPU to at least 128 (raspi-config > Performance Options > GPU Memory).
|
Ensure you increase the allocated RAM for your GPU to at least 128 (raspi-config > Performance Options > GPU Memory).
|
||||||
**NOTICE**: If you are using the addon, you may need to turn off `Protection mode` for hardware acceleration.
|
**NOTICE**: If you are using the addon, you may need to turn off `Protection mode` for hardware acceleration.
|
||||||
@ -29,9 +31,9 @@ docker run -d \
|
|||||||
|
|
||||||
:::
|
:::
|
||||||
|
|
||||||
### Intel-based CPUs
|
## Intel-based CPUs
|
||||||
|
|
||||||
#### Via VAAPI
|
### Via VAAPI
|
||||||
|
|
||||||
VAAPI supports automatic profile selection so it will work automatically with both H.264 and H.265 streams. VAAPI is recommended for all generations of Intel-based CPUs if QSV does not work.
|
VAAPI supports automatic profile selection so it will work automatically with both H.264 and H.265 streams. VAAPI is recommended for all generations of Intel-based CPUs if QSV does not work.
|
||||||
|
|
||||||
@ -42,25 +44,25 @@ ffmpeg:
|
|||||||
|
|
||||||
**NOTICE**: With some of the processors, like the J4125, the default driver `iHD` doesn't seem to work correctly for hardware acceleration. You may need to change the driver to `i965` by adding the following environment variable `LIBVA_DRIVER_NAME=i965` to your docker-compose file or [in the `frigate.yaml` for HA OS users](advanced.md#environment_vars).
|
**NOTICE**: With some of the processors, like the J4125, the default driver `iHD` doesn't seem to work correctly for hardware acceleration. You may need to change the driver to `i965` by adding the following environment variable `LIBVA_DRIVER_NAME=i965` to your docker-compose file or [in the `frigate.yaml` for HA OS users](advanced.md#environment_vars).
|
||||||
|
|
||||||
#### Via Quicksync (>=10th Generation only)
|
### Via Quicksync (>=10th Generation only)
|
||||||
|
|
||||||
QSV must be set specifically based on the video encoding of the stream.
|
QSV must be set specifically based on the video encoding of the stream.
|
||||||
|
|
||||||
##### H.264 streams
|
#### H.264 streams
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
ffmpeg:
|
ffmpeg:
|
||||||
hwaccel_args: preset-intel-qsv-h264
|
hwaccel_args: preset-intel-qsv-h264
|
||||||
```
|
```
|
||||||
|
|
||||||
##### H.265 streams
|
#### H.265 streams
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
ffmpeg:
|
ffmpeg:
|
||||||
hwaccel_args: preset-intel-qsv-h265
|
hwaccel_args: preset-intel-qsv-h265
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Configuring Intel GPU Stats in Docker
|
### Configuring Intel GPU Stats in Docker
|
||||||
|
|
||||||
Additional configuration is needed for the Docker container to be able to access the `intel_gpu_top` command for GPU stats. Three possible changes can be made:
|
Additional configuration is needed for the Docker container to be able to access the `intel_gpu_top` command for GPU stats. Three possible changes can be made:
|
||||||
|
|
||||||
@ -68,11 +70,11 @@ Additional configuration is needed for the Docker container to be able to access
|
|||||||
2. Adding the `CAP_PERFMON` capability.
|
2. Adding the `CAP_PERFMON` capability.
|
||||||
3. Setting the `perf_event_paranoid` low enough to allow access to the performance event system.
|
3. Setting the `perf_event_paranoid` low enough to allow access to the performance event system.
|
||||||
|
|
||||||
##### Run as privileged
|
#### Run as privileged
|
||||||
|
|
||||||
This method works, but it gives more permissions to the container than are actually needed.
|
This method works, but it gives more permissions to the container than are actually needed.
|
||||||
|
|
||||||
###### Docker Compose - Privileged
|
##### Docker Compose - Privileged
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
services:
|
services:
|
||||||
@ -82,7 +84,7 @@ services:
|
|||||||
privileged: true
|
privileged: true
|
||||||
```
|
```
|
||||||
|
|
||||||
###### Docker Run CLI - Privileged
|
##### Docker Run CLI - Privileged
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker run -d \
|
docker run -d \
|
||||||
@ -92,11 +94,11 @@ docker run -d \
|
|||||||
ghcr.io/blakeblackshear/frigate:stable
|
ghcr.io/blakeblackshear/frigate:stable
|
||||||
```
|
```
|
||||||
|
|
||||||
##### CAP_PERFMON
|
#### CAP_PERFMON
|
||||||
|
|
||||||
Only recent versions of Docker support the `CAP_PERFMON` capability. You can test to see if yours supports it by running: `docker run --cap-add=CAP_PERFMON hello-world`
|
Only recent versions of Docker support the `CAP_PERFMON` capability. You can test to see if yours supports it by running: `docker run --cap-add=CAP_PERFMON hello-world`
|
||||||
|
|
||||||
###### Docker Compose - CAP_PERFMON
|
##### Docker Compose - CAP_PERFMON
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
services:
|
services:
|
||||||
@ -107,7 +109,7 @@ services:
|
|||||||
- CAP_PERFMON
|
- CAP_PERFMON
|
||||||
```
|
```
|
||||||
|
|
||||||
###### Docker Run CLI - CAP_PERFMON
|
##### Docker Run CLI - CAP_PERFMON
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker run -d \
|
docker run -d \
|
||||||
@ -117,7 +119,7 @@ docker run -d \
|
|||||||
ghcr.io/blakeblackshear/frigate:stable
|
ghcr.io/blakeblackshear/frigate:stable
|
||||||
```
|
```
|
||||||
|
|
||||||
##### perf_event_paranoid
|
#### perf_event_paranoid
|
||||||
|
|
||||||
_Note: This setting must be changed for the entire system._
|
_Note: This setting must be changed for the entire system._
|
||||||
|
|
||||||
@ -125,7 +127,7 @@ For more information on the various values across different distributions, see h
|
|||||||
|
|
||||||
Depending on your OS and kernel configuration, you may need to change the `/proc/sys/kernel/perf_event_paranoid` kernel tunable. You can test the change by running `sudo sh -c 'echo 2 >/proc/sys/kernel/perf_event_paranoid'` which will persist until a reboot. Make it permanent by running `sudo sh -c 'echo kernel.perf_event_paranoid=1 >> /etc/sysctl.d/local.conf'`
|
Depending on your OS and kernel configuration, you may need to change the `/proc/sys/kernel/perf_event_paranoid` kernel tunable. You can test the change by running `sudo sh -c 'echo 2 >/proc/sys/kernel/perf_event_paranoid'` which will persist until a reboot. Make it permanent by running `sudo sh -c 'echo kernel.perf_event_paranoid=1 >> /etc/sysctl.d/local.conf'`
|
||||||
|
|
||||||
### AMD/ATI GPUs (Radeon HD 2000 and newer GPUs) via libva-mesa-driver
|
## AMD/ATI GPUs (Radeon HD 2000 and newer GPUs) via libva-mesa-driver
|
||||||
|
|
||||||
VAAPI supports automatic profile selection so it will work automatically with both H.264 and H.265 streams.
|
VAAPI supports automatic profile selection so it will work automatically with both H.264 and H.265 streams.
|
||||||
|
|
||||||
@ -136,7 +138,7 @@ ffmpeg:
|
|||||||
hwaccel_args: preset-vaapi
|
hwaccel_args: preset-vaapi
|
||||||
```
|
```
|
||||||
|
|
||||||
### NVIDIA GPUs
|
## NVIDIA GPUs
|
||||||
|
|
||||||
While older GPUs may work, it is recommended to use modern, supported GPUs. NVIDIA provides a [matrix of supported GPUs and features](https://developer.nvidia.com/video-encode-and-decode-gpu-support-matrix-new). If your card is on the list and supports CUVID/NVDEC, it will most likely work with Frigate for decoding. However, you must also use [a driver version that will work with FFmpeg](https://github.com/FFmpeg/nv-codec-headers/blob/master/README). Older driver versions may be missing symbols and fail to work, and older cards are not supported by newer driver versions. The only way around this is to [provide your own FFmpeg](/configuration/advanced#custom-ffmpeg-build) that will work with your driver version, but this is unsupported and may not work well if at all.
|
While older GPUs may work, it is recommended to use modern, supported GPUs. NVIDIA provides a [matrix of supported GPUs and features](https://developer.nvidia.com/video-encode-and-decode-gpu-support-matrix-new). If your card is on the list and supports CUVID/NVDEC, it will most likely work with Frigate for decoding. However, you must also use [a driver version that will work with FFmpeg](https://github.com/FFmpeg/nv-codec-headers/blob/master/README). Older driver versions may be missing symbols and fail to work, and older cards are not supported by newer driver versions. The only way around this is to [provide your own FFmpeg](/configuration/advanced#custom-ffmpeg-build) that will work with your driver version, but this is unsupported and may not work well if at all.
|
||||||
|
|
||||||
@ -144,11 +146,11 @@ A more complete list of cards and their compatible drivers is available in the [
|
|||||||
|
|
||||||
If your distribution does not offer NVIDIA driver packages, you can [download them here](https://www.nvidia.com/en-us/drivers/unix/).
|
If your distribution does not offer NVIDIA driver packages, you can [download them here](https://www.nvidia.com/en-us/drivers/unix/).
|
||||||
|
|
||||||
#### Configuring Nvidia GPUs in Docker
|
### Configuring Nvidia GPUs in Docker
|
||||||
|
|
||||||
Additional configuration is needed for the Docker container to be able to access the NVIDIA GPU. The supported method for this is to install the [NVIDIA Container Toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html#docker) and specify the GPU to Docker. How you do this depends on how Docker is being run:
|
Additional configuration is needed for the Docker container to be able to access the NVIDIA GPU. The supported method for this is to install the [NVIDIA Container Toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html#docker) and specify the GPU to Docker. How you do this depends on how Docker is being run:
|
||||||
|
|
||||||
##### Docker Compose - Nvidia GPU
|
#### Docker Compose - Nvidia GPU
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
services:
|
services:
|
||||||
@ -165,7 +167,7 @@ services:
|
|||||||
capabilities: [gpu]
|
capabilities: [gpu]
|
||||||
```
|
```
|
||||||
|
|
||||||
##### Docker Run CLI - Nvidia GPU
|
#### Docker Run CLI - Nvidia GPU
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker run -d \
|
docker run -d \
|
||||||
@ -175,7 +177,7 @@ docker run -d \
|
|||||||
ghcr.io/blakeblackshear/frigate:stable
|
ghcr.io/blakeblackshear/frigate:stable
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Setup Decoder
|
### Setup Decoder
|
||||||
|
|
||||||
The decoder you need to pass in the `hwaccel_args` will depend on the input video.
|
The decoder you need to pass in the `hwaccel_args` will depend on the input video.
|
||||||
|
|
||||||
@ -242,3 +244,5 @@ processes:
|
|||||||
If you do not see these processes, check the `docker logs` for the container and look for decoding errors.
|
If you do not see these processes, check the `docker logs` for the container and look for decoding errors.
|
||||||
|
|
||||||
These instructions were originally based on the [Jellyfin documentation](https://jellyfin.org/docs/general/administration/hardware-acceleration.html#nvidia-hardware-acceleration-on-docker-linux).
|
These instructions were originally based on the [Jellyfin documentation](https://jellyfin.org/docs/general/administration/hardware-acceleration.html#nvidia-hardware-acceleration-on-docker-linux).
|
||||||
|
|
||||||
|
# Community Supported
|
||||||
|
|||||||
@ -3,6 +3,8 @@ id: object_detectors
|
|||||||
title: Object Detectors
|
title: Object Detectors
|
||||||
---
|
---
|
||||||
|
|
||||||
|
# Officially Supported Detectors
|
||||||
|
|
||||||
Frigate provides the following builtin detector types: `cpu`, `edgetpu`, `openvino`, and `tensorrt`. By default, Frigate will use a single CPU detector. Other detectors may require additional configuration as described below. When using multiple detectors they will run in dedicated processes, but pull from a common queue of detection requests from across all cameras.
|
Frigate provides the following builtin detector types: `cpu`, `edgetpu`, `openvino`, and `tensorrt`. By default, Frigate will use a single CPU detector. Other detectors may require additional configuration as described below. When using multiple detectors they will run in dedicated processes, but pull from a common queue of detection requests from across all cameras.
|
||||||
|
|
||||||
## CPU Detector (not recommended)
|
## CPU Detector (not recommended)
|
||||||
@ -278,3 +280,6 @@ detectors:
|
|||||||
Replace `<your_codeproject_ai_server_ip>` and `<port>` with the IP address and port of your CodeProject.AI server.
|
Replace `<your_codeproject_ai_server_ip>` and `<port>` with the IP address and port of your CodeProject.AI server.
|
||||||
|
|
||||||
To verify that the integration is working correctly, start Frigate and observe the logs for any error messages related to CodeProject.AI. Additionally, you can check the Frigate web interface to see if the objects detected by CodeProject.AI are being displayed and tracked properly.
|
To verify that the integration is working correctly, start Frigate and observe the logs for any error messages related to CodeProject.AI. Additionally, you can check the Frigate web interface to see if the objects detected by CodeProject.AI are being displayed and tracked properly.
|
||||||
|
|
||||||
|
|
||||||
|
# Community Supported Detectors
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user