Image sources do not show in export on Linux

What is your operating system?
Linux Mint 20.3
Linux 5.4.0-109-generic(x86_64)

What is your Shotcut version (see Help > About Shotcut)? Is it 32-bit?
22.04.25
shotcut-linux-x86_64-220425.AppImage

Can you repeat the problem?
Yes

Last appimages packages of ShotCut don’t contains library libmltsox.so.

Error message from log of video export:
mlt_repository_init: failed to dlopen /tmp/.mount_shotcu5Ve8JS/usr/bin/lib/mlt-7/libmltsox.so
(libsox.so.3: cannot open shared object file: No such file or directory)

Consequence:
Exported video does not contains image sequences from JPEG or PNG pictures.
Instead of picture is text “INVALID” shown.

Last version, which can be export video without this error is 21.05.18

Windows compilation of same version (22.04.25) working fine.

Sox is not the problem; that is an audio processing library unused by Shotcut. Images load fine for me on Ubuntu 20.04. Others on Linux have reported a problem like this, but none of the developers reproduce it.

Here is one of the other threads where I tested an earlier version successfully on Mint 20.2. I just tested version 22.04.25 of the AppImage where it also worked fine.

I prepared clean virtual machine in VirtualBox with fresh installation of Mint 20.3, with shotcut-linux-x86_64-220425.AppImage and I made test with same project (and same source files), as I using on computer, where problem is still exist.

Without error.

You are right, this problem seems as depend of specific computer settings ;-(

Can you please advise me how I could try to debug this error on the computer on which the error persists?
Which libraries or which parameters should I compare? Or which logfiles I have to check?

The strange thing is that our app bundles include its own jpeg and png libs:

~/Desktop/Shotcut$ find Shotcut.app -name 'libpng*'
/home/ddennedy/Desktop/Shotcut/Shotcut.app/lib/libpng16.so.16
~/Desktop/Shotcut$ find Shotcut.app -name 'libjpeg*'
/home/ddennedy/Desktop/Shotcut/Shotcut.app/lib/libjpeg.so.8

(The AppImage and Snap are based on the portable tar.)

Shotcut and MLT uses Qt to load images. The bundled Qt directly supports PNG without a library or plugin, but it uses a plugin for jpeg that statically links libjpeg but surprisingly links libpng!

Shotcut.app$ source source-me
Shotcut.app$ echo $QT_PLUGIN_PATH
/home/ddennedy/Desktop/Shotcut/Shotcut.app/lib/qt5
Shotcut.app$ ldd lib/qt5/imageformats/libqjpeg.so
...
	libpng16.so.16 => /home/ddennedy/Desktop/Shotcut/Shotcut.app/lib/libpng16.so.16 (0x00007f91b2bbd000)

(source-me is a short script to setup the bundle environment for locating dependencies.)

That does not appear to be a problem on a correctly working system. Maybe these command lines can help you or another to diagnose the problem.

Maybe the problem is that the shotcut launch script is using a relative path for QT_PLUGIN_PATH:

~/Desktop/Shotcut/Shotcut.app$ tail -n4 shotcut
cd "$INSTALL_DIR"
export QT_PLUGIN_PATH="lib/qt5"
export QML2_IMPORT_PATH="lib/qml"
bin/shotcut "$@"

Hi,
here is output of these commands from my computer:

~/Shotcut$ find Shotcut.app -name "libpng*"
Shotcut.app/lib/libpng16.so.16
~/Shotcut$ find Shotcut.app -name "libjpeg*"
Shotcut.app/lib/libjpeg.so.8
~/Shotcut$ 

~/Shotcut/Shotcut.app$ source source-me
~/Shotcut/Shotcut.app$ echo $QT_PLUGIN_PATH
~/Shotcut/Shotcut.app/lib/qt5
~/Shotcut/Shotcut.app$ ldd lib/qt5/imageformats/libqjpeg.so
	linux-vdso.so.1 (0x00007ffd1c142000)
	libQt5Gui.so.5 => ~/Shotcut/Shotcut.app/lib/libQt5Gui.so.5 (0x00007f40dc391000)
	libQt5Core.so.5 => ~/Shotcut/Shotcut.app/lib/libQt5Core.so.5 (0x00007f40dbb6c000)
	libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f40db972000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f40db780000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f40db75d000)
	libGL.so.1 => /lib/x86_64-linux-gnu/libGL.so.1 (0x00007f40db6d3000)
	libharfbuzz.so.0 => /lib/x86_64-linux-gnu/libharfbuzz.so.0 (0x00007f40db5ce000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f40db47f000)
	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f40db464000)
	libdouble-conversion.so.1 => ~/Shotcut/Shotcut.app/lib/libdouble-conversion.so.1 (0x00007f40db253000)
	libicui18n.so.60 => ~/Shotcut/Shotcut.app/lib/libicui18n.so.60 (0x00007f40dadb2000)
	libicuuc.so.60 => ~/Shotcut/Shotcut.app/lib/libicuuc.so.60 (0x00007f40da9f8000)
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f40da9f2000)
	libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007f40da8c9000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f40dce97000)
	libGLdispatch.so.0 => /lib/x86_64-linux-gnu/libGLdispatch.so.0 (0x00007f40da811000)
	libGLX.so.0 => /lib/x86_64-linux-gnu/libGLX.so.0 (0x00007f40da7dd000)
	libfreetype.so.6 => /lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007f40da71c000)
	libgraphite2.so.3 => ~/Shotcut/Shotcut.app/lib/libgraphite2.so.3 (0x00007f40da4ef000)
	libicudata.so.60 => ~/Shotcut/Shotcut.app/lib/libicudata.so.60 (0x00007f40d8946000)
	libpcre.so.3 => ~/Shotcut/Shotcut.app/lib/libpcre.so.3 (0x00007f40d86d4000)
	libX11.so.6 => /lib/x86_64-linux-gnu/libX11.so.6 (0x00007f40d8597000)
	libpng16.so.16 => ~/Shotcut/Shotcut.app/lib/libpng16.so.16 (0x00007f40d8363000)
	libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f40d8347000)
	libxcb.so.1 => /lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f40d831d000)
	libXau.so.6 => ~/Shotcut/Shotcut.app/lib/libXau.so.6 (0x00007f40d8119000)
	libXdmcp.so.6 => ~/Shotcut/Shotcut.app/lib/libXdmcp.so.6 (0x00007f40d7f13000)
	libbsd.so.0 => ~/Shotcut/Shotcut.app/lib/libbsd.so.0 (0x00007f40d7cfc000)
	librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f40d7cf2000)
