WarmUpTill / SceneSwitcher

An automated scene switcher for OBS Studio
https://obsproject.com/forum/resources/automatic-scene-switching.395/
GNU General Public License v2.0
929 stars 72 forks source link

Unable to use plugin- advanced-scene-switcher-opencv.so #1139

Open bmp opened 3 months ago

bmp commented 3 months ago

Describe the bug I am unable to use Advances Scene Switcher plugin as I get an error when I click and OBS quits/

To Reproduce Steps to reproduce the behavior:

  1. Go to 'Tools'
  2. Click on 'Advanced Scene Switcher'
  3. See error

Screenshot_20240616_134848

Expected behavior The menu/pop-up for advances scene switcher opens-up.

Logs Here is the appropriate redacted portion of the log:

13:48:11.343: [adv-ss] version: 1.26.4
13:48:11.343: [adv-ss] version: e3ff6f34fcce1a42d6eb65effdb7eb279776fb5e
13:48:11.344: [adv-ss] attempting to load "[REDACTED]/.config/obs-studio/plugins/advanced-scene-switcher/bin/64bit/adv-ss-plugins/advanced-scene-switcher-twitch.so"
13:48:11.348: [adv-ss] successfully loaded "[REDACTED]/.config/obs-studio/plugins/advanced-scene-switcher/bin/64bit/adv-ss-plugins/advanced-scene-switcher-twitch.so"
13:48:11.348: [adv-ss] attempting to load "[REDACTED]/.config/obs-studio/plugins/advanced-scene-switcher/bin/64bit/adv-ss-plugins/advanced-scene-switcher-midi.so"
13:48:11.351: [adv-ss] successfully loaded "[REDACTED]/.config/obs-studio/plugins/advanced-scene-switcher/bin/64bit/adv-ss-plugins/advanced-scene-switcher-midi.so"
13:48:11.351: [adv-ss] attempting to load "[REDACTED]/.config/obs-studio/plugins/advanced-scene-switcher/bin/64bit/adv-ss-plugins/advanced-scene-switcher-opencv.so"
13:48:11.351: [adv-ss] failed to load "[REDACTED]/.config/obs-studio/plugins/advanced-scene-switcher/bin/64bit/adv-ss-plugins/advanced-scene-switcher-opencv.so": Cannot load library [REDACTED]/.config/obs-studio/plugins/advanced-scene-switcher/bin/64bit/adv-ss-plugins/advanced-scene-switcher-opencv.so: libopencv_objdetect.so.4.5d: cannot open shared object file: No such file or directory
13:48:11.351: [adv-ss] attempting to load "[REDACTED]/.config/obs-studio/plugins/advanced-scene-switcher/bin/64bit/adv-ss-plugins/advanced-scene-switcher-base.so"
13:48:11.355: [adv-ss] successfully loaded "[REDACTED]/.config/obs-studio/plugins/advanced-scene-switcher/bin/64bit/adv-ss-plugins/advanced-scene-switcher-base.so"

Version information From the logs, Kernel Version: Linux 6.9.3-1-default Distribution: "openSUSE Tumbleweed" "20240612" Desktop Environment: KDE (KDE) Session Type: x11 Window System: X11.0, Vendor: The X.Org Foundation, Version: 1.21.1 Qt Version: 6.7.1 (runtime), 6.7.1 (compiled) Portable mode: false OBS 29.1.3 (linux) [adv-ss] version: 1.26.4

Additional context

Here is the folder plugin structure,

.config/obs-studio/plugins/advanced-scene-switcher/
├── bin
│   └── 64bit
│       ├── advanced-scene-switcher-lib.so -> advanced-scene-switcher-lib.so.1
│       ├── advanced-scene-switcher-lib.so.1
│       ├── advanced-scene-switcher.so
│       └── adv-ss-plugins
│           ├── advanced-scene-switcher-base.so
│           ├── advanced-scene-switcher-midi.so
│           ├── advanced-scene-switcher-opencv.so
│           └── advanced-scene-switcher-twitch.so
└── data
    ├── locale
    │   ├── de-DE.ini
    │   ├── en-US.ini
    │   ├── es-ES.ini
    │   ├── fr-FR.ini
    │   ├── ru-RU.ini
    │   ├── tr-TR.ini
    │   └── zh-CN.ini
    └── res
        ├── cascadeClassifiers
        │   ├── haarcascade_eye_tree_eyeglasses.xml
        │   ├── haarcascade_eye.xml
        │   ├── haarcascade_frontalface_alt2.xml
        │   ├── haarcascade_frontalface_alt_tree.xml
        │   ├── haarcascade_frontalface_alt.xml
        │   ├── haarcascade_frontalface_default.xml
        │   ├── haarcascade_fullbody.xml
        │   ├── haarcascade_lefteye_2splits.xml
        │   ├── haarcascade_lowerbody.xml
        │   ├── haarcascade_profileface.xml
        │   ├── haarcascade_righteye_2splits.xml
        │   └── haarcascade_upperbody.xml
        ├── images
        │   ├── DarkAdvanced.svg
        │   ├── DarkDoubleDown.svg
        │   ├── DarkDoubleUp.svg
        │   ├── DarkGroup.svg
        │   ├── DarkNotEqual.svg
        │   ├── DarkNote.svg
        │   ├── DarkRegex.svg
        │   ├── DarkSearch.svg
        │   ├── DarkTime.svg
        │   ├── LightAdvanced.svg
        │   ├── LightDoubleDown.svg
        │   ├── LightDoubleUp.svg
        │   ├── LightGroup.svg
        │   ├── LightNotEqual.svg
        │   ├── LightNote.svg
        │   ├── LightRegex.svg
        │   ├── LightSearch.svg
        │   └── LightTime.svg
        └── ocr
            └── eng.traineddata

The issue seems to be with version of libopencv being used in this version. Could you please let me know which version of the plugin used 4.0.9 or below? I can try and check with that plugin.

This is the smaller portion of ldd (full ouput below),

        libopencv_objdetect.so.4.5d => not found
        libopencv_imgproc.so.4.5d => not found
        libopencv_core.so.4.5d => not found

Here is the output for ls /usr/lib64/libopencv_,

libopencv_aruco.so             libopencv_face.so              libopencv_highgui.so           libopencv_objdetect.so         libopencv_shape.so             libopencv_videoio.so
libopencv_aruco.so.409         libopencv_face.so.409          libopencv_highgui.so.409       libopencv_objdetect.so.409     libopencv_shape.so.409         libopencv_videoio.so.409
libopencv_aruco.so.4.9.0       libopencv_face.so.4.9.0        libopencv_highgui.so.4.9.0     libopencv_objdetect.so.4.9.0   libopencv_shape.so.4.9.0       libopencv_videoio.so.4.9.0
libopencv_calib3d.so           libopencv_features2d.so        libopencv_imgcodecs.so         libopencv_optflow.so           libopencv_stitching.so         libopencv_video.so
libopencv_calib3d.so.409       libopencv_features2d.so.409    libopencv_imgcodecs.so.409     libopencv_optflow.so.409       libopencv_stitching.so.409     libopencv_video.so.409
libopencv_calib3d.so.4.9.0     libopencv_features2d.so.4.9.0  libopencv_imgcodecs.so.4.9.0   libopencv_optflow.so.4.9.0     libopencv_stitching.so.4.9.0   libopencv_video.so.4.9.0
libopencv_core.so              libopencv_flann.so             libopencv_imgproc.so           libopencv_photo.so             libopencv_superres.so          libopencv_videostab.so
libopencv_core.so.409          libopencv_flann.so.409         libopencv_imgproc.so.409       libopencv_photo.so.409         libopencv_superres.so.409      libopencv_videostab.so.409
libopencv_core.so.4.9.0        libopencv_flann.so.4.9.0       libopencv_imgproc.so.4.9.0     libopencv_photo.so.4.9.0       libopencv_superres.so.4.9.0    libopencv_videostab.so.4.9.0
libopencv_dnn.so               libopencv_gapi.so              libopencv_ml.so                libopencv_plot.so              libopencv_tracking.so          libopencv_ximgproc.so
libopencv_dnn.so.409           libopencv_gapi.so.409          libopencv_ml.so.409            libopencv_plot.so.409          libopencv_tracking.so.409      libopencv_ximgproc.so.409
libopencv_dnn.so.4.9.0         libopencv_gapi.so.4.9.0        libopencv_ml.so.4.9.0          libopencv_plot.so.4.9.0        libopencv_tracking.so.4.9.0    libopencv_ximgproc.so.4.9.0

Here is the ldd for advanced-scene-switcher-opencv.so,

        linux-vdso.so.1 (0x00007ffbac483000)
        advanced-scene-switcher-lib.so.1 => /home/bmp/.config/obs-studio/plugins/advanced-scene-switcher/bin/64bit/adv-ss-plugins/../advanced-scene-switcher-lib.so.1 (0x00007ffbabc00000)
        libQt6Widgets.so.6 => /lib64/libQt6Widgets.so.6 (0x00007ffbab400000)
        libQt6Gui.so.6 => /lib64/libQt6Gui.so.6 (0x00007ffbaaa00000)
        libQt6Core.so.6 => /lib64/libQt6Core.so.6 (0x00007ffbaa200000)
        libobs.so.0 => /lib64/libobs.so.0 (0x00007ffbab2fc000)
        libopencv_objdetect.so.4.5d => not found
        libopencv_imgproc.so.4.5d => not found
        libopencv_core.so.4.5d => not found
        libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007ffba9e00000)
        libm.so.6 => /lib64/libm.so.6 (0x00007ffbaa919000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007ffbac3dc000)
        libc.so.6 => /lib64/libc.so.6 (0x00007ffba9a00000)
        libobs-frontend-api.so.0 => /lib64/libobs-frontend-api.so.0 (0x00007ffbac3d2000)
        libX11.so.6 => /lib64/libX11.so.6 (0x00007ffbaa0ba000)
        /lib64/ld-linux-x86-64.so.2 (0x00007ffbac485000)
        libEGL.so.1 => /lib64/libEGL.so.1 (0x00007ffbac3be000)
        libfontconfig.so.1 => /lib64/libfontconfig.so.1 (0x00007ffbabbb1000)
        libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x00007ffba9cb5000)
        libQt6DBus.so.6 => /lib64/libQt6DBus.so.6 (0x00007ffbaa85c000)
        libxkbcommon.so.0 => /lib64/libxkbcommon.so.0 (0x00007ffbac374000)
        libGLX.so.0 => /lib64/libGLX.so.0 (0x00007ffbab2ca000)
        libOpenGL.so.0 => /lib64/libOpenGL.so.0 (0x00007ffbab29d000)
        libpng16.so.16 => /lib64/glibc-hwcaps/x86-64-v3/libpng16.so.16 (0x00007ffbaa06d000)
        libharfbuzz.so.0 => /lib64/libharfbuzz.so.0 (0x00007ffba98ed000)
        libmd4c.so.0 => /lib64/libmd4c.so.0 (0x00007ffbabb9f000)
        libfreetype.so.6 => /lib64/libfreetype.so.6 (0x00007ffba982f000)
        libz.so.1 => /lib64/glibc-hwcaps/x86-64-v3/libz.so.1 (0x00007ffbab283000)
        libicui18n.so.75 => /lib64/libicui18n.so.75 (0x00007ffba9400000)
        libicuuc.so.75 => /lib64/libicuuc.so.75 (0x00007ffba9000000)
        libzstd.so.1 => /lib64/glibc-hwcaps/x86-64-v3/libzstd.so.1 (0x00007ffba934f000)
        libsystemd.so.0 => /lib64/libsystemd.so.0 (0x00007ffba926b000)
        libdouble-conversion.so.3 => /lib64/libdouble-conversion.so.3 (0x00007ffbaa84c000)
        libb2.so.1 => /lib64/libb2.so.1 (0x00007ffbabb94000)
        libpcre2-16.so.0 => /lib64/libpcre2-16.so.0 (0x00007ffba9c16000)
        libavcodec.so.60 => /usr/lib64/libavcodec.so.60 (0x00007ffba7c00000)
        libavformat.so.60 => /usr/lib64/libavformat.so.60 (0x00007ffba7800000)
        libavutil.so.58 => /usr/lib64/libavutil.so.58 (0x00007ffba6600000)
        libswscale.so.7 => /usr/lib64/libswscale.so.7 (0x00007ffba979e000)
        libswresample.so.4 => /usr/lib64/libswresample.so.4 (0x00007ffbaa82d000)
        libjansson.so.4 => /usr/lib64/libjansson.so.4 (0x00007ffbaa05c000)
        libX11-xcb.so.1 => /usr/lib64/libX11-xcb.so.1 (0x00007ffbaa828000)
        libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x00007ffba923f000)
        libuuid.so.1 => /usr/lib64/libuuid.so.1 (0x00007ffba9c0d000)
        libpulse.so.0 => /usr/lib64/libpulse.so.0 (0x00007ffba8fab000)
        libgio-2.0.so.0 => /usr/lib64/libgio-2.0.so.0 (0x00007ffba6411000)
        libxcb-xinput.so.0 => /usr/lib64/libxcb-xinput.so.0 (0x00007ffba921a000)
        libwayland-client.so.0 => /usr/lib64/libwayland-client.so.0 (0x00007ffba8f99000)
        libGLdispatch.so.0 => /lib64/libGLdispatch.so.0 (0x00007ffba8ee2000)
        libexpat.so.1 => /lib64/libexpat.so.1 (0x00007ffba8eb6000)
        libpcre2-8.so.0 => /lib64/libpcre2-8.so.0 (0x00007ffba7b54000)
        libdbus-1.so.3 => /lib64/libdbus-1.so.3 (0x00007ffba7b01000)
        libgraphite2.so.3 => /lib64/libgraphite2.so.3 (0x00007ffba7ae0000)
        libbz2.so.1 => /lib64/glibc-hwcaps/x86-64-v3/libbz2.so.1.0.6 (0x00007ffba7ac7000)
        libbrotlidec.so.1 => /lib64/glibc-hwcaps/x86-64-v3/libbrotlidec.so.1.1.0 (0x00007ffba8ea8000)
        libicudata.so.75 => /lib64/libicudata.so.75 (0x00007ffbaa059000)
        libcap.so.2 => /lib64/libcap.so.2 (0x00007ffba7abb000)
        libgcrypt.so.20 => /lib64/glibc-hwcaps/x86-64-v3/libgcrypt.so.20.4.3 (0x00007ffba62c6000)
        liblz4.so.1 => /lib64/glibc-hwcaps/x86-64-v3/liblz4.so.1.9.4 (0x00007ffba7a97000)
        liblzma.so.5 => /lib64/glibc-hwcaps/x86-64-v3/liblzma.so.5.6.2 (0x00007ffba77c6000)
        libgomp.so.1 => /lib64/libgomp.so.1 (0x00007ffba7770000)
        libvpx.so.9 => /lib64/libvpx.so.9 (0x00007ffba6000000)
        libwebpmux.so.3 => /lib64/libwebpmux.so.3 (0x00007ffba7a8a000)
        libdav1d.so.7 => /lib64/libdav1d.so.7 (0x00007ffba5e1d000)
        libopencore-amrwb.so.0 => /lib64/libopencore-amrwb.so.0 (0x00007ffba775a000)
        libzvbi.so.0 => /lib64/libzvbi.so.0 (0x00007ffba5d8d000)
        libaom.so.3 => /lib64/libaom.so.3 (0x00007ffba5800000)
        libcodec2.so.1.2 => /lib64/libcodec2.so.1.2 (0x00007ffba56b4000)
        libgsm.so.1 => /lib64/libgsm.so.1 (0x00007ffba774b000)
        libjxl.so.0.10 => /lib64/glibc-hwcaps/x86-64-v3/libjxl.so.0.10.2 (0x00007ffba5400000)
        libjxl_threads.so.0.10 => /lib64/glibc-hwcaps/x86-64-v3/libjxl_threads.so.0.10.2 (0x00007ffba9214000)
        libmp3lame.so.0 => /lib64/glibc-hwcaps/x86-64-v3/libmp3lame.so.0.0.0 (0x00007ffba624f000)
        libopencore-amrnb.so.0 => /lib64/libopencore-amrnb.so.0 (0x00007ffba7722000)
        libopenjp2.so.7 => /lib64/glibc-hwcaps/x86-64-v3/libopenjp2.so.2.5.2 (0x00007ffba53a0000)
        libopus.so.0 => /lib64/libopus.so.0 (0x00007ffba5339000)
        librav1e.so.0.6 => /lib64/librav1e.so.0.6 (0x00007ffba5000000)
        libspeex.so.1 => /lib64/libspeex.so.1 (0x00007ffba7706000)
        libSvtAv1Enc.so.2 => /lib64/libSvtAv1Enc.so.2 (0x00007ffba4800000)
        libtheoraenc.so.1 => /lib64/libtheoraenc.so.1 (0x00007ffba5d54000)
        libtheoradec.so.1 => /lib64/libtheoradec.so.1 (0x00007ffba569a000)
        libtwolame.so.0 => /lib64/libtwolame.so.0 (0x00007ffba4fd9000)
        libvo-amrwbenc.so.0 => /lib64/libvo-amrwbenc.so.0 (0x00007ffba567c000)
        libvorbis.so.0 => /lib64/glibc-hwcaps/x86-64-v3/libvorbis.so.0.4.9 (0x00007ffba4fab000)
        libvorbisenc.so.2 => /lib64/glibc-hwcaps/x86-64-v3/libvorbisenc.so.2.0.12 (0x00007ffba4f00000)
        libwebp.so.7 => /lib64/libwebp.so.7 (0x00007ffba4e92000)
        libx264.so.164 => /lib64/libx264.so.164 (0x00007ffba4400000)
        libx265.so.199 => /lib64/libx265.so.199 (0x00007ffba3400000)
        libxvidcore.so.4 => /lib64/libxvidcore.so.4 (0x00007ffba46f2000)
        libva.so.2 => /lib64/libva.so.2 (0x00007ffba4e62000)
        libvpl.so.2 => /lib64/libvpl.so.2 (0x00007ffba33a9000)
        libxml2.so.2 => /lib64/libxml2.so.2 (0x00007ffba323a000)
        libopenmpt.so.0 => /lib64/libopenmpt.so.0 (0x00007ffba3063000)
        libbluray.so.2 => /lib64/libbluray.so.2 (0x00007ffba3003000)
        libgnutls.so.30 => /lib64/libgnutls.so.30 (0x00007ffba2c00000)
        librist.so.4 => /lib64/librist.so.4 (0x00007ffba2f52000)
        libsrt.so.1.5 => /lib64/libsrt.so.1.5 (0x00007ffba2e8e000)
        libssh.so.4 => /lib64/libssh.so.4 (0x00007ffba2e1d000)
        libsmbclient.so.0 => /lib64/libsmbclient.so.0 (0x00007ffba46c8000)
        libzmq.so.5 => /lib64/libzmq.so.5 (0x00007ffba2b6a000)
        libva-drm.so.2 => /lib64/libva-drm.so.2 (0x00007ffba8e9f000)
        libva-x11.so.2 => /lib64/libva-x11.so.2 (0x00007ffba7a82000)
        libvdpau.so.1 => /lib64/libvdpau.so.1 (0x00007ffba7700000)
        libdrm.so.2 => /lib64/libdrm.so.2 (0x00007ffba4e4b000)
        libsoxr.so.0 => /lib64/libsoxr.so.0 (0x00007ffba2b04000)
        libXau.so.6 => /lib64/libXau.so.6 (0x00007ffba76fb000)
        libpulsecommon-17.0.so => /usr/lib64/pulseaudio/libpulsecommon-17.0.so (0x00007ffba2a7c000)
        libgobject-2.0.so.0 => /lib64/libgobject-2.0.so.0 (0x00007ffba2a18000)
        libgmodule-2.0.so.0 => /lib64/libgmodule-2.0.so.0 (0x00007ffba76f4000)
        libmount.so.1 => /lib64/libmount.so.1 (0x00007ffba29cb000)
        libselinux.so.1 => /lib64/libselinux.so.1 (0x00007ffba43d2000)
        libffi.so.8 => /lib64/libffi.so.8 (0x00007ffba5d49000)
        libbrotlicommon.so.1 => /lib64/glibc-hwcaps/x86-64-v3/libbrotlicommon.so.1.1.0 (0x00007ffba29a8000)
        libgpg-error.so.0 => /lib64/libgpg-error.so.0 (0x00007ffba2982000)
        libjxl_cms.so.0.10 => /lib64/glibc-hwcaps/x86-64-v3/libjxl_cms.so.0.10.2 (0x00007ffba295a000)
        libhwy.so.1 => /lib64/libhwy.so.1 (0x00007ffba532d000)
        libbrotlienc.so.1 => /lib64/glibc-hwcaps/x86-64-v3/libbrotlienc.so.1.1.0 (0x00007ffba28b6000)
        libogg.so.0 => /lib64/libogg.so.0 (0x00007ffba4e41000)
        libsharpyuv.so.0 => /lib64/libsharpyuv.so.0 (0x00007ffba46c0000)
        libnuma.so.1 => /lib64/libnuma.so.1 (0x00007ffba46b2000)
        libmpg123.so.0 => /lib64/libmpg123.so.0 (0x00007ffba2859000)
        libvorbisfile.so.3 => /lib64/glibc-hwcaps/x86-64-v3/libvorbisfile.so.3.3.8 (0x00007ffba43c8000)
        libjitterentropy.so.3 => /lib64/libjitterentropy.so.3 (0x00007ffba284f000)
        libp11-kit.so.0 => /lib64/libp11-kit.so.0 (0x00007ffba26c8000)
        libidn2.so.0 => /lib64/libidn2.so.0 (0x00007ffba26a6000)
        libunistring.so.5 => /lib64/libunistring.so.5 (0x00007ffba24f1000)
        libtasn1.so.6 => /lib64/libtasn1.so.6 (0x00007ffba24da000)
        libnettle.so.8 => /lib64/glibc-hwcaps/x86-64-v3/libnettle.so.8.8 (0x00007ffba2482000)
        libhogweed.so.6 => /lib64/glibc-hwcaps/x86-64-v3/libhogweed.so.6.8 (0x00007ffba2437000)
        libgmp.so.10 => /lib64/libgmp.so.10 (0x00007ffba2390000)
        libcrypto.so.3 => /lib64/glibc-hwcaps/x86-64-v3/libcrypto.so.3.1.4 (0x00007ffba1e00000)
        libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x00007ffba233d000)
        libreplace-private-samba.so => /usr/lib64/samba/libreplace-private-samba.so (0x00007ffba46ab000)
        libsamba-security-private-samba.so => /usr/lib64/samba/libsamba-security-private-samba.so (0x00007ffba1dbd000)
        libmsrpc3-private-samba.so => /usr/lib64/samba/libmsrpc3-private-samba.so (0x00007ffba1d8f000)
        liblibcli-lsa3-private-samba.so => /usr/lib64/samba/liblibcli-lsa3-private-samba.so (0x00007ffba43bf000)
        libsmbconf.so.0 => /lib64/libsmbconf.so.0 (0x00007ffba1cf6000)
        libndr.so.4 => /lib64/libndr.so.4 (0x00007ffba1cd6000)
        liblibsmb-private-samba.so => /usr/lib64/samba/liblibsmb-private-samba.so (0x00007ffba1c6a000)
        libsamba-util.so.0 => /lib64/libsamba-util.so.0 (0x00007ffba1bf4000)
        libsamba-credentials.so.1 => /lib64/libsamba-credentials.so.1 (0x00007ffba1bd9000)
        libsamba-errors.so.1 => /lib64/libsamba-errors.so.1 (0x00007ffba1aa5000)
        libsamba-hostconfig.so.0 => /lib64/libsamba-hostconfig.so.0 (0x00007ffba1a70000)
        libndr-standard.so.0 => /lib64/libndr-standard.so.0 (0x00007ffba1600000)
        libtevent-util.so.0 => /lib64/libtevent-util.so.0 (0x00007ffba1a69000)
        libgse-private-samba.so => /usr/lib64/samba/libgse-private-samba.so (0x00007ffba1a39000)
        libdcerpc-samba-private-samba.so => /usr/lib64/samba/libdcerpc-samba-private-samba.so (0x00007ffba143b000)
        libsamba3-util-private-samba.so => /usr/lib64/samba/libsamba3-util-private-samba.so (0x00007ffba1a2d000)
        libsamba-debug-private-samba.so => /usr/lib64/samba/libsamba-debug-private-samba.so (0x00007ffba1a21000)
        libcli-smb-common-private-samba.so => /usr/lib64/samba/libcli-smb-common-private-samba.so (0x00007ffba19d8000)
        libgenrand-private-samba.so => /usr/lib64/samba/libgenrand-private-samba.so (0x00007ffba19d2000)
        libsecrets3-private-samba.so => /usr/lib64/samba/libsecrets3-private-samba.so (0x00007ffba19be000)
        libtevent.so.0 => /lib64/libtevent.so.0 (0x00007ffba1424000)
        libtalloc.so.2 => /lib64/glibc-hwcaps/x86-64-v3/libtalloc.so.2.4.2 (0x00007ffba19b1000)
        libunwind.so.8 => /lib64/libunwind.so.8 (0x00007ffba140a000)
        libsodium.so.26 => /lib64/libsodium.so.26 (0x00007ffba13aa000)
        libpgm-5.3.so.0 => /lib64/libpgm-5.3.so.0 (0x00007ffba1360000)
        libXext.so.6 => /lib64/libXext.so.6 (0x00007ffba134b000)
        libXfixes.so.3 => /lib64/libXfixes.so.3 (0x00007ffba1343000)
        libxcb-dri3.so.0 => /lib64/libxcb-dri3.so.0 (0x00007ffba133c000)
        libsndfile.so.1 => /lib64/libsndfile.so.1 (0x00007ffba12b6000)
        libblkid.so.1 => /lib64/libblkid.so.1 (0x00007ffba127a000)
        libkrb5.so.3 => /lib64/libkrb5.so.3 (0x00007ffba11ab000)
        libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x00007ffba1193000)
        libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00007ffba118d000)
        libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x00007ffba117e000)
        libstable-sort-private-samba.so => /usr/lib64/samba/libstable-sort-private-samba.so (0x00007ffba1179000)
        libndr-samba4-private-samba.so => /usr/lib64/samba/libndr-samba4-private-samba.so (0x00007ffba0e00000)
        libnpa-tstream-private-samba.so => /usr/lib64/samba/libnpa-tstream-private-samba.so (0x00007ffba116d000)
        libcliauth-private-samba.so => /usr/lib64/samba/libcliauth-private-samba.so (0x00007ffba1154000)
        libndr-samba-private-samba.so => /usr/lib64/samba/libndr-samba-private-samba.so (0x00007ffba0c5a000)
        libutil-tdb-private-samba.so => /usr/lib64/samba/libutil-tdb-private-samba.so (0x00007ffba114e000)
        libsamba-sockets-private-samba.so => /usr/lib64/samba/libsamba-sockets-private-samba.so (0x00007ffba1132000)
        libgensec-private-samba.so => /usr/lib64/samba/libgensec-private-samba.so (0x00007ffba10ff000)
        libdcerpc-binding.so.0 => /lib64/libdcerpc-binding.so.0 (0x00007ffba10d8000)
        libdbwrap-private-samba.so => /usr/lib64/samba/libdbwrap-private-samba.so (0x00007ffba10cb000)
        libsocket-blocking-private-samba.so => /usr/lib64/samba/libsocket-blocking-private-samba.so (0x00007ffba10c6000)
        libcommon-auth-private-samba.so => /usr/lib64/samba/libcommon-auth-private-samba.so (0x00007ffba10b2000)
        libsmbd-shim-private-samba.so => /usr/lib64/samba/libsmbd-shim-private-samba.so (0x00007ffba10ad000)
        libsamba-cluster-support-private-samba.so => /usr/lib64/samba/libsamba-cluster-support-private-samba.so (0x00007ffba1096000)
        libserver-id-db-private-samba.so => /usr/lib64/samba/libserver-id-db-private-samba.so (0x00007ffba1090000)
        libtalloc-report-printf-private-samba.so => /usr/lib64/samba/libtalloc-report-printf-private-samba.so (0x00007ffba108b000)
        libutil-reg-private-samba.so => /usr/lib64/samba/libutil-reg-private-samba.so (0x00007ffba1086000)
        libinterfaces-private-samba.so => /usr/lib64/samba/libinterfaces-private-samba.so (0x00007ffba107f000)
        libCHARSET3-private-samba.so => /usr/lib64/samba/libCHARSET3-private-samba.so (0x00007ffba107a000)
        libsys-rw-private-samba.so => /usr/lib64/samba/libsys-rw-private-samba.so (0x00007ffba1075000)
        libmessages-dgm-private-samba.so => /usr/lib64/samba/libmessages-dgm-private-samba.so (0x00007ffba1067000)
        libmessages-util-private-samba.so => /usr/lib64/samba/libmessages-util-private-samba.so (0x00007ffba1062000)
        libtdb-wrap-private-samba.so => /usr/lib64/samba/libtdb-wrap-private-samba.so (0x00007ffba105b000)
        libserver-role-private-samba.so => /usr/lib64/samba/libserver-role-private-samba.so (0x00007ffba1056000)
        libtime-basic-private-samba.so => /usr/lib64/samba/libtime-basic-private-samba.so (0x00007ffba1051000)
        libutil-setid-private-samba.so => /usr/lib64/samba/libutil-setid-private-samba.so (0x00007ffba104c000)
        libtdb.so.1 => /lib64/libtdb.so.1 (0x00007ffba1034000)
        libldap.so.2 => /lib64/libldap.so.2 (0x00007ffba0bf8000)
        liblber.so.2 => /lib64/liblber.so.2 (0x00007ffba1021000)
        libkrb5samba-private-samba.so => /usr/lib64/samba/libkrb5samba-private-samba.so (0x00007ffba0be8000)
        libsmb-transport-private-samba.so => /usr/lib64/samba/libsmb-transport-private-samba.so (0x00007ffba1019000)
        libauthkrb5-private-samba.so => /usr/lib64/samba/libauthkrb5-private-samba.so (0x00007ffba0bcf000)
        libldbsamba-private-samba.so => /usr/lib64/samba/libldbsamba-private-samba.so (0x00007ffba0b9f000)
        libsamdb-common-private-samba.so => /usr/lib64/samba/libsamdb-common-private-samba.so (0x00007ffba0b69000)
        libldb.so.2 => /lib64/libldb.so.2 (0x00007ffba0b33000)
        libndr-nbt.so.0 => /lib64/libndr-nbt.so.0 (0x00007ffba0b05000)
        libcli-cldap-private-samba.so => /usr/lib64/samba/libcli-cldap-private-samba.so (0x00007ffba0afb000)
        libaddns-private-samba.so => /usr/lib64/samba/libaddns-private-samba.so (0x00007ffba0aea000)
        libcli-nbt-private-samba.so => /usr/lib64/samba/libcli-nbt-private-samba.so (0x00007ffba0ade000)
        libiov-buf-private-samba.so => /usr/lib64/samba/libiov-buf-private-samba.so (0x00007ffba0ad9000)
        libFLAC.so.12 => /lib64/glibc-hwcaps/x86-64-v3/libFLAC.so.12.1.0 (0x00007ffba0a76000)
        libeconf.so.0 => /lib64/libeconf.so.0 (0x00007ffba0a67000)
        libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00007ffba0a60000)
        libresolv.so.2 => /lib64/libresolv.so.2 (0x00007ffba0a4f000)
        libndr-krb5pac.so.0 => /lib64/libndr-krb5pac.so.0 (0x00007ffba0a2d000)
        libasn1util-private-samba.so => /usr/lib64/samba/libasn1util-private-samba.so (0x00007ffba0a25000)
        libsamba-modules-private-samba.so => /usr/lib64/samba/libsamba-modules-private-samba.so (0x00007ffba0a1e000)
        libwbclient.so.0 => /lib64/libwbclient.so.0 (0x00007ffba0a09000)
        libsamdb.so.0 => /lib64/libsamdb.so.0 (0x00007ffba09e9000)
        libMESSAGING-SEND-private-samba.so => /usr/lib64/samba/libMESSAGING-SEND-private-samba.so (0x00007ffba09e4000)
        libmsghdr-private-samba.so => /usr/lib64/samba/libmsghdr-private-samba.so (0x00007ffba09dd000)
        libsasl2.so.3 => /lib64/libsasl2.so.3 (0x00007ffba09be000)
        libssl.so.3 => /lib64/glibc-hwcaps/x86-64-v3/libssl.so.3.1.4 (0x00007ffba0911000)
        libflag-mapping-private-samba.so => /usr/lib64/samba/libflag-mapping-private-samba.so (0x00007ffba090c000)
        libcli-ldap-common-private-samba.so => /usr/lib64/samba/libcli-ldap-common-private-samba.so (0x00007ffba0901000)
        libclidns-private-samba.so => /usr/lib64/samba/libclidns-private-samba.so (0x00007ffba08fa000)
        libcluster-private-samba.so => /usr/lib64/samba/libcluster-private-samba.so (0x00007ffba08f5000)
