[Solved in 1.37.12] ZoneMinder 1.37.7 - image corruption during event playback

Current Development version likely to have breaking changes
User avatar
lyallp
Posts: 137
Joined: Fri Nov 26, 2010 2:36 am
Location: Adelaide, Australia

[Solved in 1.37.12] ZoneMinder 1.37.7 - image corruption during event playback

Post by lyallp »

A little while ago, I found that viewing my events, the display in Firefox and Chromium under Linux, the frame playback was showing like a digital tv with the antenna unplugged, blocks, changes in colour, half images, flickering all over the place.
This is in Scale Actual, with Auto codec.
See below, the final frame of an event (so I have not screen captured half way through a screen update).
Selection_004.jpg
Selection_004.jpg (184.65 KiB) Viewed 27867 times
If I scaled down the image to 1/2, the exact same event shows as expected.

It should be noted that also, zmNinga (iPhone App) is exhibiting the same image corruption on exactly the same event.

The jpeg files in the event cache are not corrupted and I am able to view them using image viewing tools, with no problem.

I am seeing the following, in the zms_e*.log

Code: Select all

01/15/22 22:27:48.816572 zms_e19248[20014].WAR-zm_eventstream.cpp/1129 [Unable to send raw frame 85: Resource temporarily unavailable rc 61440]
01/15/22 22:27:48.946572 zms_e19248[20014].WAR-zm_eventstream.cpp/1129 [Unable to send raw frame 89: Resource temporarily unavailable rc 61440]
01/15/22 22:27:49.076567 zms_e19248[20014].WAR-zm_eventstream.cpp/1129 [Unable to send raw frame 93: Resource temporarily unavailable rc 61440]
01/15/22 22:27:49.216570 zms_e19248[20014].WAR-zm_eventstream.cpp/1129 [Unable to send raw frame 97: Resource temporarily unavailable rc 61440]
01/15/22 22:27:49.346576 zms_e19248[20014].WAR-zm_eventstream.cpp/1129 [Unable to send raw frame 101: Resource temporarily unavailable rc 61440]
and the following in the zms_m2.log, although, I think this is unrelated.

Code: Select all

