Change position with a dissolve

Jeff Shanab jshanab at jfs-tech.com
Fri Jun 17 22:08:31 UTC 2022


This sounds like a job for a shader. (that is how I did a fade on camera
disconnect)

the shader has a single variable 0 to 100.  0 is stream old and 100 is
stream new.

When value is not 0 or 100 you are in the transition zone.
decode both and pass both pixel values.
update the value and have it average the scaled pixel values into the new
pixel value passed on to the fragment shader.


Maybe pixel = factor * pixelFromOld + 100-factor * pixelFromNew as factor
runs from 100 down to 0






On Fri, Jun 17, 2022 at 4:49 PM Bill Hofmann via gstreamer-devel <
gstreamer-devel at lists.freedesktop.org> wrote:

> All:
>
> I'm looking to be able to set position forward or backward (say, 5
> minutes, just for an example), but rather than a "hard cut", instead to do
> a 5 second dissolve.  That, to me, implies keeping 5 seconds of frames
> after the original position, and doing a ramped blend with frames from the
> new position. Or something like that.
>
> What's the best approach? I looked at the GstEdit functionality, but that
> seemed way overblown for what I need. Can imagine a way using the
> compositor, but I'd think I'd need a copy of the stream running in parallel
> (and switching back and forth). Could also do a custom filter in the path
> that queues the frames, maybe.
>
> Suggestions as to a way to attack this? I can't be the only one...
>
> -Bill
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20220617/d3edbe16/attachment.htm>


More information about the gstreamer-devel mailing list