WarmUpTill commented 3 months ago

The issue seems to be with version of libopencv being used in this version. Could you please let me know which version of the plugin used 4.0.9 or below? I can try and check with that plugin.

The plugin was built against, whichever version is available in the GitHub actions ubuntu-22.04 runner image. As far as I remember, this has been version 4.5 for quite a long while.

You can try removing the [REDACTED]/.config/obs-studio/plugins/advanced-scene-switcher/bin/64bit/adv-ss-plugins/advanced-scene-switcher-opencv.so file, if you don't need the Video condition type.

But I believe this might not be the only incompatible library leading to the errors you are observing. I assume you have directly used the *.deb files from the releases section, right?

If it is an option, I would instead recommend using the version of the plugin available via your native package manager. This should ensure that everything is compatible. Or you can use the Flatpak package manager to install OBS and the plugin: flatpak install com.obsproject.Studio.Plugin.SceneSwitcher Alternatively the Snap package manager offers an OBS Studio installation that is bundled with the plugin: sudo snap install obs-studio

bmp commented 3 months ago

The issue seems to be with version of libopencv being used in this version. Could you please let me know which version of the plugin used 4.0.9 or below? I can try and check with that plugin.

The plugin was built against, whichever version is available in the GitHub actions ubuntu-22.04 runner image. As far as I remember, this has been version 4.5 for quite a long while.