01/15/22 21:48:45.716742 zms_m2[17494].WAR-zm_monitorstream.cpp/480 [Frame send time 265 msec too slow (> 100, throttling maxfps to 10.000]
01/15/22 21:48:46.317705 zms_m2[17494].WAR-zm_monitorstream.cpp/480 [Frame send time 155 msec too slow (> 100, throttling maxfps to 10.000]
01/15/22 21:48:47.464605 zms_m2[17494].WAR-zm_monitorstream.cpp/480 [Frame send time 583 msec too slow (> 100, throttling maxfps to 10.000]
I have a Logitec C922 Web Cam plugged directly into a motherboard USB port.

I have tried rebuilding from source, everything that goes into building ZoneMinder (I use Gentoo Linux), to no avail.
If more info is required, please do not hesitate to ask. Perl versions (oops, my mistake, the old versions where written in Perl, development version is in Python), package versions, apache configuration, etc.
Happy to run in higher debug mode and supplied specified output, if that will help.
Last edited by lyallp on Tue Mar 01, 2022 9:59 am, edited 4 times in total.
...Lyall
Magic919
Posts: 1381
Joined: Wed Sep 18, 2013 6:56 am

Re: ZoneMinder 1.37.7

Post by Magic919 »

-
User avatar
lyallp
Posts: 137
Joined: Fri Nov 26, 2010 2:36 am
Location: Adelaide, Australia

Re: ZoneMinder 1.37.7 - image corruption during event playback

Post by lyallp »

Interesting. A little extra info.

This morning, ffmpeg rebuilt due to zoneminder (I use Gentoo, everything is built from source, and zoneminder has a dependency on ffmpeg)

ffmpeg is version 4.4.1-r1

If I change the scale from 1/2 or 3/4 to actual scale, during playback of an event, playback is smooth, as expected.

If I view the event at full scale from the very start, and try changing scale down to 3/4 or 1/2 during playback, the image corruption starts from the beginning and keeps until the end of the event, despite resizing playback.

Anything full scale or above (1.5 times, 2 times, 4 times, scale to fit) gives the corruption during playback.

Anything below Actual scale (3/4 times, 1/2 times) does not corrupt during playback.

I even tried changing FFMPEG_OUTPUT_OPTIONS to "-framerate 25" rather than "-r 25" as the man page for ffmpeg says 'If in doubt use -framerate...'

This had no effect either.

Using chromium, during event playback, my CPU is 80% idle so it's not as though my computer is running out of steam at large playback size.
...Lyall
User avatar
iconnor
Posts: 2880
Joined: Fri Oct 29, 2010 1:43 am
Location: Toronto
Contact:

Re: ZoneMinder 1.37.7 - image corruption during event playback

Post by iconnor »

Are you using a reverse proxy? nginx or something weird like that?

You are viewing an event stored as jpegs, instead of h264 passthrough or encode. So it's a bunch of jpegs. If you are viewing a full scale, then zms can just send you the file on disk. If you want to scale it, it has to read it in, decode it, scale it, re-encode it and then spit it out.

So full size is a larger jpeg data, which could cause problems being sent over the wire. Scaled will be smaller, but there could be problems with not doing it fast enough or there could be a bug.

Since you are compiling it yourself you might not be compiling it against libjpeg-turbo which could cause problems.

There's a lot of possibilities here.
User avatar
lyallp
Posts: 137
Joined: Fri Nov 26, 2010 2:36 am
Location: Adelaide, Australia

Re: ZoneMinder 1.37.7 - image corruption during event playback

Post by lyallp »

Not using reverse proxy. Apache 2.4.52
PHP 8.0.12
The issue only turned up in the last month or so.
The issue only shows if the image is full size or larger.
Process of scaling below actual reduces the issue.
If you wish, provide the execution parameters of FFMPEG so that I can run it by hand, to check the output.
...Lyall
User avatar
lyallp
Posts: 137
Joined: Fri Nov 26, 2010 2:36 am
Location: Adelaide, Australia

Re: ZoneMinder 1.37.7 - image corruption during event playback

Post by lyallp »

Still happens in 1.37.8

Is it possible one of the package dependencies are a problem? I noted, during a rebuild issue, yesterday, that package rtspServer is used, which, as I understand it, is a media transmission tool?
...Lyall
phgerin
Posts: 11
Joined: Tue Feb 09, 2021 10:28 am

Re: ZoneMinder 1.37.7 - image corruption during event playback

Post by phgerin »

I have the same problem on 2 servers running 1.37.8. The montage view and streaming are also corrupted.
Restarting Zoneminder fixes the problem for a few hours.

debug log:

2022-01-18 17:41:49zms_e90187415160WARUnable to send raw frame 61: Resource temporarily unavailable rc 61440 != 73584zm_eventstream.cpp1129
2022-01-18 17:41:49web_php14762DBGHave image scaling to 160 x 96/usr/share/zoneminder/www/views/image.php405
2022-01-18 17:41:49web_php6940DBGHave image scaling to 160 x 96/usr/share/zoneminder/www/views/image.php405
2022-01-18 17:41:49web_php14762DBGCached scaled image does not exist at /var/cache/zoneminder/events/9/
2022-01-18/901874/00002-capture-160x96.jpg or is no good.. Creating it/usr/share/zoneminder/www/views/image.php393
2022-01-18 17:41:49web_php6940DBGCached scaled image does not exist at /var/cache/zoneminder/events/9/
2022-01-18/901874/00003-capture-160x96.jpg or is no good.. Creating it/usr/share/zoneminder/www/views/image.php393
2022-01-18 17:41:49web_php14762DBGFiguring out height using width: 96 = (160 * 576) / 960/usr/share/zoneminder/www/views/image.php379
2022-01-18 17:41:49web_php6940DBGFiguring out height using width: 96 = (160 * 576) / 960/usr/share/zoneminder/www/views/image.php379
2022-01-18 17:41:49web_php14762DBGDoing a scaled image: scale(0) width(160) height(0)/usr/share/zoneminder/www/views/image.php366
2022-01-18 17:41:49web_php6940DBGDoing a scaled image: scale(0) width(160) height(0)/usr/share/zoneminder/www/views/image.php366
User avatar
lyallp
Posts: 137
Joined: Fri Nov 26, 2010 2:36 am
Location: Adelaide, Australia

Re: ZoneMinder 1.37.7 - image corruption during event playback

Post by lyallp »

Regarding libjpeg-turbo, yes I do have it installed but no, it is not used by the two Zoneminder binaries

What build option -D will cause the build process to use libjpeg-turbo?

Code: Select all

		-DZM_TMPDIR=/var/tmp/zm
		-DZM_SOCKDIR=/var/run/zm
		-DZM_WEB_USER=apache
		-DZM_WEB_GROUP=apache
		-DZM_WEBDIR=${MY_ZM_WEBDIR}
		-DZM_NO_MMAP="$(usex mmap OFF ON)"
		-DZM_NO_X10=OFF
		-DZM_NO_CURL="$(usex curl OFF ON)"
		-DZM_NO_LIBVLC="$(usex vlc OFF ON)"
		-DCMAKE_DISABLE_FIND_PACKAGE_OpenSSL="$(usex ssl OFF ON)"
		-DHAVE_LIBGNUTLS="$(usex gnutls ON OFF)"
		-DHAVE_LIBGCRYPT="$(usex gcrypt ON OFF)"
where I have gcrypt, gnutls and vlc disabled.

I am using a Gentoo Ebuild, it is quite possible the ebuild does not have the correct build parameters.

Code: Select all

root@Lyalls-PC ~
# ldd /usr/bin/zmc
+ ldd /usr/bin/zmc
	linux-vdso.so.1 (0x00007ffde3c8f000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007f09aa4ae000)
	libavformat.so.58 => /usr/lib64/libavformat.so.58 (0x00007f09aa254000)
	libavcodec.so.58 => /usr/lib64/libavcodec.so.58 (0x00007f09a90fb000)
	libswresample.so.3 => /usr/lib64/libswresample.so.3 (0x00007f09a90dd000)
	libswscale.so.5 => /usr/lib64/libswscale.so.5 (0x00007f09a904f000)
	libavutil.so.56 => /usr/lib64/libavutil.so.56 (0x00007f09a8db2000)
	libz.so.1 => /lib64/libz.so.1 (0x00007f09a8d97000)
	libcurl.so.4 => /usr/lib64/libcurl.so.4 (0x00007f09a8d11000)
	libjpeg.so.62 => /usr/lib64/libjpeg.so.62 (0x00007f09a8c7f000)
	libcrypto.so.1.1 => /usr/lib64/libcrypto.so.1.1 (0x00007f09a89c0000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f09a89a0000)
	libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f09a8929000)
	libmysqlclient.so.21 => /usr/lib64/libmysqlclient.so.21 (0x00007f09a82a7000)
	libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.0/libstdc++.so.6 (0x00007f09a8098000)
	libm.so.6 => /lib64/libm.so.6 (0x00007f09a7f66000)
	libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.0/libgcc_s.so.1 (0x00007f09a7f4c000)
	libc.so.6 => /lib64/libc.so.6 (0x00007f09a7d93000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f09ac9cd000)
	libxml2.so.2 => /usr/lib64/libxml2.so.2 (0x00007f09a7c27000)
	libbz2.so.1 => /lib64/libbz2.so.1 (0x00007f09a7c12000)
	libgme.so.0 => /usr/lib64/libgme.so.0 (0x00007f09a7bc3000)
	libmodplug.so.1 => /usr/lib64/libmodplug.so.1 (0x00007f09a7a31000)
	libgcrypt.so.20 => /usr/lib64/libgcrypt.so.20 (0x00007f09a790f000)
	libchromaprint.so.1 => /usr/lib64/libchromaprint.so.1 (0x00007f09a78f9000)
	libbluray.so.2 => /usr/lib64/libbluray.so.2 (0x00007f09a78b1000)
	libssl.so.1.1 => /usr/lib64/libssl.so.1.1 (0x00007f09a781d000)
	librtmp.so.1 => /usr/lib64/librtmp.so.1 (0x00007f09a77fe000)
	libsrt.so.1 => /usr/lib64/libsrt.so.1 (0x00007f09a774e000)
	libssh.so.4 => /usr/lib64/libssh.so.4 (0x00007f09a76f0000)
	libsmbclient.so.0 => /usr/lib64/libsmbclient.so.0 (0x00007f09a76c5000)
	libzmq.so.5 => /usr/lib64/libzmq.so.5 (0x00007f09a7615000)
	libvpx.so.7 => /usr/lib64/libvpx.so.7 (0x00007f09a73e6000)
	libwebpmux.so.3 => /usr/lib64/libwebpmux.so.3 (0x00007f09a73da000)
	libwebp.so.7 => /usr/lib64/libwebp.so.7 (0x00007f09a736d000)
	liblzma.so.5 => /lib64/liblzma.so.5 (0x00007f09a7345000)
	libaribb24.so.0 => /usr/lib64/libaribb24.so.0 (0x00007f09a7331000)
	libdav1d.so.5 => /usr/lib64/libdav1d.so.5 (0x00007f09a71b6000)
	libopencore-amrwb.so.0 => /usr/lib64/libopencore-amrwb.so.0 (0x00007f09a719f000)
	librsvg-2.so.2 => /usr/lib64/librsvg-2.so.2 (0x00007f09a67d7000)
	libgobject-2.0.so.0 => /usr/lib64/libgobject-2.0.so.0 (0x00007f09a677e000)
	libglib-2.0.so.0 => /usr/lib64/libglib-2.0.so.0 (0x00007f09a664b000)
	libcairo.so.2 => /usr/lib64/libcairo.so.2 (0x00007f09a6512000)
	libzvbi.so.0 => /usr/lib64/libzvbi.so.0 (0x00007f09a6491000)
	libsnappy.so.1 => /usr/lib64/libsnappy.so.1 (0x00007f09a6482000)
	libaom.so.3 => /usr/lib64/libaom.so.3 (0x00007f09a5ee5000)
	libcodec2.so.1.0 => /usr/lib64/libcodec2.so.1.0 (0x00007f09a5d97000)
	libfdk-aac.so.2 => /usr/lib64/libfdk-aac.so.2 (0x00007f09a5c4b000)
	libgsm.so.1 => /usr/lib64/libgsm.so.1 (0x00007f09a5c3c000)
	libilbc.so.3 => /usr/lib64/libilbc.so.3 (0x00007f09a5c23000)
	libmp3lame.so.0 => /usr/lib64/libmp3lame.so.0 (0x00007f09a5bab000)
	libopencore-amrnb.so.0 => /usr/lib64/libopencore-amrnb.so.0 (0x00007f09a5b80000)
	libopenjp2.so.7 => /usr/lib64/libopenjp2.so.7 (0x00007f09a5b22000)
	libopus.so.0 => /usr/lib64/libopus.so.0 (0x00007f09a5ac8000)
	librav1e.so.0 => /usr/lib64/librav1e.so.0 (0x00007f09a5871000)
	libspeex.so.1 => /usr/lib64/libspeex.so.1 (0x00007f09a5856000)
	libSvtAv1Enc.so.0 => /usr/lib64/libSvtAv1Enc.so.0 (0x00007f099c9df000)
	libtheoraenc.so.1 => /usr/lib64/libtheoraenc.so.1 (0x00007f099c9b0000)
	libtheoradec.so.1 => /usr/lib64/libtheoradec.so.1 (0x00007f099c99d000)
	libtwolame.so.0 => /usr/lib64/libtwolame.so.0 (0x00007f099c977000)
	libvo-amrwbenc.so.0 => /usr/lib64/libvo-amrwbenc.so.0 (0x00007f099c95b000)
	libvorbis.so.0 => /usr/lib64/libvorbis.so.0 (0x00007f099c92e000)
	libvorbisenc.so.2 => /usr/lib64/libvorbisenc.so.2 (0x00007f099c881000)
	libx264.so.157 => /usr/lib64/libx264.so.157 (0x00007f099c5d4000)
	libx265.so.192 => /usr/lib64/libx265.so.192 (0x00007f099b676000)
	libxvidcore.so.4 => /usr/lib64/libxvidcore.so.4 (0x00007f099b567000)
	libopenh264.so.6 => /usr/lib64/libopenh264.so.6 (0x00007f099b478000)
	libkvazaar.so.6 => /usr/lib64/libkvazaar.so.6 (0x00007f099b3e2000)
	libva.so.2 => /usr/lib64/libva.so.2 (0x00007f099b3b2000)
	libsoxr.so.0 => /usr/lib64/libsoxr.so.0 (0x00007f099b348000)
	libva-drm.so.2 => /usr/lib64/libva-drm.so.2 (0x00007f099b343000)
	libva-x11.so.2 => /usr/lib64/libva-x11.so.2 (0x00007f099b33b000)
	libvdpau.so.1 => /usr/lib64/libvdpau.so.1 (0x00007f099b335000)
	libX11.so.6 => /usr/lib64/libX11.so.6 (0x00007f099b1f2000)
	libdrm.so.2 => /usr/lib64/libdrm.so.2 (0x00007f099b1dd000)
	libOpenCL.so.1 => /usr/lib64/libOpenCL.so.1 (0x00007f099b1cf000)
	libvulkan.so.1 => /usr/lib64/libvulkan.so.1 (0x00007f099b173000)
	libnghttp2.so.14 => /usr/lib64/libnghttp2.so.14 (0x00007f099b147000)
	libzstd.so.1 => /usr/lib64/libzstd.so.1 (0x00007f099b035000)
	libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f099b01c000)
	libicuuc.so.70 => /usr/lib64/libicuuc.so.70 (0x00007f099ae25000)
	libgpg-error.so.0 => /usr/lib64/libgpg-error.so.0 (0x00007f099adfe000)
	libfontconfig.so.1 => /usr/lib64/libfontconfig.so.1 (0x00007f099adb6000)
	libfreetype.so.6 => /usr/lib64/libfreetype.so.6 (0x00007f099acef000)
	libudfread.so.0 => /usr/lib64/libudfread.so.0 (0x00007f099ace4000)
	libsamba-security-samba4.so => /usr/lib64/samba/libsamba-security-samba4.so (0x00007f099acc1000)
	liblibsmb-samba4.so => /usr/lib64/samba/liblibsmb-samba4.so (0x00007f099ac4b000)
	libndr.so.1 => /usr/lib64/libndr.so.1 (0x00007f099ac2d000)
	liblibcli-lsa3-samba4.so => /usr/lib64/samba/liblibcli-lsa3-samba4.so (0x00007f099ac24000)
	libmsrpc3-samba4.so => /usr/lib64/samba/libmsrpc3-samba4.so (0x00007f099abfd000)
	libsamba-util.so.0 => /usr/lib64/libsamba-util.so.0 (0x00007f099ab88000)
	libsmbconf.so.0 => /usr/lib64/libsmbconf.so.0 (0x00007f099aaf2000)
	libreplace-samba4.so => /usr/lib64/samba/libreplace-samba4.so (0x00007f099aaed000)
	libgse-samba4.so => /usr/lib64/samba/libgse-samba4.so (0x00007f099aabe000)
	libutil-cmdline-samba4.so => /usr/lib64/samba/libutil-cmdline-samba4.so (0x00007f099aab6000)
	libcli-smb-common-samba4.so => /usr/lib64/samba/libcli-smb-common-samba4.so (0x00007f099aa82000)
	libsamba-errors.so.1 => /usr/lib64/libsamba-errors.so.1 (0x00007f099a937000)
	libdcerpc-samba-samba4.so => /usr/lib64/samba/libdcerpc-samba-samba4.so (0x00007f099a7a5000)
	libndr-standard.so.0 => /usr/lib64/libndr-standard.so.0 (0x00007f099a42c000)
	libtevent-util.so.0 => /usr/lib64/libtevent-util.so.0 (0x00007f099a425000)
	libsamba-credentials.so.1 => /usr/lib64/libsamba-credentials.so.1 (0x00007f099a40a000)
	libsamba-debug-samba4.so => /usr/lib64/samba/libsamba-debug-samba4.so (0x00007f099a3ff000)
	libsamba3-util-samba4.so => /usr/lib64/samba/libsamba3-util-samba4.so (0x00007f099a3f2000)
	libsecrets3-samba4.so => /usr/lib64/samba/libsecrets3-samba4.so (0x00007f099a3d8000)
	libtalloc.so.2 => /usr/lib64/libtalloc.so.2 (0x00007f099a3cb000)
	libbsd.so.0 => /usr/lib64/libbsd.so.0 (0x00007f099a3b4000)
	libtevent.so.0 => /usr/lib64/libtevent.so.0 (0x00007f099a39d000)
	libsodium.so.23 => /usr/lib64/libsodium.so.23 (0x00007f099a345000)
	libpng16.so.16 => /usr/lib64/libpng16.so.16 (0x00007f099a30e000)
	libcairo-gobject.so.2 => /usr/lib64/libcairo-gobject.so.2 (0x00007f099a303000)
	libgdk_pixbuf-2.0.so.0 => /usr/lib64/libgdk_pixbuf-2.0.so.0 (0x00007f099a2d9000)
	libgio-2.0.so.0 => /usr/lib64/libgio-2.0.so.0 (0x00007f099a106000)
	libpangocairo-1.0.so.0 => /usr/lib64/libpangocairo-1.0.so.0 (0x00007f099a0f5000)
	libpango-1.0.so.0 => /usr/lib64/libpango-1.0.so.0 (0x00007f099a0a3000)
	libffi.so.7 => /usr/lib64/libffi.so.7 (0x00007f099a097000)
	libpixman-1.so.0 => /usr/lib64/libpixman-1.so.0 (0x00007f0999ff4000)
	libEGL.so.1 => /usr/lib64/libEGL.so.1 (0x00007f0999fde000)
	libxcb-shm.so.0 => /usr/lib64/libxcb-shm.so.0 (0x00007f0999fd7000)
	libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x00007f0999fad000)
	libxcb-render.so.0 => /usr/lib64/libxcb-render.so.0 (0x00007f0999f9d000)
	libXrender.so.1 => /usr/lib64/libXrender.so.1 (0x00007f0999f90000)
	libXext.so.6 => /usr/lib64/libXext.so.6 (0x00007f0999f7b000)
	libGL.so.1 => /usr/lib64/libGL.so.1 (0x00007f0999ef5000)
	libogg.so.0 => /usr/lib64/libogg.so.0 (0x00007f0999ee8000)
	libgomp.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.0/libgomp.so.1 (0x00007f0999ea6000)
	libXfixes.so.3 => /usr/lib64/libXfixes.so.3 (0x00007f0999e9d000)
	libicudata.so.70 => /usr/lib64/libicudata.so.70 (0x00007f099827f000)
	libexpat.so.1 => /usr/lib64/libexpat.so.1 (0x00007f099824d000)
	libuuid.so.1 => /lib64/libuuid.so.1 (0x00007f0998244000)
	libharfbuzz.so.0 => /usr/lib64/libharfbuzz.so.0 (0x00007f0998155000)
	libasn1util-samba4.so => /usr/lib64/samba/libasn1util-samba4.so (0x00007f099814c000)
	libcliauth-samba4.so => /usr/lib64/samba/libcliauth-samba4.so (0x00007f0998135000)
	libkrb5samba-samba4.so => /usr/lib64/samba/libkrb5samba-samba4.so (0x00007f0998123000)
	libgensec-samba4.so => /usr/lib64/samba/libgensec-samba4.so (0x00007f09980f1000)
	libCHARSET3-samba4.so => /usr/lib64/samba/libCHARSET3-samba4.so (0x00007f09980ec000)
	libsamba-hostconfig.so.0 => /usr/lib64/libsamba-hostconfig.so.0 (0x00007f09980bd000)
	libsmb-transport-samba4.so => /usr/lib64/samba/libsmb-transport-samba4.so (0x00007f09980b5000)
	libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00007f09980af000)
	libgnutls.so.30 => /usr/lib64/libgnutls.so.30 (0x00007f0997ec4000)
	libgenrand-samba4.so => /usr/lib64/samba/libgenrand-samba4.so (0x00007f0997ebd000)
	libndr-samba4.so => /usr/lib64/samba/libndr-samba4.so (0x00007f0997c9b000)
	libdbwrap-samba4.so => /usr/lib64/samba/libdbwrap-samba4.so (0x00007f0997c8d000)
	libsamba-sockets-samba4.so => /usr/lib64/samba/libsamba-sockets-samba4.so (0x00007f0997c72000)
	libdcerpc-binding.so.0 => /usr/lib64/libdcerpc-binding.so.0 (0x00007f0997c4a000)
	libutil-tdb-samba4.so => /usr/lib64/samba/libutil-tdb-samba4.so (0x00007f0997c43000)
	libndr-samba-samba4.so => /usr/lib64/samba/libndr-samba-samba4.so (0x00007f0997ae7000)
	libsocket-blocking-samba4.so => /usr/lib64/samba/libsocket-blocking-samba4.so (0x00007f0997ae2000)
	libtime-basic-samba4.so => /usr/lib64/samba/libtime-basic-samba4.so (0x00007f0997add000)
	libsys-rw-samba4.so => /usr/lib64/samba/libsys-rw-samba4.so (0x00007f0997ad8000)
	libicui18n.so.70 => /usr/lib64/libicui18n.so.70 (0x00007f09977b9000)
	libunwind-x86_64.so.8 => /usr/lib64/libunwind-x86_64.so.8 (0x00007f099779c000)
	libunwind.so.8 => /usr/lib64/libunwind.so.8 (0x00007f0997780000)
	libsmbd-shim-samba4.so => /usr/lib64/samba/libsmbd-shim-samba4.so (0x00007f099777b000)
	libmessages-util-samba4.so => /usr/lib64/samba/libmessages-util-samba4.so (0x00007f0997776000)
	libinterfaces-samba4.so => /usr/lib64/samba/libinterfaces-samba4.so (0x00007f0997771000)
	libiov-buf-samba4.so => /usr/lib64/samba/libiov-buf-samba4.so (0x00007f099776a000)
	libserver-id-db-samba4.so => /usr/lib64/samba/libserver-id-db-samba4.so (0x00007f0997765000)
	libutil-reg-samba4.so => /usr/lib64/samba/libutil-reg-samba4.so (0x00007f0997760000)
	libtalloc-report-printf-samba4.so => /usr/lib64/samba/libtalloc-report-printf-samba4.so (0x00007f099775b000)
	libmessages-dgm-samba4.so => /usr/lib64/samba/libmessages-dgm-samba4.so (0x00007f099774d000)
	libsamba-cluster-support-samba4.so => /usr/lib64/samba/libsamba-cluster-support-samba4.so (0x00007f0997748000)
	libtdb-wrap-samba4.so => /usr/lib64/samba/libtdb-wrap-samba4.so (0x00007f0997741000)
	libutil-setid-samba4.so => /usr/lib64/samba/libutil-setid-samba4.so (0x00007f099773c000)
	libserver-role-samba4.so => /usr/lib64/samba/libserver-role-samba4.so (0x00007f0997737000)
	libnsl.so.2 => /usr/lib64/libnsl.so.2 (0x00007f099771c000)
	libcap.so.2 => /lib64/libcap.so.2 (0x00007f099770f000)
	libtdb.so.1 => /usr/lib64/libtdb.so.1 (0x00007f09976f6000)
	libndr-nbt.so.0 => /usr/lib64/libndr-nbt.so.0 (0x00007f09976c7000)
	libcli-cldap-samba4.so => /usr/lib64/samba/libcli-cldap-samba4.so (0x00007f09976bd000)
	libaddns-samba4.so => /usr/lib64/samba/libaddns-samba4.so (0x00007f09976ac000)
	libauthkrb5-samba4.so => /usr/lib64/samba/libauthkrb5-samba4.so (0x00007f0997693000)
	libcli-nbt-samba4.so => /usr/lib64/samba/libcli-nbt-samba4.so (0x00007f0997686000)
	libgssapi_krb5.so.2 => /usr/lib64/libgssapi_krb5.so.2 (0x00007f0997631000)
	libkrb5.so.3 => /usr/lib64/libkrb5.so.3 (0x00007f0997556000)
	libldbsamba-samba4.so => /usr/lib64/samba/libldbsamba-samba4.so (0x00007f0997526000)
	libsamdb-common-samba4.so => /usr/lib64/samba/libsamdb-common-samba4.so (0x00007f09974f4000)
	libldb.so.2 => /usr/lib64/libldb.so.2 (0x00007f09974bf000)
	libmd.so.0 => /usr/lib64/libmd.so.0 (0x00007f09974b0000)
	libreplace-tevent.so => /usr/lib64/tevent/libreplace-tevent.so (0x00007f09974ab000)
	libgmodule-2.0.so.0 => /usr/lib64/libgmodule-2.0.so.0 (0x00007f09974a5000)
	libmount.so.1 => /lib64/libmount.so.1 (0x00007f0997445000)
	libpangoft2-1.0.so.0 => /usr/lib64/libpangoft2-1.0.so.0 (0x00007f099742a000)
	libfribidi.so.0 => /usr/lib64/libfribidi.so.0 (0x00007f099740c000)
	libGLdispatch.so.0 => /usr/lib64/libGLdispatch.so.0 (0x00007f0997354000)
	libXau.so.6 => /usr/lib64/libXau.so.6 (0x00007f099734f000)
	libXdmcp.so.6 => /usr/lib64/libXdmcp.so.6 (0x00007f0997347000)
	libGLX.so.0 => /usr/lib64/libGLX.so.0 (0x00007f0997311000)
	libgraphite2.so.3 => /usr/lib64/libgraphite2.so.3 (0x00007f09972eb000)
	libk5crypto.so.3 => /usr/lib64/libk5crypto.so.3 (0x00007f09972b9000)
	libsamdb.so.0 => /usr/lib64/libsamdb.so.0 (0x00007f099729d000)
	libsamba-modules-samba4.so => /usr/lib64/samba/libsamba-modules-samba4.so (0x00007f0997298000)
	libwbclient.so.0 => /usr/lib64/libwbclient.so.0 (0x00007f0997284000)
	libcommon-auth-samba4.so => /usr/lib64/samba/libcommon-auth-samba4.so (0x00007f099727b000)
	libidn2.so.0 => /usr/lib64/libidn2.so.0 (0x00007f0997258000)
	libunistring.so.2 => /usr/lib64/libunistring.so.2 (0x00007f09970d4000)
	libtasn1.so.6 => /usr/lib64/libtasn1.so.6 (0x00007f09970be000)
	libnettle.so.8 => /usr/lib64/libnettle.so.8 (0x00007f0997075000)
	libhogweed.so.6 => /usr/lib64/libhogweed.so.6 (0x00007f099702c000)
	libgmp.so.10 => /usr/lib64/libgmp.so.10 (0x00007f0996fb3000)
	libndr-krb5pac.so.0 => /usr/lib64/libndr-krb5pac.so.0 (0x00007f0996fa1000)
	libmsghdr-samba4.so => /usr/lib64/samba/libmsghdr-samba4.so (0x00007f0996f9a000)
	libtirpc.so.3 => /lib64/libtirpc.so.3 (0x00007f0996f71000)
	libcli-ldap-common-samba4.so => /usr/lib64/samba/libcli-ldap-common-samba4.so (0x00007f0996f67000)
	libclidns-samba4.so => /usr/lib64/samba/libclidns-samba4.so (0x00007f0996f5f000)
	libkrb5support.so.0 => /usr/lib64/libkrb5support.so.0 (0x00007f0996f4e000)
	libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00007f0996f47000)
	libflag-mapping-samba4.so => /usr/lib64/samba/libflag-mapping-samba4.so (0x00007f0996f42000)
	libreplace-ldb.so => /usr/lib64/ldb/libreplace-ldb.so (0x00007f0996f3d000)
	libblkid.so.1 => /lib64/libblkid.so.1 (0x00007f0996ee7000)
	libwinbind-client-samba4.so => /usr/lib64/samba/libwinbind-client-samba4.so (0x00007f0996edf000)
