On Sun, 25 Sep 2022, Miroslav Rovis via Cin wrote:
But I plan to make it both a demonstration of this capability and a tutorial so other users can benefit from it, on the one hand.
Motion plugin algorithm in cingg is rather difficult to understand (the most efficient way to understand it is to look inside its C++ code:) Moreover, it has some tricks that, although can be derived knowing the details of the algorithm, are absolutely non-intuitive by themselves. Moreover, it is rather slow, and the results cannot be visible immediately while altering the settings. If the user needs only a smoothed video, perhaps he should not do it with the Motion plugin. The ffmpeg's vid.stab plugin is much easier to use, it is faster, and gives very good results. CinGG's Motion can be powerful, if you need either to freeze motion completely, or you need motion tracking instead of motion stabilization.
The fist issue: When using Motion Plugin, a last-used setting (previusly used, even in a different video) is written in the new XML along with the newly setup numbers for a particular part of a video to which Motion Plugin Effect is attached. And it sometimes messes up the XML, and rendering does not get what the user put in.
Yes, it is the intentional behavior. Not only Motion, but all the cingg plugins save their settings in their defaults, and reuse them in new XML projects. Usually this behavior is convenient. In any way, the user has to reinspect the settings of the used plugins to make sure they are set as intended.
The second issue: And, sometimes, there appear to be problems with some Cinelerra cache somewhere so bad that tweaking the Motion Plugin settings, while written correctly in the new XML, do not actually apply. The rendering gets the user the earlier tweaked result no matter the new editing.
The Motion plugin cache is an ingenious thing, and sometimes allows to play with very sophisticated techniques. For example, by editing the cache (it is a simple text file), perhaps with some custom script, you can induce some kind of motion which would be difficult to make in other way. But in the same time the existence of the cache file can trigger user's mistakes. So you must always pay attention, which cache file may be used in the moment. Motion's cache data are absolute-frame-number based. If you insert some small piece of video before that where the plugin was attached, the frame numbers get displaced relative to the cached numbers, and the result may become incorrectly stabilized. It is not possible to switch Motion cache off. While working, Motion always looks in its cache. If it contains some data assigned to the current frame numbers, that cached data will be used unconditionally. If not, that data will be calculated, stored in the cache, and later reused, also unconditionally. In the Motion plugin dialog there is a button 'Clear cache contents' (or something like this). When in doubt, you can press this button, the cached data will be erased and fresh recalculated on the next pass. It is quite usual to wish independent caches for different parts of video. It is possible to set such distinct cache file names (either manually, or let software generate them). When you generate new names, the plugin automatically switches Calculation off, just for security. You switch it on again when needed. If 'play track' is switched off for the track where the Motion plugin was attached, the plugin will calculate nothing. Also, if 'Play every frame' was not active in Preferences, some video frames can get skipped from processing.
I want to do it along with demonstrating a very good motion stabilization on not-too difficult parts of a 1m 30s video that otherwise would be almost bad for viewing.
Phyllis has such a very shaky example. May be, I have yet a cingg project to stabilize it using Motion plugin keyframes. Should I search for it? _______________________________________________________________________________ Georgy Salnikov NMR Group Novosibirsk Institute of Organic Chemistry Lavrentjeva, 9, 630090 Novosibirsk, Russia Phone +7-383-3307864 Email [email protected] _______________________________________________________________________________