Can I fade-in a background from transparent using Eevee in 2.82?

Update: this was indeed an issue with ffplay. Use VLC, or better yet if you are making stingers to use in OBS, test them there!

I will leave the rest of the post below for reference, it may help others looking to do what I did.

tl;dr: can I trick Eevee into rendering partially-transparent objects against a transparent background?

I am attempting to create another stinger transition video. For these, the basic requirement is i) transparent background and ii) >= one frame completely ‘covering’ transparent background.

I am doing something in space, so I have created a lo-fidelity ‘starry backdrop’ using a noise texture and a colour ramp. I would like to ‘fade-in’ this backdrop. To that end I have put that backdrop on a large sphere, feeding a mix node which is has a transparent BSDF as its other input, and fac keyframed: (start transparent) 0 → 1 (fade in and hold) → 0 (fade back out).

The sphere’s material settings has Blend mode: Alpha Hashed (I have also tried Alpha Blend).

The render preview shows transparency, as does opening up the resulting images in imagemagick display / GIMP.

(white is actually transparent - green suzanne is outside the sphere)

And the backdrop does fade in:

(~1 frame away from full fade-in so suzanne is still visible here- she disappears in the next frame as expected)

The frames are saved as PNG with alpha (RGBA) which has worked for such videos in the past:


However, when I compose the frames into a video using ffmpeg – eg ffmpeg -framerate 30 -f image2 -i frame%04d.png -c:v libvpx-vp9 -lossless 1 -pix_fmt yuva420p -an transparentspheretest2.webm – the backdrop shows up in all frames.

What gives?

I am not sure if the problem is Eeevee, my nodes, the output format, ffmpeg, or something else entirely. I have successfully made stingers with fully transparent backgrounds before using ffmpeg and Eevee, but they did the ‘one frame fully covering’ by having an object/objects take up the entire frame; this time is the first I have tried to fade in a backdrop.

How can I achieve this ‘fade-in’ background effect in Eevee? Thanks in advance!

Example blend file: transparencytest.blend (753.9 KB)

The embedded video player on here seems to render differently to ffplay, this may have actually worked?