Ook hier heb ik de overstap gemaakt naar Frigate, na jaren zoneminder gebruikt te hebben.
Nu heb ik een vraag over de GPU offloading performance.
Frigate draait hier op een Intel D34010WYK NUC.
- Intel(R) Core(TM) i3-4010U CPU @ 1.70GHz Link
- Intel® HD Graphics 4400
In Proxmox heb ik een unprotected LXR met docker waar Frigate in draait.
De GPU is doorgezet en met de nodige commando's gecontroleerd of het werkt.
ffmpeg -hwaccels
- cuda
- vaapi
- qsv
- drm
- opencl
- vulkan
ffmpeg -decoders | grep qsv
- V....D av1_qsv AV1 video (Intel Quick Sync Video acceleration) (codec av1)
- V....D h264_qsv H264 video (Intel Quick Sync Video acceleration) (codec h264)
- V....D hevc_qsv HEVC video (Intel Quick Sync Video acceleration) (codec hevc)
- V....D mjpeg_qsv MJPEG video (Intel Quick Sync Video acceleration) (codec mjpeg)
- V....D mpeg2_qsv MPEG2VIDEO video (Intel Quick Sync Video acceleration) (codec mpeg2video)
- V....D vc1_qsv VC1 video (Intel Quick Sync Video acceleration) (codec vc1)
- V....D vp8_qsv VP8 video (Intel Quick Sync Video acceleration) (codec vp8)
- V....D vp9_qsv VP9 video (Intel Quick Sync Video acceleration) (codec vp9)
Alle camera's hebben h264 streams. High & Baseline met yuv420p, en aac audio.
QSV kreeg ik niet werkende, wat mogelijk klopt met de > 10 generatie die nodig is?
VAAPI werkt wel goed... denk ik.
code:
1
2
3
4
5
| ffmpeg:
hwaccel_args: preset-vaapi
# enable audio
output_args:
record: preset-record-generic-audio-aac |
De output van intel_gpu_top geeft aan dat de gpu in elk geval iets doet.
intel-gpu-top: Intel Haswell (Gen7) @ /dev/dri/card0 - 474/ 475 MHz
0% RC6; 0.11/ 5.62 W; 56 irqs/s
ENGINES BUSY
Render/3D 3.50% |█▏
Blitter 0.00% |
Video 2.50% |▊
VideoEnhance 0.00% | |
IMC reads: 1416 MiB/s
IMC writes: 697 MiB/s
MI_SEMA MI_WAIT
| 0% 0%
| 0% 0%
| 0% 0%
| 0% 0%
|
top output:
PID
283
315
320
113
316
319
12646
92
302
294
|
%CPU
69.1
57.1
15.9
15.0
9.0
7.6
3.3
1.7
1.0
1.0
|
%MEM
0.6
0.3
0.2
1.4
0.2
0.2
0.1
0.2
0.5
0.5
|
COMMAND
frigate.detecto
ffmpeg
ffmpeg
python3
ffmpeg
ffmpeg
go2rtc
ffmpeg
frigate.capture
frigate.capture
|
PID 283
De meeste CPU load gaat naar de detector. Hiervoor is een Coral USB stick onderweg.
Daarnaast zie ik nogal wat ffmpeg load, waarvan ik had gehoopt dat deze iets meer door de GPU werd verwerkt.
PID 315
code:
1
| ffmpeg -hide_banner -v error -fflags nobuffer -flags low_delay -timeout 5000000 -user_agent go2rtc/ffmpeg -rtsp_transport tcp -i rtsp://localhost:8554/cam_voortuin_orig_high?video -c:v libx264 -g 50 -profile:v high -level:v 4.1 -preset:v superfast -tune:v zerolatency -an -vf transpose=1,transpose=1 -user_agent ffmpeg/go2rtc -rtsp_transport tcp -f rtsp rtsp://localhost:8554/b26ded161ca7e4b2385124bba40fc65e |
Dit is een high-res 1280x720 stream die ik moet flippen, omdat de camera ondersteboven hangt en ik deze niet (eenvoudig) te flippen is op de camera.
Of iemand moet me op weg kunnen helpen met een rooted Yi-cam Chiptset: Hi3518.
Deze (
lijkt op deze) heb ik bijna 10 jaar geleden gekocht en werkt nog steeds prima.
PID 320
code:
1
| ffmpeg -hide_banner -v error -fflags nobuffer -flags low_delay -timeout 5000000 -user_agent go2rtc/ffmpeg -rtsp_transport tcp -i rtsp://localhost:8554/cam_voortuin_orig_low?video -c:v libx264 -g 50 -profile:v high -level:v 4.1 -preset:v superfast -tune:v zerolatency -an -vf transpose=1,transpose=1 -user_agent ffmpeg/go2rtc -rtsp_transport tcp -f rtsp rtsp://localhost:8554/356bbfefa6c8c9e027c5e765a9cd7b30 |
Dit is de low-res 640x360 die ook geflipt moet worden.
Is er iets meer specifiekers dat ik voor ffmpeg kan configureren?
In de ffmpeg code zie ik dat er libx264 wordt gebruikt. Hier had ik h264_vaapi verwacht.
Ofwel off-topic iemand heeft ervaring met alternatieve OpenIPC firmware voor de YI-cam ?