~/Shotcut/Shotcut.app$ 

Shotcut.app$ tail -n4 shotcut
cd "$INSTALL_DIR"
export QT_PLUGIN_PATH="lib/qt5"
export QML2_IMPORT_PATH="lib/qml"
bin/shotcut "$@"


OK, that looks about the same. After you source source.me and run shotcut (bin/shotcut will be in $PATH) does it make a difference with respect to image loading?

No. On this computer still behavior same (bad). It behames the same, if I run Shotcut as appimage package, or if I run it as portable (unpacked from TAR) application.

Related White video when exporting a video made of images

Hello. I was thinking I left the problem behind me, but yesterday I got It again. This time with PNG files too. The thing is that I copied all project files from my main computer (Linux Mint) to my laptop (Manjaro), and problem is the same. I’m trying to isolate when it happens, but I haven’t been able to do it. It happens with JPG and PNG images, scaled or not, full o partial screen.
Another thing I’ve found is that if you try to export partial timeline using a marker, if there is a image that begins in timeline before the beginning of the marker, it is “whited” when exporting.
It is not related to the images by themselves, because if you delete the image from timeline and put it again in, sometimes it exports ok.
Both of my systems are using NVIDIA cards, and same video version, but I tried to export using hardware codec and software codec, and results are the same.
If you use fade video in, and the image “whites”, it fades to white, I’ve been able to “white” only a portion of the screen scaling “whiteing” images.
Sometimes it happens to one image in one track, sometimes to various tracks.
I think it doesn’t happen to me with images without filter. But scaling of fading, or any other filter that “modifies” the image can cause the white in exporting. But I’m not really sure of it.
I’m just trying to give maximum details of what I am seeing, just to give you some clue to get to it.

Best regards.

Hello!
Flatpak (Shotcut 21.10.31) is working for me! No errors by now.

Same project exporting using AppImage or portable Tar is giving me white images exporting error.

Any other test you want me to do, just ask.

Regards.

Hi,
I confirm that the FlatPak version is working properly (on the same computer).
Unfortunately, version of ShotCut packaged in FlatPak is older, as current (the current one is 22.04.25, the version on FlatHub is 22.04.22 only).

Thanks, I did not realize the v22.04.25 build on flathub failed. (Did I get an e-mail notification for that?) I just pushed a fix for that and will be published by tomorrow May 11.

1 Like

Thanks, seems FlatPak packages are way for me.

Hello.

I’m now testing Snap package and it seems to work ok too, 22.04.25 here.

I noticed that Snap package is using the configuration files in my home folder, but Flatpack package is not using them. Maybe the distribution nature of the packaging system.
Regards.

EDIT: no, snap package is failing too. The only way is flatpak for me

The next version builds snap, portable, and AppImage using a newer version of Ubuntu due to new feature and might remedy this. You can get a nightly portable build from our GitHub Actions page or wait for the beta later this month.

Thank you very much!