[HW Accel Support]: Need to verify if my configuration is setup properly to utilize my N100 iGPU #19311
-
Describe the problem you are havingHey all! I'm currently seeing my N100 CPU being utilized much more than my iGPU and wanted to make sure that the configuration I have in place is correct settings and just need to deal with the CPU being utilized this much. It typically sits around 75% with about 100ms response time. I only have 2 cameras set up at the moment but would ideally like to have more. Version0.15.2-3bda638 Frigate config filemqtt:
enabled: false
ffmpeg:
hwaccel_args: preset-vaapi
go2rtc:
streams:
WYZE_1:
- rtsp://192.168.1.114:8554/1080p?mp4
- ffmpeg:Wyze#audio=aac
CAM_1:
- ffmpeg:rtsp://admin:password@192.168.1.106/cam/realmonitor?channel=1&subtype=0
record:
enabled: True
retain:
days: 7
mode: motion
alerts:
retain:
days: 7
detections:
retain:
days: 7
objects:
track:
- person
- dog
- car
- cat
snapshots:
enabled: True
retain:
default: 30
cameras:
CAM_1:
enabled: true
ffmpeg:
inputs:
- path:
rtsp://admin:password@192.168.1.106/cam/realmonitor?channel=1&subtype=0
roles:
- record
- detect
WYZE_1:
ffmpeg:
inputs:
- path: rtsp://127.0.0.1:8554/WYZE_1
roles:
- record
- detect
version: 0.15-1
camera_groups:
Garage:
order: 1
icon: LuBean
cameras:
- CAM_1
- WYZE_1docker-compose file or Docker CLI commandservices:
frigate:
container_name: frigate
privileged: true # this may not be necessary for all setups
restart: unless-stopped
stop_grace_period: 30s # allow enough time to shut down the various services
image: ghcr.io/blakeblackshear/frigate:stable
shm_size: "512mb" # 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/video11:/dev/video11 # For Raspberry Pi 4B
- /dev/dri/renderD128:/dev/dri/renderD128 # For intel hwaccel, needs to be updated for your hardware
volumes:
- /etc/localtime:/etc/localtime:ro
- /mnt/storage/configs:/config
- /mnt/storage:/media/frigate
- type: tmpfs # Optional: 1GB of memory, reduces SSD/SD Card wear
target: /tmp/cache
tmpfs:
size: 1000000000
ports:
- "8971:8971"
- "5000:5000" # Internal unauthenticated access. Expose carefully.
- "8554:8554" # RTSP feeds
- "8555:8555/tcp" # WebRTC over tcp
- "8555:8555/udp" # WebRTC over udp
environment:
FRIGATE_RTSP_PASSWORD: "password"Relevant Frigate log outputNot totally sure if this is needed
2025-07-29 03:16:11.951530499 127.0.0.1 - - [29/Jul/2025:03:16:11 +0000] "" 400 0 "-" "-" "-"
2025-07-29 03:16:18.668106155 [2025-07-29 03:16:18] frigate.video ERROR : WYZE_1: Unable to read frames from ffmpeg process.
2025-07-29 03:16:18.668112280 [2025-07-29 03:16:18] frigate.video ERROR : WYZE_1: Unable to read frames from ffmpeg process.
2025-07-29 03:16:18.668115452 [2025-07-29 03:16:18] frigate.video ERROR : WYZE_1: Unable to read frames from ffmpeg process.
2025-07-29 03:16:18.668118111 [2025-07-29 03:16:18] frigate.video ERROR : WYZE_1: Unable to read frames from ffmpeg process.
2025-07-29 03:16:18.668120517 [2025-07-29 03:16:18] frigate.video ERROR : WYZE_1: Unable to read frames from ffmpeg process.
2025-07-29 03:16:18.668122957 [2025-07-29 03:16:18] frigate.video ERROR : WYZE_1: Unable to read frames from ffmpeg process.
2025-07-29 03:16:18.668125339 [2025-07-29 03:16:18] frigate.video ERROR : WYZE_1: Unable to read frames from ffmpeg process.
2025-07-29 03:16:18.668127723 [2025-07-29 03:16:18] frigate.video ERROR : WYZE_1: Unable to read frames from ffmpeg process.
2025-07-29 03:16:18.668130069 [2025-07-29 03:16:18] frigate.video ERROR : WYZE_1: Unable to read frames from ffmpeg process.
2025-07-29 03:16:18.668132202 [2025-07-29 03:16:18] frigate.video ERROR : WYZE_1: Unable to read frames from ffmpeg process.
2025-07-29 03:16:18.668134710 [2025-07-29 03:16:18] frigate.video ERROR : WYZE_1: Unable to read frames from ffmpeg process.
2025-07-29 03:16:18.668136968 [2025-07-29 03:16:18] frigate.video ERROR : WYZE_1: Unable to read frames from ffmpeg process.
2025-07-29 03:16:18.668139122 [2025-07-29 03:16:18] frigate.video ERROR : WYZE_1: Unable to read frames from ffmpeg process.
2025-07-29 03:16:18.668141364 [2025-07-29 03:16:18] frigate.video ERROR : WYZE_1: Unable to read frames from ffmpeg process.
2025-07-29 03:16:18.668143588 [2025-07-29 03:16:18] frigate.video ERROR : WYZE_1: Unable to read frames from ffmpeg process.
2025-07-29 03:16:18.668145792 [2025-07-29 03:16:18] frigate.video ERROR : WYZE_1: Unable to read frames from ffmpeg process.
2025-07-29 03:16:18.668147989 [2025-07-29 03:16:18] frigate.video ERROR : WYZE_1: Unable to read frames from ffmpeg process.
2025-07-29 03:16:18.668150063 [2025-07-29 03:16:18] frigate.video ERROR : WYZE_1: Unable to read frames from ffmpeg process.
2025-07-29 03:16:18.668152161 [2025-07-29 03:16:18] frigate.video ERROR : WYZE_1: Unable to read frames from ffmpeg process.
2025-07-29 03:16:18.668154355 [2025-07-29 03:16:18] frigate.video ERROR : WYZE_1: Unable to read frames from ffmpeg process.
2025-07-29 03:16:18.669614767 [2025-07-29 03:16:18] frigate.video ERROR : WYZE_1: ffmpeg process is not running. exiting capture thread...
2025-07-29 03:16:18.962314629 [2025-07-29 03:16:18] watchdog.WYZE_1 ERROR : Ffmpeg process crashed unexpectedly for WYZE_1.
2025-07-29 03:16:18.962359341 [2025-07-29 03:16:18] watchdog.WYZE_1 ERROR : The following ffmpeg logs include the last 100 lines prior to exit.
2025-07-29 03:16:18.962576274 [2025-07-29 03:16:18] ffmpeg.WYZE_1.detect ERROR : [segment @ 0x5a8a03a71140] Timestamps are unset in a packet for stream 0. This is deprecated and will stop working in the future. Fix your code to set the timestamps properly
2025-07-29 03:16:18.962678179 [2025-07-29 03:16:18] ffmpeg.WYZE_1.detect ERROR : [vost#0:0/copy @ 0x5a8a0394af80] Non-monotonic DTS; previous: 1621685, current: 1621685; changing to 1621686. This may result in incorrect timestamps in the output file.
2025-07-29 03:16:18.962684637 [2025-07-29 03:16:18] ffmpeg.WYZE_1.detect ERROR : [vost#0:0/copy @ 0x5a8a0394af80] Non-monotonic DTS; previous: 1924278, current: 1924278; changing to 1924279. This may result in incorrect timestamps in the output file.
2025-07-29 03:16:18.962840147 [2025-07-29 03:16:18] ffmpeg.WYZE_1.detect ERROR : [vost#0:0/copy @ 0x5a8a0394af80] Non-monotonic DTS; previous: 2423880, current: 2423880; changing to 2423881. This may result in incorrect timestamps in the output file.
2025-07-29 03:16:18.962848764 [2025-07-29 03:16:18] ffmpeg.WYZE_1.detect ERROR : [vost#0:0/copy @ 0x5a8a0394af80] Non-monotonic DTS; previous: 2834921, current: 2834921; changing to 2834922. This may result in incorrect timestamps in the output file.
2025-07-29 03:16:18.962968476 [2025-07-29 03:16:18] ffmpeg.WYZE_1.detect ERROR : [AVHWFramesContext @ 0x7a925c055c40] Failed to sync surface 0x10: 1 (operation failed).
2025-07-29 03:16:18.963060726 [2025-07-29 03:16:18] ffmpeg.WYZE_1.detect ERROR : [hwdownload @ 0x7a9260003980] Failed to download frame: -5.
2025-07-29 03:16:18.963084544 [2025-07-29 03:16:18] ffmpeg.WYZE_1.detect ERROR : [vf#1:0 @ 0x5a8a03939d80] Error while filtering: Input/output error
2025-07-29 03:16:18.963198144 [2025-07-29 03:16:18] ffmpeg.WYZE_1.detect ERROR : [vf#1:0 @ 0x5a8a03939d80] Task finished with error code: -5 (Input/output error)
2025-07-29 03:16:18.963255064 [2025-07-29 03:16:18] ffmpeg.WYZE_1.detect ERROR : [vf#1:0 @ 0x5a8a03939d80] Terminating thread with return code -5 (Input/output error)Relevant go2rtc log outputinfo | 2025-07-29 03:05:10 | startup | Preparing new go2rtc config...
info | 2025-07-29 03:05:10 | startup | Starting go2rtc...
info | 2025-07-29 03:05:11 | startup | go2rtc platform=linux/amd64 revision=b2399f3 version=1.9.2
info | 2025-07-29 03:05:11 | startup | config path=/dev/shm/go2rtc.yaml
info | 2025-07-29 03:05:11 | api | listen addr=:1984
info | 2025-07-29 03:05:11 | rtsp | listen addr=:8554
info | 2025-07-29 03:05:11 | webrtc | listen addr=:8555/tcp
info | 2025-07-29 03:05:20 | startup | Starting go2rtc healthcheck service...FFprobe output from your cameraUnable to run this since my credentials have a character that it can't escape and bash errors outInstall methodDocker Compose Object DetectorCPU (no coral) Network connectionWired Camera make and modelAmcrest IP5M-T1179EW-AI-V3 | Wyze Cam V3 Screenshots of the Frigate UI's System metrics pages
Any other information that may be helpfulI have found other discussions, and from what I can tell my config should be fine, but there could be something really silly I'm missing that I can't see in other posts such as #9846 for example |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
|
Your configuration uses However, high CPU usage (especially for object detection) is expected if you are using the CPU detector rather than a hardware-accelerated detector like OpenVINO or an Edge TPU(2). The If you want to reduce CPU usage further, consider using OpenVINO as your detector if supported by your hardware. Example config for OpenVINO: detectors:
openvino:
type: openvino
device: AUTOFor ffmpeg video decoding, your current setup is correct for Intel iGPU acceleration(1). For object detection, switching to OpenVINO can provide additional hardware acceleration and reduce CPU load(2). 📚 Sources: Have another question? Just tag @inkeep. |
Beta Was this translation helpful? Give feedback.


Your configuration uses
preset-vaapifor hardware acceleration, which is the recommended setting for Intel CPUs including those with integrated GPUs like the N100(1). The device mapping- /dev/dri/renderD128:/dev/dri/renderD128is also correct for exposing the Intel iGPU to the container(1).However, high CPU usage (especially for object detection) is expected if you are using the CPU detector rather than a hardware-accelerated detector like OpenVINO or an Edge TPU(2). The
preset-vaapionly accelerates video decoding in ffmpeg, not object detection. Your actual detection workload is still on the CPU, which matches what you are seeing in the Frigate UI metrics.If you want to reduce CPU us…