root@Lyalls-PC ~
# ldd /usr/bin/zmu
+ ldd /usr/bin/zmu
	linux-vdso.so.1 (0x00007ffc1e4d5000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007f2fcb9d4000)
	libavformat.so.58 => /usr/lib64/libavformat.so.58 (0x00007f2fcb77a000)
	libavcodec.so.58 => /usr/lib64/libavcodec.so.58 (0x00007f2fca621000)
	libswresample.so.3 => /usr/lib64/libswresample.so.3 (0x00007f2fca603000)
	libswscale.so.5 => /usr/lib64/libswscale.so.5 (0x00007f2fca575000)
	libavutil.so.56 => /usr/lib64/libavutil.so.56 (0x00007f2fca2d8000)
	libz.so.1 => /lib64/libz.so.1 (0x00007f2fca2bd000)
	libcurl.so.4 => /usr/lib64/libcurl.so.4 (0x00007f2fca237000)
	libjpeg.so.62 => /usr/lib64/libjpeg.so.62 (0x00007f2fca1a5000)
	libcrypto.so.1.1 => /usr/lib64/libcrypto.so.1.1 (0x00007f2fc9ee6000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f2fc9ec6000)
	libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f2fc9e4f000)
	libmysqlclient.so.21 => /usr/lib64/libmysqlclient.so.21 (0x00007f2fc97cd000)
	libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.0/libstdc++.so.6 (0x00007f2fc95be000)
	libm.so.6 => /lib64/libm.so.6 (0x00007f2fc948c000)
	libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.0/libgcc_s.so.1 (0x00007f2fc9472000)
	libc.so.6 => /lib64/libc.so.6 (0x00007f2fc92b9000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f2fcdf0f000)
	libxml2.so.2 => /usr/lib64/libxml2.so.2 (0x00007f2fc914d000)
	libbz2.so.1 => /lib64/libbz2.so.1 (0x00007f2fc9138000)
	libgme.so.0 => /usr/lib64/libgme.so.0 (0x00007f2fc90e9000)
	libmodplug.so.1 => /usr/lib64/libmodplug.so.1 (0x00007f2fc8f57000)
	libgcrypt.so.20 => /usr/lib64/libgcrypt.so.20 (0x00007f2fc8e35000)
	libchromaprint.so.1 => /usr/lib64/libchromaprint.so.1 (0x00007f2fc8e1f000)
	libbluray.so.2 => /usr/lib64/libbluray.so.2 (0x00007f2fc8dd7000)
	libssl.so.1.1 => /usr/lib64/libssl.so.1.1 (0x00007f2fc8d43000)
	librtmp.so.1 => /usr/lib64/librtmp.so.1 (0x00007f2fc8d24000)
	libsrt.so.1 => /usr/lib64/libsrt.so.1 (0x00007f2fc8c74000)
	libssh.so.4 => /usr/lib64/libssh.so.4 (0x00007f2fc8c16000)
	libsmbclient.so.0 => /usr/lib64/libsmbclient.so.0 (0x00007f2fc8beb000)
	libzmq.so.5 => /usr/lib64/libzmq.so.5 (0x00007f2fc8b3b000)
	libvpx.so.7 => /usr/lib64/libvpx.so.7 (0x00007f2fc890c000)
	libwebpmux.so.3 => /usr/lib64/libwebpmux.so.3 (0x00007f2fc8900000)
	libwebp.so.7 => /usr/lib64/libwebp.so.7 (0x00007f2fc8893000)
	liblzma.so.5 => /lib64/liblzma.so.5 (0x00007f2fc886b000)
	libaribb24.so.0 => /usr/lib64/libaribb24.so.0 (0x00007f2fc8857000)
	libdav1d.so.5 => /usr/lib64/libdav1d.so.5 (0x00007f2fc86dc000)
	libopencore-amrwb.so.0 => /usr/lib64/libopencore-amrwb.so.0 (0x00007f2fc86c5000)
	librsvg-2.so.2 => /usr/lib64/librsvg-2.so.2 (0x00007f2fc7cfd000)
	libgobject-2.0.so.0 => /usr/lib64/libgobject-2.0.so.0 (0x00007f2fc7ca4000)
	libglib-2.0.so.0 => /usr/lib64/libglib-2.0.so.0 (0x00007f2fc7b71000)
	libcairo.so.2 => /usr/lib64/libcairo.so.2 (0x00007f2fc7a38000)
	libzvbi.so.0 => /usr/lib64/libzvbi.so.0 (0x00007f2fc79b7000)
	libsnappy.so.1 => /usr/lib64/libsnappy.so.1 (0x00007f2fc79a8000)
	libaom.so.3 => /usr/lib64/libaom.so.3 (0x00007f2fc740b000)
	libcodec2.so.1.0 => /usr/lib64/libcodec2.so.1.0 (0x00007f2fc72bd000)
	libfdk-aac.so.2 => /usr/lib64/libfdk-aac.so.2 (0x00007f2fc7171000)
	libgsm.so.1 => /usr/lib64/libgsm.so.1 (0x00007f2fc7162000)
	libilbc.so.3 => /usr/lib64/libilbc.so.3 (0x00007f2fc7149000)
	libmp3lame.so.0 => /usr/lib64/libmp3lame.so.0 (0x00007f2fc70d1000)
	libopencore-amrnb.so.0 => /usr/lib64/libopencore-amrnb.so.0 (0x00007f2fc70a6000)
	libopenjp2.so.7 => /usr/lib64/libopenjp2.so.7 (0x00007f2fc7048000)
	libopus.so.0 => /usr/lib64/libopus.so.0 (0x00007f2fc6fee000)
	librav1e.so.0 => /usr/lib64/librav1e.so.0 (0x00007f2fc6d97000)
	libspeex.so.1 => /usr/lib64/libspeex.so.1 (0x00007f2fc6d7c000)
	libSvtAv1Enc.so.0 => /usr/lib64/libSvtAv1Enc.so.0 (0x00007f2fbdf05000)
	libtheoraenc.so.1 => /usr/lib64/libtheoraenc.so.1 (0x00007f2fbded6000)
	libtheoradec.so.1 => /usr/lib64/libtheoradec.so.1 (0x00007f2fbdec3000)
	libtwolame.so.0 => /usr/lib64/libtwolame.so.0 (0x00007f2fbde9d000)
	libvo-amrwbenc.so.0 => /usr/lib64/libvo-amrwbenc.so.0 (0x00007f2fbde81000)
	libvorbis.so.0 => /usr/lib64/libvorbis.so.0 (0x00007f2fbde54000)
	libvorbisenc.so.2 => /usr/lib64/libvorbisenc.so.2 (0x00007f2fbdda7000)
	libx264.so.157 => /usr/lib64/libx264.so.157 (0x00007f2fbdafa000)
	libx265.so.192 => /usr/lib64/libx265.so.192 (0x00007f2fbcb9c000)
	libxvidcore.so.4 => /usr/lib64/libxvidcore.so.4 (0x00007f2fbca8d000)
	libopenh264.so.6 => /usr/lib64/libopenh264.so.6 (0x00007f2fbc99e000)
	libkvazaar.so.6 => /usr/lib64/libkvazaar.so.6 (0x00007f2fbc908000)
	libva.so.2 => /usr/lib64/libva.so.2 (0x00007f2fbc8d8000)
	libsoxr.so.0 => /usr/lib64/libsoxr.so.0 (0x00007f2fbc86e000)
	libva-drm.so.2 => /usr/lib64/libva-drm.so.2 (0x00007f2fbc869000)
	libva-x11.so.2 => /usr/lib64/libva-x11.so.2 (0x00007f2fbc861000)
	libvdpau.so.1 => /usr/lib64/libvdpau.so.1 (0x00007f2fbc85b000)
	libX11.so.6 => /usr/lib64/libX11.so.6 (0x00007f2fbc718000)
	libdrm.so.2 => /usr/lib64/libdrm.so.2 (0x00007f2fbc703000)
	libOpenCL.so.1 => /usr/lib64/libOpenCL.so.1 (0x00007f2fbc6f5000)
	libvulkan.so.1 => /usr/lib64/libvulkan.so.1 (0x00007f2fbc699000)
	libnghttp2.so.14 => /usr/lib64/libnghttp2.so.14 (0x00007f2fbc66d000)
	libzstd.so.1 => /usr/lib64/libzstd.so.1 (0x00007f2fbc55b000)
	libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f2fbc542000)
	libicuuc.so.70 => /usr/lib64/libicuuc.so.70 (0x00007f2fbc34b000)
	libgpg-error.so.0 => /usr/lib64/libgpg-error.so.0 (0x00007f2fbc324000)
	libfontconfig.so.1 => /usr/lib64/libfontconfig.so.1 (0x00007f2fbc2dc000)
	libfreetype.so.6 => /usr/lib64/libfreetype.so.6 (0x00007f2fbc215000)
	libudfread.so.0 => /usr/lib64/libudfread.so.0 (0x00007f2fbc20a000)
	libsamba-security-samba4.so => /usr/lib64/samba/libsamba-security-samba4.so (0x00007f2fbc1e7000)
	liblibsmb-samba4.so => /usr/lib64/samba/liblibsmb-samba4.so (0x00007f2fbc171000)
	libndr.so.1 => /usr/lib64/libndr.so.1 (0x00007f2fbc153000)
	liblibcli-lsa3-samba4.so => /usr/lib64/samba/liblibcli-lsa3-samba4.so (0x00007f2fbc14a000)
	libmsrpc3-samba4.so => /usr/lib64/samba/libmsrpc3-samba4.so (0x00007f2fbc123000)
	libsamba-util.so.0 => /usr/lib64/libsamba-util.so.0 (0x00007f2fbc0ae000)
	libsmbconf.so.0 => /usr/lib64/libsmbconf.so.0 (0x00007f2fbc018000)
	libreplace-samba4.so => /usr/lib64/samba/libreplace-samba4.so (0x00007f2fbc013000)
	libgse-samba4.so => /usr/lib64/samba/libgse-samba4.so (0x00007f2fbbfe4000)
	libutil-cmdline-samba4.so => /usr/lib64/samba/libutil-cmdline-samba4.so (0x00007f2fbbfdc000)
	libcli-smb-common-samba4.so => /usr/lib64/samba/libcli-smb-common-samba4.so (0x00007f2fbbfa8000)
	libsamba-errors.so.1 => /usr/lib64/libsamba-errors.so.1 (0x00007f2fbbe5d000)
	libdcerpc-samba-samba4.so => /usr/lib64/samba/libdcerpc-samba-samba4.so (0x00007f2fbbccb000)
	libndr-standard.so.0 => /usr/lib64/libndr-standard.so.0 (0x00007f2fbb952000)
	libtevent-util.so.0 => /usr/lib64/libtevent-util.so.0 (0x00007f2fbb94b000)
	libsamba-credentials.so.1 => /usr/lib64/libsamba-credentials.so.1 (0x00007f2fbb930000)
	libsamba-debug-samba4.so => /usr/lib64/samba/libsamba-debug-samba4.so (0x00007f2fbb925000)
	libsamba3-util-samba4.so => /usr/lib64/samba/libsamba3-util-samba4.so (0x00007f2fbb918000)
	libsecrets3-samba4.so => /usr/lib64/samba/libsecrets3-samba4.so (0x00007f2fbb8fe000)
	libtalloc.so.2 => /usr/lib64/libtalloc.so.2 (0x00007f2fbb8f1000)
	libbsd.so.0 => /usr/lib64/libbsd.so.0 (0x00007f2fbb8da000)
	libtevent.so.0 => /usr/lib64/libtevent.so.0 (0x00007f2fbb8c3000)
	libsodium.so.23 => /usr/lib64/libsodium.so.23 (0x00007f2fbb86b000)
	libpng16.so.16 => /usr/lib64/libpng16.so.16 (0x00007f2fbb834000)
	libcairo-gobject.so.2 => /usr/lib64/libcairo-gobject.so.2 (0x00007f2fbb829000)
	libgdk_pixbuf-2.0.so.0 => /usr/lib64/libgdk_pixbuf-2.0.so.0 (0x00007f2fbb7ff000)
	libgio-2.0.so.0 => /usr/lib64/libgio-2.0.so.0 (0x00007f2fbb62c000)
	libpangocairo-1.0.so.0 => /usr/lib64/libpangocairo-1.0.so.0 (0x00007f2fbb61b000)
	libpango-1.0.so.0 => /usr/lib64/libpango-1.0.so.0 (0x00007f2fbb5c9000)
	libffi.so.7 => /usr/lib64/libffi.so.7 (0x00007f2fbb5bd000)
	libpixman-1.so.0 => /usr/lib64/libpixman-1.so.0 (0x00007f2fbb51a000)
	libEGL.so.1 => /usr/lib64/libEGL.so.1 (0x00007f2fbb504000)
	libxcb-shm.so.0 => /usr/lib64/libxcb-shm.so.0 (0x00007f2fbb4fd000)
	libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x00007f2fbb4d3000)
	libxcb-render.so.0 => /usr/lib64/libxcb-render.so.0 (0x00007f2fbb4c3000)
	libXrender.so.1 => /usr/lib64/libXrender.so.1 (0x00007f2fbb4b6000)
	libXext.so.6 => /usr/lib64/libXext.so.6 (0x00007f2fbb4a1000)
	libGL.so.1 => /usr/lib64/libGL.so.1 (0x00007f2fbb41b000)
	libogg.so.0 => /usr/lib64/libogg.so.0 (0x00007f2fbb40e000)
	libgomp.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.0/libgomp.so.1 (0x00007f2fbb3cc000)
	libXfixes.so.3 => /usr/lib64/libXfixes.so.3 (0x00007f2fbb3c3000)
	libicudata.so.70 => /usr/lib64/libicudata.so.70 (0x00007f2fb97a5000)
	libexpat.so.1 => /usr/lib64/libexpat.so.1 (0x00007f2fb9773000)
	libuuid.so.1 => /lib64/libuuid.so.1 (0x00007f2fb976a000)
	libharfbuzz.so.0 => /usr/lib64/libharfbuzz.so.0 (0x00007f2fb967b000)
	libasn1util-samba4.so => /usr/lib64/samba/libasn1util-samba4.so (0x00007f2fb9672000)
	libcliauth-samba4.so => /usr/lib64/samba/libcliauth-samba4.so (0x00007f2fb965b000)
	libkrb5samba-samba4.so => /usr/lib64/samba/libkrb5samba-samba4.so (0x00007f2fb9649000)
	libgensec-samba4.so => /usr/lib64/samba/libgensec-samba4.so (0x00007f2fb9617000)
	libCHARSET3-samba4.so => /usr/lib64/samba/libCHARSET3-samba4.so (0x00007f2fb9612000)
	libsamba-hostconfig.so.0 => /usr/lib64/libsamba-hostconfig.so.0 (0x00007f2fb95e3000)
	libsmb-transport-samba4.so => /usr/lib64/samba/libsmb-transport-samba4.so (0x00007f2fb95db000)
	libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00007f2fb95d5000)
	libgnutls.so.30 => /usr/lib64/libgnutls.so.30 (0x00007f2fb93ea000)
	libgenrand-samba4.so => /usr/lib64/samba/libgenrand-samba4.so (0x00007f2fb93e3000)
	libndr-samba4.so => /usr/lib64/samba/libndr-samba4.so (0x00007f2fb91c1000)
	libdbwrap-samba4.so => /usr/lib64/samba/libdbwrap-samba4.so (0x00007f2fb91b3000)
	libsamba-sockets-samba4.so => /usr/lib64/samba/libsamba-sockets-samba4.so (0x00007f2fb9198000)
	libdcerpc-binding.so.0 => /usr/lib64/libdcerpc-binding.so.0 (0x00007f2fb9170000)
	libutil-tdb-samba4.so => /usr/lib64/samba/libutil-tdb-samba4.so (0x00007f2fb9169000)
	libndr-samba-samba4.so => /usr/lib64/samba/libndr-samba-samba4.so (0x00007f2fb900d000)
	libsocket-blocking-samba4.so => /usr/lib64/samba/libsocket-blocking-samba4.so (0x00007f2fb9008000)
	libtime-basic-samba4.so => /usr/lib64/samba/libtime-basic-samba4.so (0x00007f2fb9003000)
	libsys-rw-samba4.so => /usr/lib64/samba/libsys-rw-samba4.so (0x00007f2fb8ffe000)
	libicui18n.so.70 => /usr/lib64/libicui18n.so.70 (0x00007f2fb8cdf000)
	libunwind-x86_64.so.8 => /usr/lib64/libunwind-x86_64.so.8 (0x00007f2fb8cc2000)
	libunwind.so.8 => /usr/lib64/libunwind.so.8 (0x00007f2fb8ca6000)
	libsmbd-shim-samba4.so => /usr/lib64/samba/libsmbd-shim-samba4.so (0x00007f2fb8ca1000)
	libmessages-util-samba4.so => /usr/lib64/samba/libmessages-util-samba4.so (0x00007f2fb8c9c000)
	libinterfaces-samba4.so => /usr/lib64/samba/libinterfaces-samba4.so (0x00007f2fb8c97000)
	libiov-buf-samba4.so => /usr/lib64/samba/libiov-buf-samba4.so (0x00007f2fb8c90000)
	libserver-id-db-samba4.so => /usr/lib64/samba/libserver-id-db-samba4.so (0x00007f2fb8c8b000)
	libutil-reg-samba4.so => /usr/lib64/samba/libutil-reg-samba4.so (0x00007f2fb8c86000)
	libtalloc-report-printf-samba4.so => /usr/lib64/samba/libtalloc-report-printf-samba4.so (0x00007f2fb8c81000)
	libmessages-dgm-samba4.so => /usr/lib64/samba/libmessages-dgm-samba4.so (0x00007f2fb8c73000)
	libsamba-cluster-support-samba4.so => /usr/lib64/samba/libsamba-cluster-support-samba4.so (0x00007f2fb8c6e000)
	libtdb-wrap-samba4.so => /usr/lib64/samba/libtdb-wrap-samba4.so (0x00007f2fb8c67000)
	libutil-setid-samba4.so => /usr/lib64/samba/libutil-setid-samba4.so (0x00007f2fb8c62000)
	libserver-role-samba4.so => /usr/lib64/samba/libserver-role-samba4.so (0x00007f2fb8c5d000)
	libnsl.so.2 => /usr/lib64/libnsl.so.2 (0x00007f2fb8c42000)
	libcap.so.2 => /lib64/libcap.so.2 (0x00007f2fb8c35000)
	libtdb.so.1 => /usr/lib64/libtdb.so.1 (0x00007f2fb8c1c000)
	libndr-nbt.so.0 => /usr/lib64/libndr-nbt.so.0 (0x00007f2fb8bed000)
	libcli-cldap-samba4.so => /usr/lib64/samba/libcli-cldap-samba4.so (0x00007f2fb8be3000)
	libaddns-samba4.so => /usr/lib64/samba/libaddns-samba4.so (0x00007f2fb8bd2000)
	libauthkrb5-samba4.so => /usr/lib64/samba/libauthkrb5-samba4.so (0x00007f2fb8bb9000)
	libcli-nbt-samba4.so => /usr/lib64/samba/libcli-nbt-samba4.so (0x00007f2fb8bac000)
	libgssapi_krb5.so.2 => /usr/lib64/libgssapi_krb5.so.2 (0x00007f2fb8b57000)
	libkrb5.so.3 => /usr/lib64/libkrb5.so.3 (0x00007f2fb8a7c000)
	libldbsamba-samba4.so => /usr/lib64/samba/libldbsamba-samba4.so (0x00007f2fb8a4c000)
	libsamdb-common-samba4.so => /usr/lib64/samba/libsamdb-common-samba4.so (0x00007f2fb8a1a000)
	libldb.so.2 => /usr/lib64/libldb.so.2 (0x00007f2fb89e5000)
	libmd.so.0 => /usr/lib64/libmd.so.0 (0x00007f2fb89d6000)
	libreplace-tevent.so => /usr/lib64/tevent/libreplace-tevent.so (0x00007f2fb89d1000)
	libgmodule-2.0.so.0 => /usr/lib64/libgmodule-2.0.so.0 (0x00007f2fb89cb000)
	libmount.so.1 => /lib64/libmount.so.1 (0x00007f2fb896b000)
	libpangoft2-1.0.so.0 => /usr/lib64/libpangoft2-1.0.so.0 (0x00007f2fb8950000)
	libfribidi.so.0 => /usr/lib64/libfribidi.so.0 (0x00007f2fb8932000)
	libGLdispatch.so.0 => /usr/lib64/libGLdispatch.so.0 (0x00007f2fb887a000)
	libXau.so.6 => /usr/lib64/libXau.so.6 (0x00007f2fb8875000)
	libXdmcp.so.6 => /usr/lib64/libXdmcp.so.6 (0x00007f2fb886d000)
	libGLX.so.0 => /usr/lib64/libGLX.so.0 (0x00007f2fb8837000)
	libgraphite2.so.3 => /usr/lib64/libgraphite2.so.3 (0x00007f2fb8811000)
	libk5crypto.so.3 => /usr/lib64/libk5crypto.so.3 (0x00007f2fb87df000)
	libsamdb.so.0 => /usr/lib64/libsamdb.so.0 (0x00007f2fb87c3000)
	libsamba-modules-samba4.so => /usr/lib64/samba/libsamba-modules-samba4.so (0x00007f2fb87be000)
	libwbclient.so.0 => /usr/lib64/libwbclient.so.0 (0x00007f2fb87aa000)
	libcommon-auth-samba4.so => /usr/lib64/samba/libcommon-auth-samba4.so (0x00007f2fb87a1000)
	libidn2.so.0 => /usr/lib64/libidn2.so.0 (0x00007f2fb877e000)
	libunistring.so.2 => /usr/lib64/libunistring.so.2 (0x00007f2fb85fa000)
	libtasn1.so.6 => /usr/lib64/libtasn1.so.6 (0x00007f2fb85e4000)
	libnettle.so.8 => /usr/lib64/libnettle.so.8 (0x00007f2fb859b000)
	libhogweed.so.6 => /usr/lib64/libhogweed.so.6 (0x00007f2fb8552000)
	libgmp.so.10 => /usr/lib64/libgmp.so.10 (0x00007f2fb84d9000)
	libndr-krb5pac.so.0 => /usr/lib64/libndr-krb5pac.so.0 (0x00007f2fb84c7000)
	libmsghdr-samba4.so => /usr/lib64/samba/libmsghdr-samba4.so (0x00007f2fb84c0000)
	libtirpc.so.3 => /lib64/libtirpc.so.3 (0x00007f2fb8497000)
	libcli-ldap-common-samba4.so => /usr/lib64/samba/libcli-ldap-common-samba4.so (0x00007f2fb848d000)
	libclidns-samba4.so => /usr/lib64/samba/libclidns-samba4.so (0x00007f2fb8485000)
	libkrb5support.so.0 => /usr/lib64/libkrb5support.so.0 (0x00007f2fb8474000)
	libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00007f2fb846d000)
	libflag-mapping-samba4.so => /usr/lib64/samba/libflag-mapping-samba4.so (0x00007f2fb8468000)
	libreplace-ldb.so => /usr/lib64/ldb/libreplace-ldb.so (0x00007f2fb8463000)
	libblkid.so.1 => /lib64/libblkid.so.1 (0x00007f2fb840d000)
	libwinbind-client-samba4.so => /usr/lib64/samba/libwinbind-client-samba4.so (0x00007f2fb8405000)
