Transparency issue in 22.09.23

What is your operating system?
Windows 7 64bit

What is your Shotcut version (see Help > About Shotcut)? Is it 32-bit?
22.09.23

Can you repeat the problem? If so, what are the steps?

  • put a (fully opaque) video clip into V1
  • put a transparent png into V2 to act as a sticker (V2 is set to the default blendmode “over”)
  • preview in the app is correct
  • render the video using any export
  • rendered video shows V1 but when the overlay should show, the transparent png with a black background is shown instead of V1 being visible underneath. (It acts like if blendmode would be set to “none” in the editor)

Additional notes:
It works fine in shotcut 19.12.31

Hi @madpew

I more or less replicated your project, but I couldn’t reproduce the bug in v22.09.23.

Did you use filters on your PNG clip (the sticker)?

The first one has none, the second sticker uses size/position. The problem exists with both though so it’s not a filter thing.

My computer is using german locale (the problem exists with shotcut set to german or english though)

I can’t duplicate the issue.

@madpew

What about the first clip you have on V2?
Does the bug occur on that clip too?

If not, maybe there is something wrong with your other PNG (kraigerberg)

Maybe you could try with another PNG image and see if you still experience the bug.

I am not able to reproduce it either. Whenever you have an issue with proxy turned on, you need to turn off proxy to see if the proxy is related to the issue. For example, maybe the proxy has a longer duration than the source for some strange reason. Also, verify that you do not see “GPU Effects” at the top of the Settings menu.

@MusicalBox It happens with both the overlays, and it also happens when using a shotcut-generated “text” overlay.
@shotcut Also happens with Proxy Off, and I can’t see GPU Effects anywhere.

However: (Since the Problem only manifests when rendering) I looked into the application log and found the commandline that is used to render the video:
[Debug ] MeltJob::start “C:/Tools/Shotcut-220923/Shotcut/melt -verbose -progress2 -abort xml:C%3A%2FUsers%2Fmadpew%2FAppData%2FLocal%2FTemp%2Fshotcut-GgGwoe.mlt”
When I execute this from the commandline the melt-process outputs:

mlt_repository_init: failed to dlopen C:\Tools\Shotcut-220923\Shotcut\lib\mlt/li
bmltsox.dll
(“C:\Tools\Shotcut-220923\Shotcut\lib\mlt\libmltsox.dll”: Die angegebene Proze
dur wurde nicht gefunden.)
[producer_xml] failed to load transition “frei0r.cairoblend”
[producer_xml] failed to load transition “frei0r.cairoblend”

That could make sense, seeing it’s 2 clips that should be blended.
The file libmltsox.dll is there, but it apparently doesn’t contain the procedure that is required. (or maybe that’s an unrelated problem)

Installed the same shotcut version on another old computer (also german win7 64) and it works as intended. (also no errors when doing the export/melt manually). However I noticed some other things that are different which led me to believe that some old settings might mess up the new version on the troubled computer. How do I clear everything that could be a left-over from other shotcut versions to make sure the new version gets a clean install without reformatting my system? (Settings → Reset from the menu didn’t help)

frei0r.cairoblend is essential. You should uninstall and reinstall.

This should help, although it is possible you won’t need to implement all steps.

already did unintstall and reinstall but it’s all the same unfortunately

There might be antivirus blocking the DLL for a false positive. The FossHub download site provides antivirus scan reports: Shotcut download latest version
Antivirus definitions can lag a bit after new builds are release, and you should ensure your definitions are updated frequently.

even with disabled antivirus and a fresh install the error persists. All the files (e.g. cairoblend.dll and libmltsox.dll) are there. melt seems to be unable to load the dll for some weird reason. Even when started with admin privileges

Does your computer have these files?
C:\Tools\Shotcut-220923\Shotcut\lib\frei0r-a\cairoblend.dll
C:\Tools\Shotcut-220923\Shotcut\lib\mlt\libmltfrei0r.dll

This is a guess, but maybe try unzipping the portable Shotcut package into a different directory - perhaps on your desktop.

Now here is the mystery. Both of the files are there but the folder of the frei0r-dlls is called “frei0r-1” instead of “freior-a”. This happens with both the installer (.exe) and the portable.zip version. It’s wrong inside the downloaded zip (so it’s not my extraction messing it up). Renaming this folder to frei0r-a solves the problem. I finally got transparency working again.

I have no idea how it is working on other peoples computers when the dlls are in the wrong folders.

Thank you for pointing me in the right direction.

Just as a note: melt still complains about not being able to load a function from libmltsox.dll but I can’t see that causing any trouble.

Oops. That was a typo on my part. My message should have said “frei0r-1”. I do not know why renaming that folder would fix the problem for you.

Hope I still remember this when I inevitably update to the next version and it stops working again. I even removed all the installed versions (so I only have one version of shotcut installed) and all the %appdata% folders related to shotcut. Baffling.

Even if I delete the lib\frei0r folder from my system completely, both rendering in shotcut AND exporting works as intended. Why exactly is that folder even there?

That is wrong in general, I have no explanation why that worked for you.

Why exactly is that folder even there?

Because it is necessary for everyone else.

libmltsox.dll is not necessary, but it is included to make a more complete melt build for people who may be using melt for things beyond what Shotcut exposes (for example, myself).

I agree. No explanation for this. Maybe there is a rogue Shotcut installation somewhere that is being found.