frigate: [HW Accel Support]: 12th gen i5 can't seem to get HW with qsv going
Describe the problem you are having
I just migrated my k8s nodes from E-2224G to i5-12400, and qsv isn’t working anymore.
Version
0.12.0
Frigate config file
detectors:
coral:
type: edgetpu
device: pci
mqtt:
host: emqx.data.svc.cluster.local
topic_prefix: frigate
user: mqtt
password: "{FRIGATE_MQTT_PASSWORD}"
database:
path: /data/frigate.db
birdseye:
enabled: True
restream: True
mode: objects
go2rtc:
streams:
bassenget:
- "{FRIGATE_BASSENGET}"
hagen:
- "{FRIGATE_HAGEN}"
homelab:
- "{FRIGATE_HOMELAB}"
stua:
- "{FRIGATE_STUA}"
veien:
- "{FRIGATE_VEIEN}"
inngang:
- "{FRIGATE_INNGANG}"
objects:
track:
- person
- bil
- skapning
filters:
person:
threshold: 0.75
skapning:
threshold: 0.75
detect:
max_disappeared: 50
model:
labelmap:
2: bil
5: bil
7: bil
15: skapning
16: skapning
17: skapning
18: skapning
19: skapning
20: skapning
22: skapning
rtmp:
enabled: False
ffmpeg:
output_args:
record: -f segment -segment_time 10 -segment_format mp4 -reset_timestamps 1 -strftime 1 -c copy
detect: -vf fps=fps=5,vpp_qsv=w=1280:h=720:format=nv12,hwdownload,format=nv12,format=yuv420p -an -f rawvideo
input_args: -rtsp_transport tcp -avoid_negative_ts make_zero -fflags +genpts+discardcorrupt -timeout 5000000 -strict experimental -c:v h264_qsv
hwaccel_args:
- -hwaccel
- qsv
- -qsv_device
- /dev/dri/renderD128
cameras:
bassenget:
ffmpeg:
inputs:
- path: rtsp://127.0.0.1:8554/bassenget
roles:
- detect
- record
motion:
mask:
- 1280,0,1280,720,826,720,544,548,971,529,1018,295,305,194,278,0
zones:
parkering_ut:
coordinates: 864,0,180,0,576,340
parkering_inn:
coordinates: 312,0,0,0,0,720,669,482
snapshots:
enabled: true
timestamp: true
retain:
default: 14
record:
enabled: true
events:
pre_capture: 3
post_capture: 3
retain:
mode: active_objects
default: 7
detect:
height: 720
width: 1280
fps: 5
mqtt:
enabled: true
timestamp: False
bounding_box: False
crop: True
quality: 100
height: 500
hagen:
ffmpeg:
inputs:
- path: rtsp://127.0.0.1:8554/hagen
roles:
- detect
- record
zones:
veien_ut:
coordinates: 335,352,282,0,715,0
veien_inn:
coordinates: 0,720,0,0,277,0,327,720
veranda:
coordinates: 814,720,1033,199,1221,220,1280,720
motion:
mask:
- 677,0,0,0,0,419
- 510,720,530,225,732,0,667,0,412,209,391,147,95,296,129,364,56,535,0,720
snapshots:
enabled: true
timestamp: true
retain:
default: 14
record:
enabled: true
events:
pre_capture: 3
post_capture: 3
retain:
default: 7
mode: active_objects
detect:
height: 720
width: 1280
fps: 5
mqtt:
enabled: true
timestamp: False
bounding_box: False
crop: True
quality: 100
height: 500
homelab:
ffmpeg:
inputs:
- path: rtsp://127.0.0.1:8554/homelab
roles:
- detect
- record
snapshots:
enabled: true
record:
enabled: true
detect:
height: 480
width: 640
fps: 5
mqtt:
enabled: true
timestamp: False
bounding_box: False
crop: True
quality: 100
height: 500
stua:
ffmpeg:
inputs:
- path: rtsp://127.0.0.1:8554/stua
roles:
- record
- detect
snapshots:
enabled: true
record:
enabled: true
events:
pre_capture: 3
post_capture: 3
retain:
default: 7
mode: active_objects
detect:
height: 720
width: 1280
fps: 5
mqtt:
enabled: true
timestamp: False
bounding_box: False
crop: True
quality: 100
height: 500
veien:
ffmpeg:
inputs:
- path: rtsp://127.0.0.1:8554/veien
roles:
- detect
- record
motion:
mask:
- 627,186,742,0,1280,0,1280,720,1014,683,732,439
- 0,0,638,0,454,97,168,314,0,460
snapshots:
enabled: true
record:
enabled: true
events:
pre_capture: 3
post_capture: 3
retain:
default: 7
mode: active_objects
detect:
height: 720
width: 1280
fps: 5
mqtt:
enabled: true
timestamp: False
bounding_box: False
crop: True
quality: 100
height: 500
inngang:
ffmpeg:
inputs:
- path: rtsp://127.0.0.1:8554/inngang
roles:
- detect
- record
motion:
mask:
- 1280,0,0,0,0,720,238,560,24,330,431,231,480,346,780,408,1280,379
snapshots:
enabled: true
record:
enabled: true
events:
pre_capture: 3
post_capture: 3
retain:
default: 7
mode: active_objects
detect:
height: 720
width: 1280
fps: 5
mqtt:
enabled: true
timestamp: False
bounding_box: False
crop: True
quality: 100
height: 500
docker-compose file or Docker CLI command
running in k8s with the default entrypoint
Relevant log output
s6-rc: info: service s6rc-fdholder: starting
s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service s6rc-fdholder successfully started
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service log-prepare: starting
s6-rc: info: service log-prepare successfully started
s6-rc: info: service nginx-log: starting
s6-rc: info: service go2rtc-log: starting
s6-rc: info: service frigate-log: starting
s6-rc: info: service nginx-log successfully started
s6-rc: info: service go2rtc-log successfully started
s6-rc: info: service go2rtc: starting
s6-rc: info: service frigate-log successfully started
s6-rc: info: service go2rtc successfully started
s6-rc: info: service go2rtc-healthcheck: starting
s6-rc: info: service frigate: starting
s6-rc: info: service frigate successfully started
s6-rc: info: service nginx: starting
s6-rc: info: service go2rtc-healthcheck successfully started
s6-rc: info: service nginx successfully started
s6-rc: info: service legacy-services: starting
2023-04-14 16:56:28.921983224 [INFO] Starting Frigate...
2023-04-14 16:56:28.923747570 [INFO] Starting NGINX...
2023-04-14 16:56:28.923780924 [INFO] Preparing go2rtc config...
s6-rc: info: service legacy-services successfully started
2023-04-14 16:56:29.109595837 [INFO] Starting go2rtc...
2023-04-14 16:56:29.175292755 16:56:29.174 INF go2rtc version 1.2.0 linux/amd64
2023-04-14 16:56:29.175295533 16:56:29.175 INF [api] listen addr=:1984
2023-04-14 16:56:29.175364266 16:56:29.175 INF [rtsp] listen addr=:8554
2023-04-14 16:56:29.175532469 16:56:29.175 INF [srtp] listen addr=:8443
2023-04-14 16:56:29.175646719 16:56:29.175 INF [webrtc] listen addr=:8555
2023-04-14 16:56:29.561625732 [2023-04-14 16:56:29] frigate.app INFO : Starting Frigate (0.12.0-da3e197)
2023-04-14 16:56:29.589986692 [2023-04-14 16:56:29] frigate.app INFO : Creating directory: /tmp/cache
2023-04-14 16:56:29.590818525 [2023-04-14 16:56:29] peewee_migrate INFO : Starting migrations
2023-04-14 16:56:29.602903634 [2023-04-14 16:56:29] peewee_migrate INFO : There is nothing to migrate
2023-04-14 16:56:29.611002495 [2023-04-14 16:56:29] detector.coral INFO : Starting detection process: 580
2023-04-14 16:56:29.616975458 [2023-04-14 16:56:29] frigate.detectors.plugins.edgetpu_tfl INFO : Attempting to load TPU as pci
2023-04-14 16:56:29.617114125 [2023-04-14 16:56:29] frigate.detectors.plugins.edgetpu_tfl INFO : TPU found
2023-04-14 16:56:29.617968909 [2023-04-14 16:56:29] frigate.app INFO : Output process started: 582
2023-04-14 16:56:29.618056567 [2023-04-14 16:56:29] frigate.app INFO : Camera processor started for bassenget:589
2023-04-14 16:56:29.618100842 [2023-04-14 16:56:29] frigate.app INFO : Camera processor started for hagen: 600
2023-04-14 16:56:29.621906300 [2023-04-14 16:56:29] frigate.app INFO : Camera processor started for homelab: 602
2023-04-14 16:56:29.624793574 [2023-04-14 16:56:29] frigate.app INFO : Camera processor started for stua: 604
2023-04-14 16:56:29.627241840 [2023-04-14 16:56:29] frigate.app INFO : Camera processor started for veien: 606
2023-04-14 16:56:29.629513668 [2023-04-14 16:56:29] frigate.app INFO : Camera processor started for inngang: 607
2023-04-14 16:56:29.632052332 [2023-04-14 16:56:29] frigate.app INFO : Capture process started for bassenget: 609
2023-04-14 16:56:29.634723973 [2023-04-14 16:56:29] frigate.app INFO : Capture process started for hagen: 612
2023-04-14 16:56:29.638029784 [2023-04-14 16:56:29] frigate.app INFO : Capture process started for homelab: 617
2023-04-14 16:56:29.642538105 [2023-04-14 16:56:29] frigate.app INFO : Capture process started for stua: 623
2023-04-14 16:56:29.646373695 [2023-04-14 16:56:29] frigate.app INFO : Capture process started for veien: 636
2023-04-14 16:56:29.649815272 [2023-04-14 16:56:29] frigate.app INFO : Capture process started for inngang: 641
2023-04-14 16:56:29.749879658 [2023-04-14 16:56:29] frigate.video ERROR : veien: Unable to read frames from ffmpeg process.
2023-04-14 16:56:29.749967876 [2023-04-14 16:56:29] frigate.video ERROR : hagen: Unable to read frames from ffmpeg process.
2023-04-14 16:56:29.750021691 [2023-04-14 16:56:29] frigate.video ERROR : homelab: Unable to read frames from ffmpeg process.
2023-04-14 16:56:29.750043840 [2023-04-14 16:56:29] frigate.video ERROR : veien: ffmpeg process is not running. exiting capture thread...
2023-04-14 16:56:29.750153697 [2023-04-14 16:56:29] frigate.video ERROR : hagen: ffmpeg process is not running. exiting capture thread...
2023-04-14 16:56:29.750199711 [2023-04-14 16:56:29] frigate.video ERROR : homelab: ffmpeg process is not running.exiting capture thread...
2023-04-14 16:56:29.754158261 [2023-04-14 16:56:29] frigate.video ERROR : inngang: Unable to read frames from ffmpeg process.
2023-04-14 16:56:29.754186923 [2023-04-14 16:56:29] frigate.video ERROR : inngang: ffmpeg process is not running.exiting capture thread...
2023-04-14 16:56:29.774637725 [2023-04-14 16:56:29] frigate.video ERROR : stua: Unable to read frames from ffmpegprocess.
2023-04-14 16:56:29.774850582 [2023-04-14 16:56:29] frigate.video ERROR : stua: ffmpeg process is not running. exiting capture thread...
2023-04-14 16:56:29.774914340 [2023-04-14 16:56:29] frigate.video ERROR : bassenget: Unable to read frames from ffmpeg process.
2023-04-14 16:56:29.775041235 [2023-04-14 16:56:29] frigate.video ERROR : bassenget: ffmpeg process is not running. exiting capture thread...
.....
.....
2023-04-14 17:10:10.701745404 [2023-04-14 17:10:10] watchdog.bassenget ERROR : Ffmpeg process crashed unexpectedly forbassenget.
2023-04-14 17:10:10.701774770 [2023-04-14 17:10:10] watchdog.hagen ERROR : Ffmpeg process crashed unexpectedly forhagen.
2023-04-14 17:10:10.701798970 [2023-04-14 17:10:10] watchdog.bassenget ERROR : The following ffmpeg logs include the last 100 lines prior to exit.
2023-04-14 17:10:10.701819257 [2023-04-14 17:10:10] watchdog.hagen ERROR : The following ffmpeg logs include the last 100 lines prior to exit.
2023-04-14 17:10:10.701845255 [2023-04-14 17:10:10] ffmpeg.bassenget.detect ERROR : [AVHWDeviceContext @ 0x56054f754380] Error setting child device handle: -17
2023-04-14 17:10:10.704360629 [2023-04-14 17:10:10] ffmpeg.hagen.detect ERROR : [AVHWDeviceContext @ 0x55b695a24380] Error setting child device handle: -17
2023-04-14 17:10:10.727400547 [2023-04-14 17:10:10] watchdog.stua ERROR : Ffmpeg process crashed unexpectedly forstua.
2023-04-14 17:10:10.727441978 [2023-04-14 17:10:10] watchdog.stua ERROR : The following ffmpeg logs include the last 100 lines prior to exit.
2023-04-14 17:10:10.727467287 [2023-04-14 17:10:10] ffmpeg.stua.detect ERROR : [AVHWDeviceContext @ 0x55e74a6b4380] Error setting child device handle: -17
2023-04-14 17:10:10.747631166 [2023-04-14 17:10:10] watchdog.inngang ERROR : Ffmpeg process crashed unexpectedly forinngang.
2023-04-14 17:10:10.747713010 [2023-04-14 17:10:10] watchdog.inngang ERROR : The following ffmpeg logs include the last 100 lines prior to exit.
2023-04-14 17:10:10.747764129 [2023-04-14 17:10:10] ffmpeg.inngang.detect ERROR : [AVHWDeviceContext @ 0x5565388fd380] Error setting child device handle: -17
2023-04-14 17:10:10.748206217 [2023-04-14 17:10:10] watchdog.homelab ERROR : Ffmpeg process crashed unexpectedly forhomelab.
2023-04-14 17:10:10.748252528 [2023-04-14 17:10:10] watchdog.homelab ERROR : The following ffmpeg logs include the last 100 lines prior to exit.
2023-04-14 17:10:10.748278399 [2023-04-14 17:10:10] ffmpeg.homelab.detect ERROR : [AVHWDeviceContext @ 0x563f1a6d4380] Error setting child device handle: -17
2023-04-14 17:10:10.748348896 [2023-04-14 17:10:10] watchdog.veien ERROR : Ffmpeg process crashed unexpectedly forveien.
2023-04-14 17:10:10.748377180 [2023-04-14 17:10:10] watchdog.veien ERROR : The following ffmpeg logs include the last 100 lines prior to exit.
2023-04-14 17:10:10.748404843 [2023-04-14 17:10:10] ffmpeg.veien.detect ERROR : [AVHWDeviceContext @ 0x558d34de9380] Error setting child device handle: -17
2023-04-14 17:10:10.784068610 [2023-04-14 17:10:10] frigate.video ERROR : hagen: Unable to read frames from ffmpeg process.
2023-04-14 17:10:10.784153604 [2023-04-14 17:10:10] frigate.video ERROR : hagen: ffmpeg process is not running. exiting capture thread...
2023-04-14 17:10:10.786596323 [2023-04-14 17:10:10] frigate.video ERROR : bassenget: Unable to read frames from ffmpeg process.
2023-04-14 17:10:10.786677426 [2023-04-14 17:10:10] frigate.video ERROR : bassenget: ffmpeg process is not running. exiting capture thread...
2023-04-14 17:10:10.807116553 [2023-04-14 17:10:10] frigate.video ERROR : stua: Unable to read frames from ffmpegprocess.
2023-04-14 17:10:10.807162171 [2023-04-14 17:10:10] frigate.video ERROR : stua: ffmpeg process is not running. exiting capture thread...
2023-04-14 17:10:10.825194348 [2023-04-14 17:10:10] frigate.video ERROR : homelab: Unable to read frames from ffmpeg process.
2023-04-14 17:10:10.825251066 [2023-04-14 17:10:10] frigate.video ERROR : homelab: ffmpeg process is not running.exiting capture thread...
2023-04-14 17:10:10.827977435 [2023-04-14 17:10:10] frigate.video ERROR : veien: Unable to read frames from ffmpeg process.
2023-04-14 17:10:10.828015054 [2023-04-14 17:10:10] frigate.video ERROR : veien: ffmpeg process is not running. exiting capture thread...
2023-04-14 17:10:10.834788681 [2023-04-14 17:10:10] frigate.video ERROR : inngang: Unable to read frames from ffmpeg process.
2023-04-14 17:10:10.834823250 [2023-04-14 17:10:10] frigate.video ERROR : inngang: ffmpeg process is not running.exiting capture thread...
FFprobe output from your camera
Stream 0:
Return Code: 0
Video:
Codec: H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
Resolution: 3840x2160
FPS: 20/1
Operating system
Debian
Install method
Docker CLI
Network connection
Wired
Camera make and model
Reolink 820a
Any other information that may be helpful
Reduced resolution of the camera to get h264 rather than h265.
vainfo from frigate container:
root@frigate-67bb87867d-rwgtt:/opt/frigate# vainfo
error: XDG_RUNTIME_DIR is invalid or not set in the environment.
error: can't connect to X server!
libva info: VA-API version 1.17.0
libva info: User environment variable requested driver 'i965'
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_1_8
libva error: /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so init failed
libva info: va_openDriver() returns -1
vaInitialize failed with error code -1 (unknown libva error),exit
Vainfo from host machine:
brujoand@trymheim:~$ sudo vainfo
error: XDG_RUNTIME_DIR not set in the environment.
error: can't connect to X server!
libva info: VA-API version 1.14.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_14
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.14 (libva 2.12.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 22.3.1 ()
vainfo: Supported profile and entrypoints
VAProfileNone : VAEntrypointVideoProc
VAProfileNone : VAEntrypointStats
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Simple : VAEntrypointEncSlice
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointEncSlice
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSlice
VAProfileH264Main : VAEntrypointFEI
VAProfileH264Main : VAEntrypointEncSliceLP
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSlice
VAProfileH264High : VAEntrypointFEI
VAProfileH264High : VAEntrypointEncSliceLP
VAProfileVC1Simple : VAEntrypointVLD
VAProfileVC1Main : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointEncPicture
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
VAProfileH264ConstrainedBaseline: VAEntrypointFEI
VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
VAProfileHEVCMain : VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointEncSlice
VAProfileHEVCMain : VAEntrypointFEI
VAProfileHEVCMain : VAEntrypointEncSliceLP
VAProfileHEVCMain10 : VAEntrypointVLD
VAProfileHEVCMain10 : VAEntrypointEncSlice
VAProfileHEVCMain10 : VAEntrypointEncSliceLP
VAProfileVP9Profile0 : VAEntrypointVLD
VAProfileVP9Profile0 : VAEntrypointEncSliceLP
VAProfileVP9Profile1 : VAEntrypointVLD
VAProfileVP9Profile1 : VAEntrypointEncSliceLP
VAProfileVP9Profile2 : VAEntrypointVLD
VAProfileVP9Profile2 : VAEntrypointEncSliceLP
VAProfileVP9Profile3 : VAEntrypointVLD
VAProfileVP9Profile3 : VAEntrypointEncSliceLP
VAProfileHEVCMain12 : VAEntrypointVLD
VAProfileHEVCMain12 : VAEntrypointEncSlice
VAProfileHEVCMain422_10 : VAEntrypointVLD
VAProfileHEVCMain422_10 : VAEntrypointEncSlice
VAProfileHEVCMain422_12 : VAEntrypointVLD
VAProfileHEVCMain422_12 : VAEntrypointEncSlice
VAProfileHEVCMain444 : VAEntrypointVLD
VAProfileHEVCMain444 : VAEntrypointEncSliceLP
VAProfileHEVCMain444_10 : VAEntrypointVLD
VAProfileHEVCMain444_10 : VAEntrypointEncSliceLP
VAProfileHEVCMain444_12 : VAEntrypointVLD
VAProfileHEVCSccMain : VAEntrypointVLD
VAProfileHEVCSccMain : VAEntrypointEncSliceLP
VAProfileHEVCSccMain10 : VAEntrypointVLD
VAProfileHEVCSccMain10 : VAEntrypointEncSliceLP
VAProfileHEVCSccMain444 : VAEntrypointVLD
VAProfileHEVCSccMain444 : VAEntrypointEncSliceLP
VAProfileAV1Profile0 : VAEntrypointVLD
VAProfileHEVCSccMain444_10 : VAEntrypointVLD
VAProfileHEVCSccMain444_10 : VAEntrypointEncSliceLP
About this issue
- Original URL
- State: closed
- Created a year ago
- Comments: 25
I was able to get qsv to work. Started as bash session with the container, grabbed and extracted
https://github.com/BtbN/FFmpeg-Builds/releases/download/latest/ffmpeg-master-latest-linux64-gpl.tar.xz
then moved the existing ffmpeg out of the way in /usr/lib/btbn-ffmpeg/bin/ and copied the new binaries there.
Followed the instructions here
https://dgpu-docs.intel.com/installation-guides/ubuntu/ubuntu-focal.html#ubuntu-20-04-focal
changing intel.list in /etc/apt/sources.list.d to instead contain the line
deb [arch=amd64,i386 signed-by=/usr/share/keyrings/intel-graphics.gpg] https://repositories.intel.com/graphics/ubuntu jammy arc
Then continuing with the instructions to install the runtime packages per above.
Similar was done to the host debian system beforehand. Testing ffmpeg with qsv acceleration there before moving into the container.
Updated many other packages in the host and frigate container, but I think the above is all that is needed as ffmpeg is a static build. Possible there may be dependencies for the intel updates, if so here is my /etc/apt/sources.list - did not do a full ‘apt upgrade’ of the host or container though.
Restart the container after you perform the actions in it. Do the updates on the host first before updating/modifying the container. Reboot the host after the updates as well.
Running a 13th Gen i7 here.