root@Lyalls-PC ~
# 
...Lyall
User avatar
iconnor
Posts: 2880
Joined: Fri Oct 29, 2010 1:43 am
Location: Toronto
Contact:

Re: ZoneMinder 1.37.7 - image corruption during event playback

Post by iconnor »

jpegturbo should be auto detected by cmake. you'd have to look at the cmake output to see why it didn't pick it up.

Yesterday I fixed an issue that was causing corruption on live view after doing a logrotate. So please update. I don't think this issue would cause event playback to be corrupted, but maybe.
User avatar
lyallp
Posts: 137
Joined: Fri Nov 26, 2010 2:36 am
Location: Adelaide, Australia

Re: ZoneMinder 1.37.7 - image corruption during event playback

Post by lyallp »

No mention of jpeg-turbo in the build... v1.37.9


Interesting, however, if I have scale at 2x, the corruption occurs early in the event but goes away, and the remainder of the event plays just fine.

Scale at 3x and 4x, same thing.

It's a bit difficult to tell, but the corruption appears to be different each time. I can't pause at the point of corruption and step by step because my pause button does not work - as mentioned in another thread.

The interesting thing, is that the corruption is scaled up too, implying the problem exists prior to scaling.

As mentioned before, I have looked at the individual event jpegs and all appear to be fine. Looking at individual frames using Zoneminder UI also appears to show each frame is ok.