You can try removing the [REDACTED]/.config/obs-studio/plugins/advanced-scene-switcher/bin/64bit/adv-ss-plugins/advanced-scene-switcher-opencv.so file, if you don't need the Video condition type.

This just causes a segmention fault and OBS crashes when I click Advances Scene Switcher in the UI.

But I believe this might not be the only incompatible library leading to the errors you are observing. I assume you have directly used the *.deb files from the releases section, right?

No, I extracted from https://github.com/WarmUpTill/SceneSwitcher/releases/download/1.26.4/advanced-scene-switcher-1.26.4-x86_64-linux-gnu.tar.xz and then copied the files as I had mentioned in the first post,

.config/obs-studio/plugins/advanced-scene-switcher/
├── bin
│   └── 64bit
│       ├── advanced-scene-switcher-lib.so -> advanced-scene-switcher-lib.so.1
│       ├── advanced-scene-switcher-lib.so.1
│       ├── advanced-scene-switcher.so
│       └── adv-ss-plugins
│           ├── advanced-scene-switcher-base.so
│           ├── advanced-scene-switcher-midi.so
│           ├── advanced-scene-switcher-opencv.so
│           └── advanced-scene-switcher-twitch.so
└── data
    ├── locale
    │   ├── de-DE.ini
    │   ├── en-US.ini
    │   ├── es-ES.ini
    │   ├── fr-FR.ini
    │   ├── ru-RU.ini
    │   ├── tr-TR.ini
    │   └── zh-CN.ini
    └── res
        ├── cascadeClassifiers
        │   ├── haarcascade_eye_tree_eyeglasses.xml
        │   ├── haarcascade_eye.xml
        │   ├── haarcascade_frontalface_alt2.xml
        │   ├── haarcascade_frontalface_alt_tree.xml
        │   ├── haarcascade_frontalface_alt.xml
        │   ├── haarcascade_frontalface_default.xml
        │   ├── haarcascade_fullbody.xml
        │   ├── haarcascade_lefteye_2splits.xml
        │   ├── haarcascade_lowerbody.xml
        │   ├── haarcascade_profileface.xml
        │   ├── haarcascade_righteye_2splits.xml
        │   └── haarcascade_upperbody.xml
        ├── images
        │   ├── DarkAdvanced.svg
        │   ├── DarkDoubleDown.svg
        │   ├── DarkDoubleUp.svg
        │   ├── DarkGroup.svg
        │   ├── DarkNotEqual.svg
        │   ├── DarkNote.svg
        │   ├── DarkRegex.svg
        │   ├── DarkSearch.svg
        │   ├── DarkTime.svg
        │   ├── LightAdvanced.svg
        │   ├── LightDoubleDown.svg
        │   ├── LightDoubleUp.svg
        │   ├── LightGroup.svg
        │   ├── LightNotEqual.svg
        │   ├── LightNote.svg
        │   ├── LightRegex.svg
        │   ├── LightSearch.svg
        │   └── LightTime.svg
        └── ocr
            └── eng.traineddata

