Add static FFmpeg with rockchip hardware acceleration to rk- image (#8599)

* add static ffmpeg with rockchip hw accel

* add ffmpeg presets

* fix scaling preset and update docs for rk hwaccel

* update usage info in ffmpeg_presets docs

* Add note about hardware acceleration support

---------

Co-authored-by: MarcA711 <>
This commit is contained in:
Marc Altmann
2023-11-15 12:41:55 +01:00
committed by GitHub
parent 266b4099b5
commit 8c7f6d4a76
4 changed files with 49 additions and 3 deletions

View File

@@ -22,6 +22,8 @@ See [the hwaccel docs](/configuration/hardware_acceleration.md) for more info on
| preset-nvidia-mjpeg | Nvidia GPU with mjpeg stream | Recommend restreaming mjpeg and using nvidia-h264 |
| preset-jetson-h264 | Nvidia Jetson with h264 stream | |
| preset-jetson-h265 | Nvidia Jetson with h265 stream | |
| preset-rk-h264 | Rockchip MPP with h264 stream | Use image with *-rk suffix and privileged mode |
| preset-rk-h265 | Rockchip MPP with h265 stream | Use image with *-rk suffix and privileged mode |
### Input Args Presets

View File

@@ -319,3 +319,31 @@ ffmpeg:
If everything is working correctly, you should see a significant reduction in ffmpeg CPU load and power consumption.
Verify that hardware decoding is working by running `jtop` (`sudo pip3 install -U jetson-stats`), which should show
that NVDEC/NVDEC1 are in use.
## Rockchip platform
Hardware accelerated video de-/encoding is supported on all Rockchip SoCs.
### Setup
Use a frigate docker image with `-rk` suffix and enable privileged mode by adding the `--privileged` flag to your docker run command or `privileged: true` to your `docker-compose.yml` file.
### Configuration
Add one of the following ffmpeg presets to your `config.yaml` to enable hardware acceleration:
```yaml
# if you try to decode a h264 encoded stream
ffmpeg:
hwaccel_args: preset-rk-h264
# if you try to decode a h265 (hevc) encoded stream
ffmpeg:
hwaccel_args: preset-rk-h265
```
:::note
Make sure that your SoC supports hardware acceleration for your input stream. For example, if your camera streams with h265 encoding and a 4k resolution, your SoC must be able to de- and encode h265 with a 4k resolution or higher. If you are unsure whether your SoC meets the requirements, take a look at the datasheet.
:::