Code: Select all

>>> Source unpacked in /tmp/portage/www-misc/zoneminder-9999/work
>>> Preparing source in /tmp/portage/www-misc/zoneminder-9999/work/zoneminder-9999 ...
 * Source directory (CMAKE_USE_DIR): "/tmp/portage/www-misc/zoneminder-9999/work/zoneminder-9999"
 * Build directory  (BUILD_DIR):     "/tmp/portage/www-misc/zoneminder-9999/work/zoneminder-9999_build"
 * Hardcoded definition(s) removed in CMakeLists.txt:
 *    set(CMAKE_BUILD_TYPE Release CACHE STRING "Build type: Release or Debug" FO
>>> Source prepared.
>>> Configuring source in /tmp/portage/www-misc/zoneminder-9999/work/zoneminder-9999 ...
 * Source directory (CMAKE_USE_DIR): "/tmp/portage/www-misc/zoneminder-9999/work/zoneminder-9999"
 * Build directory  (BUILD_DIR):     "/tmp/portage/www-misc/zoneminder-9999/work/zoneminder-9999_build"
cmake -C /tmp/portage/www-misc/zoneminder-9999/work/zoneminder-9999_build/gentoo_common_config.cmake -G Ninja -DCMAKE_INSTALL_PREFIX=/usr -DZM_TMPDIR=/var/tmp/zm -DZM_SOCKDIR=/var/run/zm -DZM_WEB_USER=apache -DZM_WEB_GROUP=apache -DZM_WEBDIR=/usr/share/zoneminder/www -DZM_NO_MMAP=OFF -DZM_NO_X10=OFF -DZM_NO_CURL=OFF -DZM_NO_LIBVLC=ON -DCMAKE_DISABLE_FIND_PACKAGE_OpenSSL=OFF -DHAVE_LIBGNUTLS=OFF -DHAVE_LIBGCRYPT=OFF -DCMAKE_BUILD_TYPE=Gentoo -DCMAKE_TOOLCHAIN_FILE=/tmp/portage/www-misc/zoneminder-9999/work/zoneminder-9999_build/gentoo_toolchain.cmake  /tmp/portage/www-misc/zoneminder-9999/work/zoneminder-9999
loading initial cache file /tmp/portage/www-misc/zoneminder-9999/work/zoneminder-9999_build/gentoo_common_config.cmake
-- The C compiler identification is GNU 11.2.0
-- The CXX compiler identification is GNU 11.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/x86_64-pc-linux-gnu-gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/x86_64-pc-linux-gnu-g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Detected compiler: /usr/bin/x86_64-pc-linux-gnu-gcc
-- Performing Test HAVE_SENDFILE4_SUPPORT
-- Performing Test HAVE_SENDFILE4_SUPPORT - Success
-- Sendfile support: Linux/Solaris sendfile()
-- Building man pages: Yes (default)
-- Looking for execinfo.h
-- Looking for execinfo.h - found
-- Looking for backtrace
-- Looking for backtrace - found
-- Looking for backtrace_symbols
-- Looking for backtrace_symbols - found
-- Looking for ucontext.h
-- Looking for ucontext.h - found
-- Looking for sys/sendfile.h
-- Looking for sys/sendfile.h - found
-- Looking for sys/syscall.h
-- Looking for sys/syscall.h - found
-- Looking for syscall
-- Looking for syscall - found
-- Looking for sendfile
-- Looking for sendfile - found
-- Looking for posix_memalign
-- Looking for posix_memalign - found
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of siginfo_t
-- Check size of siginfo_t - done
-- Check size of ucontext_t
-- Check size of ucontext_t - done
-- Looking for clock_gettime in rt
-- Looking for clock_gettime in rt - found
-- Found ZLIB: /usr/lib64/libz.so (found version "1.2.11") 
-- Looking for zlib.h
-- Looking for zlib.h - found
-- Found CURL: /usr/lib64/libcurl.so (found version "7.79.1")  
-- Looking for curl/curl.h
-- Looking for curl/curl.h - found
-- Found JPEG: /usr/lib64/libjpeg.so (found version "62") 
-- Looking for include files stdio.h, jpeglib.h
-- Looking for include files stdio.h, jpeglib.h - found
-- Found OpenSSL: /usr/lib64/libcrypto.so (found version "1.1.1m")  
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pcre.h
-- Looking for pcre.h - found
-- Looking for mysql.h
-- Looking for mysql.h - found
-- Found PkgConfig: x86_64-pc-linux-gnu-pkg-config (found version "1.8.0") 
-- Checking for module 'libavutil'
--   Found libavutil, version 56.70.100
-- Checking for module 'libswresample'
--   Found libswresample, version 3.9.100
-- Checking for module 'libswscale'
--   Found libswscale, version 5.9.100
-- Checking for module 'libavcodec'
--   Found libavcodec, version 58.134.100
-- Checking for module 'libavformat'
--   Found libavformat, version 58.76.100
-- Checking for module 'libavfilter'
--   Found libavfilter, version 7.110.100
-- Checking for module 'libavdevice'
--   Found libavdevice, version 58.13.100
-- Found FFMPEG: /usr/include (found suitable version "56.70.100", minimum required is "55.34.100") found components: avcodec avformat avutil swresample swscale 
-- Looking for libavutil/hwcontext.h
-- Looking for libavutil/hwcontext.h - found
-- Looking for rfb/rfb.h
-- Looking for rfb/rfb.h - found
-- Could NOT find GSOAP (missing: GSOAP_CXX_LIBRARIES GSOAP_INCLUDE_DIR GSOAP_WSDL2H GSOAP_SOAPCPP2) (Required is at least version "2.0.0")
-- Found V4L2: /usr/include   
-- Found Perl: /usr/bin/perl (found version "5.34.0") 
-- Checking for perl module Sys::Syslog
-- Checking for perl module Sys::Syslog - found at /usr/lib64/perl5/5.34/x86_64-linux-thread-multi/Sys/Syslog.pm
-- Checking for perl module DBI
-- Checking for perl module DBI - found at /usr/lib64/perl5/vendor_perl/5.34/x86_64-linux-thread-multi/DBI.pm
-- Checking for perl module DBD::mysql
-- Checking for perl module DBD::mysql - found at /usr/lib64/perl5/vendor_perl/5.34/x86_64-linux-thread-multi/DBD/mysql.pm
-- Checking for perl module Getopt::Long
-- Checking for perl module Getopt::Long - found at /usr/lib64/perl5/5.34/Getopt/Long.pm
-- Checking for perl module Time::HiRes
-- Checking for perl module Time::HiRes - found at /usr/lib64/perl5/5.34/x86_64-linux-thread-multi/Time/HiRes.pm
-- Checking for perl module Date::Manip
-- Checking for perl module Date::Manip - found at /usr/lib64/perl5/vendor_perl/5.34/Date/Manip.pm
-- Checking for perl module LWP::UserAgent
-- Checking for perl module LWP::UserAgent - found at /usr/lib64/perl5/vendor_perl/5.34/LWP/UserAgent.pm
-- Checking for perl module ExtUtils::MakeMaker
-- Checking for perl module ExtUtils::MakeMaker - found at /usr/lib64/perl5/5.34/ExtUtils/MakeMaker.pm
-- Checking for perl module Sys::Mmap
-- Checking for perl module Sys::Mmap - found at /usr/lib64/perl5/vendor_perl/5.34/x86_64-linux-thread-multi/Sys/Mmap.pm
-- Found PerlModules: TRUE  
-- Using web user: apache
-- Using web group: apache
-- Checking for one of the modules 'polkit-gobject-1;polkit'
-- Checking for module 'glib-2.0'
--   Found glib-2.0, version 2.68.4
-- Found GLIB2: /usr/lib64/libglib-2.0.so  
-- Found Polkit: /usr/lib64/libpolkit-gobject-1.so  
-- The ASM compiler identification is GNU
-- Found assembler: /usr/bin/x86_64-pc-linux-gnu-gcc
[0mBuilding unit tests: No (default)[0m
-- Optional libraries found: zlib cURL OpenSSL PCRE libVNC
-- Optional libraries not found: gsoap
-- Enabled crypto backend: openssl
-- Enabled JWT backend: jwt_cpp
-- Running ZoneMinder configuration generator
Generating '/tmp/portage/www-misc/zoneminder-9999/work/zoneminder-9999_build/zm_config_defines.h'
Updating '/tmp/portage/www-misc/zoneminder-9999/work/zoneminder-9999_build/db/zm_create.sql'
-- ZoneMinder configuration generator completed successfully
-- <<< Gentoo configuration >>>
Build type      Gentoo
Install path    /usr
Compiler flags:
C               -mtune=native -march=native -O2 -pipe
C++             -mtune=native -march=native -O2 -pipe -D__STDC_CONSTANT_MACROS
Linker flags:
Executable      -Wl,-O1 -Wl,--as-needed
Module          -Wl,-O1 -Wl,--as-needed
Shared          -Wl,-O1 -Wl,--as-needed

-- Configuring done
-- Generating done
[33mCMake Warning:
  Manually-specified variables were not used by the project:

    HAVE_LIBGCRYPT
...Lyall
reelbusy
Posts: 5
Joined: Wed Jan 26, 2022 4:37 am

Re: ZoneMinder 1.37.7 - image corruption during event playback

Post by reelbusy »

Glad i found this thread. New user so just thought i'd chime in seeing the same screen behaviour consistently on 1.36.12 ( ubuntu ppa), zmninja same, frames ok, different computers,browsers, os. i just keep using 3/4 view and all is fine (=>actual size i get the bottom scan effect). I have noticed if i lower the capture res to 352x240 it avoids it, i have not had time to test various settings there yet. I'll do some testing there and try playback plugged into the router, no monitor on my zm box i'll plug one up and test play back there (just thought of that).
reelbusy
Posts: 5
Joined: Wed Jan 26, 2022 4:37 am

Re: ZoneMinder 1.37.7 - image corruption during event playback

Post by reelbusy »

just quick update on this. Same on the physical server, doesn't seem over the wire related. However i cannot reproduce if i set resolution < 720p 640x480 works fine (in zmninja too) at all scales, maybe another poster can confirm same. edit: also i noticed scan effect line increases to 3/4 of the image in casual testing if i change image quality to 100% from default quality of 70% (which was unexpected, figured it may get less if related), also as an aside looked for ways to verify original image, imagemagic identify i'ds the original frame ok.
reelbusy
Posts: 5
Joined: Wed Jan 26, 2022 4:37 am

Re: ZoneMinder 1.37.7 - image corruption during event playback

Post by reelbusy »

fixed this 1x+ event playback corruption in my 1.36 install. wish i could tell what i did...wasn't trying to fix *that* and my setup is unusual in that
most of my feeds are rtsp from a dvr. Anyways i was putzing with stuff as seems zmc memory usage is really nuts when
my dvr has h265+ enabled on some of cams with passthru (+ seems to be key why no idea). I disabled that on bunch of cams in the dvr and zmc res memory process usage seems to return to normal, but in the process of doing that i also tweeked a few settings. What i do know is passthru or not it did it. frame rate didn't make a difference, seemed to happen on 1080p+, , a few are basic cams, a few are hikvision 4k (but not ran on 4k setting) a few are wireless monitored thru zm (and they did it too!) i did reboot the dvr (but have done that before with no effect).Also lowered post and pre (but had done that before) and i disabled frames with passthru (which i've done before too). Maybe when i go to further tweaking things it will happen again...so i know
User avatar
lyallp
Posts: 137
Joined: Fri Nov 26, 2010 2:36 am
Location: Adelaide, Australia

Re: ZoneMinder 1.37.7 - image corruption during event playback

Post by lyallp »

Just updating.
As stated before, the image corruption also occurs using the API with zmNinja on iPhone 12 Mini, IOS 15.3.1

I know zmNinja is end of life, but it is an app which uses the API, and as such, demonstrates the image corruption occurrs in the API and in the Web Interface of ZoneMinder.

Note, the horizontal shear, about 1/3rd the way down and the block of broken pixels, near the right.

This is via a USB Web Cam, the only camera attached and monitored by ZoneMinder.
Attachments
zmNinja Screen shot.jpg
zmNinja Screen shot.jpg (470.08 KiB) Viewed 27258 times
...Lyall
User avatar
iconnor
Posts: 2880
Joined: Fri Oct 29, 2010 1:43 am
Location: Toronto
Contact:

Re: ZoneMinder 1.37.7 - image corruption during event playback

Post by iconnor »

Okay showing us more pictures of it happening isn't actually adding any useful information. We need to narrow some stuff down and gets some logs.

First off, how are you saving the event? In .mp4 or jpegs? You are viewing as jpegs, but is zms loading the image from mp4 or loading the jpeg from disk. In the unscaled case, it doesn't even need to read it in, it just tells the linux kernel to send the file. In the scaled case, we load it in, decode it, resize, encode and write it out. So very different code paths.

Second, are the jpegs on disk corrupted? I suspect not, but we should double check. Either use the frames button to view them or use a file manager and browse to the event dir and look at the jpegs there.

Third: Debug logs from zms. I doubt they will tell us the real problem, but will at least tell me which code path is being used.

Fourth: zmNinja isn't dead it's just taking us a while to get it republished.
Post Reply