The transparent flame video has a black edge

You did not specify your version. There was a fix for something like this - when using the Size and Position filter - in v18.07. If you have that version, please upload your original image.

Update: I downloaded one from https://www.kisspng.com/png-fire-transparent-png-image-38280/
There is some incorrect darkness similar to yours when NOT using the Size and Position filter. So, a workaround - at least in v18.07 - is to add the Size and Position filter to the flame image.

1 Like

Although there is no black edge after adding Size and Position filter to the image,Transparent background video still has black edge after video plus Size and Position filter

You still have not said what version you are using. Also, provide more information about “Transparent background video” and track arrangement. Maybe you need to also add Size and Position filter to the background video to workaround the problem.

image
18.07.02
I attached video attachment to your email,please check

I did not receive “transparent background video.” I do not know how you are trying to send it. I will PM you a link. In any case, I fixed the originally reported problem such that Size and Filter is not a required workaround. The bug was in the image loader. So, I do not know if that will also fix “transparent background video.” In any case, this already been helpful.

I received the file “transparent flame video.mov”. This has the codec Quicktime Animation (qtrle in FFmpeg). It appears to have alpha premultiplied against the RGB color components. I could make it work better by adding code to MLT to un-premultiply, but I have to add a test if the pixel format contains alpha and preferably whether it is premultiplied or straight. While working on that, I came across the AVPixFmtDescriptor API, which has a flag to indicate if alpha is available. However, the docs for that flag say “The alpha is always straight, never pre-multiplied.” There is nothing else in FFmpeg APIs to read whether alpha is premultiplied or straight.

While searching the Web about this issue, it seems programs like After Effects give people the option to choose premultiplied or straight at render/export time. However, it is not clear there is any signaling for this in the bitstream or mov file based on information provided by MediaInfo, Quicktime player’s info dialog, or reading mov.c and qtrle.c source code in FFmpeg. The qtrle code simply uncompresses the bytes and supplies them as-is. Therefore, it is not correct to assume it is premutiplied and to un-premultiply whenever there is alpha. In fact, I have a PNG MOV with alpha, and PNG is always supposed to be straight alpha. Therefore, the only solution for video files is to add an un-premultiply filter that a user can add.

3 Likes

I added an Unpremultiply Alpha filter for the next version 18.08!

thanks a lot。i love shotcut

Last time, “transparent background video” was handled perfectly
But I switched to a flame video and found distortion, and I tried it with Adobe premiere.Premiere works perfectly.You can optimize it
I have uploaded the flame video to the last upload link. The file name is “fire.mov”.

It is too bad I did not get it perfect in the first release of this filter, but I just found and fixed a math bug in it for the next version.

1 Like

Thank you shotcut. Thank you so much

Thanks @shotcut


source

1 Like