Is it feasible to for me to use the deb package on OpenSUSE? Could you pleasse point me to the any resources to do the same?

If it is an option, I would instead recommend using the version of the plugin available via your native package manager. This should ensure that everything is compatible. Or you can use the Flatpak package manager to install OBS and the plugin: flatpak install com.obsproject.Studio.Plugin.SceneSwitcher Alternatively the Snap package manager offers an OBS Studio installation that is bundled with the plugin: sudo snap install obs-studio

This plugin is not not available natively on OpenSUSE, so am I correct in assuming my only option is to switch to flatpak (in case snap isn't a possibility) version if I'd like to use this plugin?

WarmUpTill commented 3 months ago

This just causes a segmention fault and OBS crashes when I click Advances Scene Switcher in the UI.

Is any core file or backtrace available? I assume the crash is caused by an incompatible build environment, but it won't hurt to double check.

Is it feasible to for me to use the deb package on OpenSUSE?

Unfortunately, I can only say that it should work on Ubuntu 22.04. I don't know if a OpenSUSE runtime environment is compatible with the version complied in the ubuntu-22.04 build environment.

This plugin is not not available natively on OpenSUSE, so am I correct in assuming my only option is to switch to flatpak (in case snap isn't a possibility) version if I'd like to use this plugin?

I myself am not familiar with OpenSUSE at all so maybe I am missing something obvious here, but unfortunately, I assume that is correct. Note that if you choose to use the flatpak version of the plugin you will also have to use the flatpak version of OBS.

Alternatively you could try to compile the plugin yourself, but this might not be straight forward.

Sorry for not really being able to solve your issue :(

bmp commented 3 months ago

This just causes a segmention fault and OBS crashes when I click Advances Scene Switcher in the UI.

Is any core file or backtrace available? I assume the crash is caused by an incompatible build environment, but it won't hurt to double check.

Nothing new is added to the log, here is the last portion of the log before it exits,

22:28:06.840: ---------------------------------
22:28:06.841: ==== Startup complete ===============================================
22:28:06.891: All scene data cleared
22:28:06.891: ------------------------------------------------
22:28:06.902: pulse-input: Server name: 'PulseAudio (on PipeWire 1.0.7) 15.0.0'
22:28:06.902: pulse-input: Audio format: s32le, 48000 Hz, 2 channels
22:28:06.902: pulse-input: Started recording from 'alsa_output.pci-0000_00_1f.3.analog-stereo.monitor' (default)
22:28:06.902: [Loaded global audio device]: 'Desktop Audio'
22:28:06.904: pulse-input: Server name: 'PulseAudio (on PipeWire 1.0.7) 15.0.0'
22:28:06.904: pulse-input: Audio format: s32le, 48000 Hz, 2 channels
22:28:06.904: pulse-input: Started recording from 'alsa_input.pci-0000_00_1f.3.analog-stereo' (default)
22:28:06.904: [Loaded global audio device]: 'Mic/Aux'
22:28:06.907: Switched to scene 'Default'
22:28:06.913: [adv-ss] trying to reconnect to  in 10 seconds.
22:28:06.913: [adv-ss] started
22:28:06.913: ------------------------------------------------
22:28:06.913: Loaded scenes:
22:28:06.913: - scene 'Default':
22:28:06.913: ------------------------------------------------
22:28:07.488: adding 21 milliseconds of audio buffering, total audio buffering is now 21 milliseconds (source: Desktop Audio)
22:28:07.488: 

I'll report back here in case I am able to find a solution with either flatpak or with self-compiling.

citizenserious commented 2 months ago

Can confirm that OBS crashes when trying to start advanced-scene-switcher.

I renamed advanced-scene-switcher-opencv.so to advanced-scene-switcher-opencv.so.old. to test it without it. OBS still crashes when trying to open advanced-scene-switcher, just without the error message. Could provide a detailed log if needed, just let me know which part of it and in which state (:

Platform: Wayland Distribution: "Fedora Linux" 40 Desktop Environment: KDE (KDE) OBS 30.1.1 (linux)

14:52:55.220: [adv-ss] version: 1.26.4
14:52:55.220: [adv-ss] version: e3ff6f34fcce1a42d6eb65effdb7eb279776fb5e
14:52:55.223: [adv-ss] attempting to load "/usr/lib64/obs-plugins/adv-ss-plugins/advanced-scene-switcher-twitch.so"
14:52:55.234: [adv-ss] successfully loaded "/usr/lib64/obs-plugins/adv-ss-plugins/advanced-scene-switcher-twitch.so"
14:52:55.234: [adv-ss] attempting to load "/usr/lib64/obs-plugins/adv-ss-plugins/advanced-scene-switcher-midi.so"
14:52:55.246: [adv-ss] successfully loaded "/usr/lib64/obs-plugins/adv-ss-plugins/advanced-scene-switcher-midi.so"
14:52:55.246: [adv-ss] attempting to load "/usr/lib64/obs-plugins/adv-ss-plugins/advanced-scene-switcher-base.so"
14:52:55.260: [adv-ss] successfully loaded "/usr/lib64/obs-plugins/adv-ss-plugins/advanced-scene-switcher-base.so"
14:52:55.260: [adv-ss] attempting to load "/usr/lib64/obs-plugins/adv-ss-plugins/advanced-scene-switcher-opencv.so"
14:52:55.261: [adv-ss] failed to load "/usr/lib64/obs-plugins/adv-ss-plugins/advanced-scene-switcher-opencv.so": Cannot load library /usr/lib64/obs-plugins/adv-ss-plugins/advanced-scene-switcher-opencv.so: libopencv_objdetect.so.4.5d: cannot open shared object file: No such file or directory
14:52:55.328: Failed to load 'en-US' text for module: 'decklink-captions.so'
14:52:55.368: Failed to load 'en-US' text for module: 'decklink-output-ui.so'
14:52:55.417: A DeckLink iterator could not be created.  The DeckLink drivers may not be installed
14:52:55.417: Failed to initialize module 'decklink.so'

I downloaded the latest "advanced-scene-switcher-1.26.4-x86_64-linux-gnu.tar.xz" extracted it and then copied (took me days to figure this out. I am new to linux, maybe we could put it in the readme or wiki?) the /advanced-scene-switcher-1.26.4-x86_64-linux-gnu/lib/x86_64-linux-gnu/obs-plugins/* to /usr/lib64/obs-plugins/

and

/advanced-scene-switcher-1.26.4-x86_64-linux-gnu/share/obs/obs-plugins/advanced-scene-switcher/* to /usr/share/obs/obs-plugins/advanced-scene-switcher/

I tried the flatpak version, but OBS was already highly unstable before installing the plugin, but advanced-scene-switcher crashed it all the time (When it did somehow not crash for a minute it worked). Also, I could not get the performance out of OBS as with the fedora version, was just not usable in my case.

I also tried a system link without luck sudo ln -s /usr/lib64/libopencv_objdetect.so.4.9.0 /usr/lib64/libopencv_objdetect.so.4.5d

WarmUpTill commented 2 months ago

Can confirm that OBS crashes when trying to start advanced-scene-switcher.

I renamed advanced-scene-switcher-opencv.so to advanced-scene-switcher-opencv.so.old. to test it without it. OBS still crashes when trying to open advanced-scene-switcher, just without the error message. Could provide a detailed log if needed, just let me know which part of it and in which state (:

Platform: Wayland Distribution: "Fedora Linux" 40 Desktop Environment: KDE (KDE) OBS 30.1.1 (linux)

14:52:55.220: [adv-ss] version: 1.26.4
14:52:55.220: [adv-ss] version: e3ff6f34fcce1a42d6eb65effdb7eb279776fb5e
14:52:55.223: [adv-ss] attempting to load "/usr/lib64/obs-plugins/adv-ss-plugins/advanced-scene-switcher-twitch.so"
14:52:55.234: [adv-ss] successfully loaded "/usr/lib64/obs-plugins/adv-ss-plugins/advanced-scene-switcher-twitch.so"
14:52:55.234: [adv-ss] attempting to load "/usr/lib64/obs-plugins/adv-ss-plugins/advanced-scene-switcher-midi.so"
14:52:55.246: [adv-ss] successfully loaded "/usr/lib64/obs-plugins/adv-ss-plugins/advanced-scene-switcher-midi.so"
14:52:55.246: [adv-ss] attempting to load "/usr/lib64/obs-plugins/adv-ss-plugins/advanced-scene-switcher-base.so"
14:52:55.260: [adv-ss] successfully loaded "/usr/lib64/obs-plugins/adv-ss-plugins/advanced-scene-switcher-base.so"
14:52:55.260: [adv-ss] attempting to load "/usr/lib64/obs-plugins/adv-ss-plugins/advanced-scene-switcher-opencv.so"
14:52:55.261: [adv-ss] failed to load "/usr/lib64/obs-plugins/adv-ss-plugins/advanced-scene-switcher-opencv.so": Cannot load library /usr/lib64/obs-plugins/adv-ss-plugins/advanced-scene-switcher-opencv.so: libopencv_objdetect.so.4.5d: cannot open shared object file: No such file or directory
14:52:55.328: Failed to load 'en-US' text for module: 'decklink-captions.so'
14:52:55.368: Failed to load 'en-US' text for module: 'decklink-output-ui.so'
14:52:55.417: A DeckLink iterator could not be created.  The DeckLink drivers may not be installed
14:52:55.417: Failed to initialize module 'decklink.so'

I downloaded the latest "advanced-scene-switcher-1.26.4-x86_64-linux-gnu.tar.xz" extracted it and then copied (took me days to figure this out. I am new to linux, maybe we could put it in the readme or wiki?) the /advanced-scene-switcher-1.26.4-x86_64-linux-gnu/lib/x86_64-linux-gnu/obs-plugins/* to /usr/lib64/obs-plugins/

and

/advanced-scene-switcher-1.26.4-x86_64-linux-gnu/share/obs/obs-plugins/advanced-scene-switcher/* to /usr/share/obs/obs-plugins/advanced-scene-switcher/

I tried the flatpak version, but OBS was already highly unstable before installing the plugin, but advanced-scene-switcher crashed it all the time (When it did somehow not crash for a minute it worked). Also, I could not get the performance out of OBS as with the fedora version, was just not usable in my case.

I also tried a system link without luck sudo ln -s /usr/lib64/libopencv_objdetect.so.4.9.0 /usr/lib64/libopencv_objdetect.so.4.5d

You are most likely facing the same issue as already discussed above.

The plugin was compiled for a Ubuntu 22 environment. I cannot give any guarantee that this version is also compatible with other Linux distributions, since different Linux distributions might use completely different version of libraries the plugin is dependent on.

You will have to instead use a version of this plugin compiled for your particular Linux distribution. I can only provide the Ubuntu 22 version of the plugin, since GitHub offers the corresponding build environment in one of their GitHub action runner images.

I know that for other Linux distributions (e.g. Arch) a version of the plugin is available via the respective package manager. I don't think this is the case for Fedora.

Besides using flatpak or snap or compiling the plugin yourself I don't really have any other suggestion.

So unfortunately I cannot really be of much help here :(

citizenserious commented 2 months ago

Oh that's sad to hear. Thank you for your work anyway. (: I used this for years while on Windows.

flakywanderer commented 2 months ago

I seem to also be running into this issue, or a similar one. In my case, I build the plugin on the system that I use it on from source (via AUR: https://aur.archlinux.org/packages/obs-advanced-scene-switcher). Upon opening plugin settings, OBS just straight up crashes without any logs or error messages. No error messages indicating library loading failure or such.

Edit: Seems to be a distinctly different issue.