Hi all
Need help with vaapi setup on CentOS 7.
Hardware
HP ProLiant ML310e Gen8 v2
Xeon® E3-1270 v3
8 Gb Ram
AMD RX 550 2Gb
ILO on board video
7 pcs: IP camera 5MP (2592x1944) Video Codec H.265/H.264 (HP/MP/BP)/MJPEG
configured for H.264
Software
CentOS 7.9
Clear install ZoneMinder 1.36
Radeon Pro Software for Enterprise for Linux
In BIOS HP ProLiant ML310e Gen8 v2
Primary ILO on board video Secondary AMD RX 550
In ZoneMinder setup Monitor
section Base
Offset of the reference frame, % No blending
Offset of the alarm reference frame, % No blending
section Source
DecoderHWAccelName vaapi
Deleted all Zones for detection.
2 cameras are setup for Record.
Remaining cameras to view (Monitor)
In this case CPU load 100%
I tried to apply the setting vaapi but there was no effect.
I can assume that for correct work vaapi need some more settings.
But I do not know which ones and I need help with this.
I also don't understand how to better configure the BIOS for video adapters. Which should be primary which secondary. Or maybe some should be disabled.
the question is off topic: why such a high load is not the weakest processor?
Help with vaapi on Cent OS 7
-
- Posts: 1336
- Joined: Sat Aug 31, 2019 7:35 am
- Location: San Diego
Re: Help with vaapi on Cent OS 7
A couple things;
Those cams have a lot of pixels, and a high framerate may be the cause.
I suspect NO blending is not a good idea.
Those cams have a lot of pixels, and a high framerate may be the cause.
I suspect NO blending is not a good idea.
Re: Help with vaapi on Cent OS 7
first of all, I'm trying to reduce the CPU load as much as possible. As I wrote in the first post: in such set I have a very high load on the processor. And even if I leave only three cameras on I have high load on the processor.dougmccrary wrote: ↑Tue Feb 21, 2023 12:54 am A couple things;
Those cams have a lot of pixels, and a high framerate may be the cause.
I suspect NO blending is not a good idea.
There is no clear description of the hardware requirements regarding the camera resolutions used.
That's why I turn off all the settings for the motion detector. And later I want to use the signal from the camera because it has its own motion analyzer built in.
Re: Help with vaapi on Cent OS 7
I figured out the drivers.
installed Radeon™ Software for Linux® 18.50 only AMDGPU All-Open
After that
But when I setup Monitor DecoderHWAccelName (?) vaapi
Try to open Monitor to view and the load on the processor is rising.
At the same time
in radeontop
before addin DecoderHWAccelName (?) vaapi
after addin DecoderHWAccelName (?) vaapi
I conclude that something is starting to come to the video card, but the rest of the activity does not show on the card.
When try to open Monitor to view no additional activity is displayed in radeontop except for the one described above.
perhaps the parameter DecoderHWAccelDevice should be filled in?
My version ffmpeg-3.4.12-1.el7.x86_64
I try set DecoderHWAccelDevice: /dev/dri/renderD128 and radeonsi
This did not give any changes. Based on this, what other directions can there be to search for a result?
installed Radeon™ Software for Linux® 18.50 only AMDGPU All-Open
After that
Code: Select all
[root@zmserver ~]# vainfo --device /dev/dri/renderD128 --display drm
libva info: VA-API version 0.40.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib64/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_0_40
libva info: va_openDriver() returns 0
vainfo: VA-API version: 0.40 (libva )
vainfo: Driver version: Mesa Gallium driver 18.2.0-rc3 for Radeon RX550/550 Series (POLARIS12, DRM 3.27.0, 3.10.0-1160.83.1.el7.x86_64, LLVM 7.0.1)
vainfo: Supported profile and entrypoints
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileVC1Simple : VAEntrypointVLD
VAProfileVC1Main : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSlice
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSlice
VAProfileHEVCMain : VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointEncSlice
VAProfileHEVCMain10 : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointVLD
VAProfileNone : VAEntrypointVideoProc
Try to open Monitor to view and the load on the processor is rising.
At the same time
in radeontop
before addin DecoderHWAccelName (?) vaapi
Code: Select all
9М / 2043М VRAM 0,46% │
7M / 3065M GTT 0,24% │
0,30G / 1,75G Memory Clock 17,14% │
0,21G / 1,18G Shader Clock 18,09%
Code: Select all
132М / 2043М VRAM 6,45% │
38M / 3065M GTT 1,25% │
0,30G / 1,75G Memory Clock 17,14%
0,58G / 1,18G Shader Clock 48,09%
When try to open Monitor to view no additional activity is displayed in radeontop except for the one described above.
perhaps the parameter DecoderHWAccelDevice should be filled in?
My version ffmpeg-3.4.12-1.el7.x86_64
I try set DecoderHWAccelDevice: /dev/dri/renderD128 and radeonsi
This did not give any changes. Based on this, what other directions can there be to search for a result?
Re: Help with vaapi on Cent OS 7
raised the driver version to 20.20 and radeontop started to show the load GPU normally.
but at the same time, the load from the CPU was not particularly removed.
are amd cards worse suited for video decoding than nvidia? does anyone have any experience of comparison?
but at the same time, the load from the CPU was not particularly removed.
are amd cards worse suited for video decoding than nvidia? does anyone have any experience of comparison?
Re: Help with vaapi on Cent OS 7
raised the driver version up to 21.10
I paid attention to the fact that all available 8Gb RAM was used. I added 16 Gb. but even at the same time, the entire amount of memory was slowly filled up to 100% usage.
This effect is observed only when using VAAPI. The system at startup shows consumption of about 7 GB. and after slowly 100-200mb grows until it takes up the entire amount of all RAM and the swap file. at the moment, I turned it off VAAPI on all monitors and memory consumption has stabilized.
any ideas about this?
I paid attention to the fact that all available 8Gb RAM was used. I added 16 Gb. but even at the same time, the entire amount of memory was slowly filled up to 100% usage.
This effect is observed only when using VAAPI. The system at startup shows consumption of about 7 GB. and after slowly 100-200mb grows until it takes up the entire amount of all RAM and the swap file. at the moment, I turned it off VAAPI on all monitors and memory consumption has stabilized.
any ideas about this?
Re: Help with vaapi on Cent OS 7
hwaccel decoding is hampered by the extra copy of the image data. If we could leave it on the card, things would be much better. But instead we copy it off the card to ram, then transform it to rgba, then finally do all the other stuff. Those two steps often take more time than just decoding on the cpu.
I am working on getting rid of that second transform, but honestly at the moment hwaccel just isn't worth it.
I am working on getting rid of that second transform, but honestly at the moment hwaccel just isn't worth it.
Re: Help with vaapi on Cent OS 7
need more RAM? or why is the existing one not being cleaned?
if I understand correctly, these are the consequences of using ffmpeg. And if the hwaccel decoding has such an algorithm, then it does not matter which GPU to use. and as a result, it turns out that the load from the processor is not removed?
is it possible to use the gpu to decode the video that we watch in the archive? are there such settings?
if I understand correctly, these are the consequences of using ffmpeg. And if the hwaccel decoding has such an algorithm, then it does not matter which GPU to use. and as a result, it turns out that the load from the processor is not removed?
is it possible to use the gpu to decode the video that we watch in the archive? are there such settings?