-
Notifications
You must be signed in to change notification settings - Fork 63
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Transition Effect not found in [email protected] #44
Comments
Well, only one transition was supported (crossfade) and it can be achieved now by having a track with tweened opacity above another track. Similarly, you can achieve swipes, etc. by tweening the transformations of the higher track. The core problem here is that FFmpeg doesn't really support transitions as we're used to thinking of them. The old approach was to add filter chains to all clips, but this created complex interdependencies that were near impossible to debug. Yet another approach may be introduced at some future point, built around the xfade filter and its transition argument. Other planned changes may obviate the need for transitions to be applied at the FFmpeg level though, so not sure if or when this might be implemented. |
Hello @syntropo Currently we have customised the moviemasher view and successfully able to add Effect-component using json for adding ids and properties and parameters, effect-factory, filter component to design the filter and filterFactory. We had tried to implement this effect via npm package shadertoy-react (https://www.npmjs.com/package/shadertoy-react) in a separate demo application. Right now we are figuring a way to implement this effect in moviemasher code. Could you please provide the recommended way asap. |
Ah, displacement maps... Movie Masher hasn't supported these since the days of Flash, but they should be possible now using SVG's feDisplacementMap element and FFmpeg's displace filter. The roadmap actually includes reviving displacement maps as a generalized container feature, similar to the way opacity is handled. An attempt was even made, but there were issues with some edge cases that looked hard to resolve so the idea was shelved. It actually goes a bit beyond your requirements though, by supporting any visual input - a ripple effect is easy enough in SVG... The approach would involve generating a grayscale SVG image for each frame and then referencing from both the element and filter. A ripple effect can be achieved by some combination of circular gradients - each gray value in the image translates into a different amount of displacement. If different images are generated for different frames, then the displacement mapping will animate over time. This should theoretically be possible as described in #43 but, upon further inspection, the To get this rendering in FFmpeg, the various implementations of the |
Hello @syntropo |
There is no particular mechanism for integrating third party effects like the one you linked to. It utilizes a canvas-based approach but version 5.1 of Movie Masher has abandoned this in favor of SVG composition. Please understand that effects are intended to work both in the browser context but also when rendering video in the context of FFmpeg commands. The system does not screen scrape the editor when rendering, but rather generates an FFmpeg filter chain that produces the same visuals. There are systems like Remotion that do screen scrape if you need to render actual video. Otherwise, the approach I outlined above would be the best route for a ripple effect. The two changes required in the core library have been added to the TODO list, and certainly the first is much easier and could be implemented on its own. |
Hello @syntropo
I see that there is no transition effect in MovieMasher version 5.1.1, but in MovieMasher version 5.0.6 the transition effect is working. Please tell me how can I add transition effect in version 5.1.1.
The text was updated successfully, but these errors were encountered: