Closed erikarenhill closed 3 years ago
Without being able to reproduce your hardware, I'm not sure what to suggest over what you can find on stack overflow for ffmpeg. Maybe someone with similar hardware can chime in.
Is it really necessary to run detection on high resolution, high fps streams for you? It's always going to take a lot of processing power to decode that stream even if you weren't running anything except ffmpeg. Unless you are trying detect very small fast moving objects you shouldn't see any benefit over a lower resolution feed at a lower fps.
Hi @blakeblackshear and thanks for the quick response.
The reason for running hi-res streams is because I want the snapshot images to be of high resolution to run face recognition on them through another software, and based on the full image a face could potentially be quite small. Is it possible to create the snapshots from another stream than detect/rtmp?
No. Only the stream used for detection is decoded. You need to decode the stream to grab an image. Can you lower the fps to something like 5 on the camera?
I have FPS: 5 in my frigate config, but lowering the FPS in the cameras own configuration made the cpu go down quite a bit. Thanks for the tip! Optimally I'd like to run detection on low fps but record clips with higher fps, but I suppose that might be hard to achieve.
I hope someone with similiar hardware jumps in and gives some advice on how to enable and verify the hwaccel
I managed to passthrough the GPU by using vfio to an Ubuntu VM (not lxc), so I will setup frigate there and see how it works. The monitor attached to the physical hdmi on the NUC displayed the screen from the VM so I suppose its working that far. Will add updates here if anyone else with similiar hardware needs to do the same if the rest succeeds.
I'm also passing the Iris GPU through to an Ubuntu VM on a NUC8i7BEH. I believe vfio as well, but I can't recall exactly what steps/drivers were involved. I remember it being a bit of a pain, but not near as much of a pain as it was to pass the PCIE coral device through to the VM. At any rate, just wanted to chime in with the args that work for me -
ffmpeg: hwaccel_args: - '-hwaccel' - vaapi - '-qsv_device' - /dev/dri/renderD128`
I'm also passing the Iris GPU through to an Ubuntu VM on a NUC8i7BEH. I believe vfio as well, but I can't recall exactly what steps/drivers were involved. I remember it being a bit of a pain, but not near as much of a pain as it was to pass the PCIE coral device through to the VM. At any rate, just wanted to chime in with the args that work for me -
ffmpeg: hwaccel_args: - '-hwaccel' - vaapi - '-qsv_device' - /dev/dri/renderD128`
Thanks for your feedback, I tested with vaapi instead of qsv but that increased the CPU usage of my ffmpeg processes with about 2.5x but I'm on 10th gen so it might differ. From what I understand 10th gen and newer has another type of driver needed for QuickSync.
These two links helped me with vfio and intel-media-driver installation:
https://forum.proxmox.com/threads/guide-intel-intergrated-graphic-passthrough.30451/
https://dgpu-docs.intel.com/installation-guides/ubuntu/ubuntu-focal.html
Describe the bug Problems enabling and verifying hwaccel on Intel NUC 10th gen (QuickSync) running frigate in lxc in proxmox
Version of frigate 0.8.4-5043040
Config file Include your full config file wrapped in triple back ticks.
Computer Hardware
Camera Info:
ffprobe from a reolink 810 (4k/8MP) camera with detect role
ffprobe from a hikvision DS-2CD2143G0-IS (4MP) camera with detect role
Additional context Currently my frigate instance is heavily hogging my CPU and I want to enable QuickSync on proxmox to frigate running on a debian 10 LXC
Starting the docker-compose with following parts of config:
vainfo output from lxc:
vainfo from docker-container:
lxc config
I have installed
intel-gpu-tools
in proxmox os/host to try and verify if it's using the gpu but it shows 0% meanwhile top show high cpu usage for ffmpeg processes ( 50-100% )Found a guide how to enable vfio passthrough by adding the pci device to modprobe but not sure how to proceed here (after doing this my /dev/dri/renderD128 device disappeared and intel_gpu_top showed 100%), I enabled intel_iommu=on at /etc/default/grub and rebooted but now I just feel lost.
Any pointers how to proceed would be very appreciated because currently my CPU runs at 70+ degrees celsius because of this