I have spent many hours, followed every tutorial I can find, tried interpreting instructions in different ways, but still cannot get Cinelerra image stabilisation to work!
I am reasonably happy that I can set up the first pass correctly, although even there tutorials differ on whether to set Action to Do Nothing and/or Calculation to Don't Calculate while setting the parameters. So I set Preferences to Play Every Frame, for safety set Action and Calculation to do nothing, select Draw vectors, set up the Translation block size ensuring the Translation search radius is plenty big enough. I usually select Previous frame same block, set Action to Stabilise subpixel and Calculate to Save coords to tracking file. Run the first pass, assuming it looks OK, then what? This is where the wheel falls off for me!
Do I disable the effect before rewinding, or disable play on the video track and do I do either before disabling Draw vectors and changing Calculation to Load coords, or after? It doesn't seem to make any difference one way or the other because, this is the big question, I can't work out what to do with the file next. The options I can find are 1. Render and re-import the file to a new track or 2. Add another video track, copy the file to the new track and disable playback of the original track. I think I am missing a trick here, it's probably so damned obvious I can't see it, but neither just playing the new track nor rendering it gives me stabilised footage. So the big question is, what am I doing wrong, or what have I missed?
I shall much appreciate any help you can offer.
+ Reply to Thread
Results 1 to 16 of 16
To add a little information in case it helps.
I am using the Arch Linux latest single-user Cinelerra-GG update on Manjaro KDE. It now has five versions of Motion for video stabilisation: Motion, Motion CV, Motion HV, Motion 2 Point and Motion51. Motion51 is easier to use, but still pretty ineffective, in fact when I upped the sample rate from 1024 to 8096 it added some jitter! I was testing using a standing still, hand-held GoPro clip, so the motion was not too severe.
I decided to go the whole hog. Using the same clip, I tried the "Jack Crossfire" four pass method, just leaving out the render farm bit and before I started, I went into /tmp and deleted all the Motion files. Still no obvious improvement. Oh how I wish there was a dedicated Cinelerra forum somewhere!
I always do my best to produce stable footage, but on the odd occasion this is not possible as I'm sure you all well know, so in-post stabilisation would help. Unless or until I can get Cinelerra Motion to work, my choices are to stabilise in Kdenlive, relatively easy now both Cinelerra and Kdenlive input and output ProRes, stabilise in Blender, more trouble as I'd need to transcode to DNxHD to do it or, even more hassle, transcode to AVI, boot up virtual Windows and use DeShaker.
Unless someone can tell me different, my conclusion has to be that either Motion simply does not work, or it will not stabilise the kind of motion I want it to. Or, as I said before, I am doing something wrong. Any ideas please?
Last edited by DeJay; 23rd May 2017 at 03:04.
I just did a site specific search of this site for cinelerra and got very few hits. So I don't think there are many users here.
I also searched for a cinelerra user forum. There is on e on their site but it's about impossible to navigate and there doesn't seem to be much useful there either.
My impression is that cinelerra is a pro level editor and aimed at pros who don't need much support.
Thanks for your replies.
Hoser Rob: There doesn't seem to be many users anywhere, unless as you suggest they are all pros and just don't post. I'd imagine that pros would expect stable footage and wouldn't need stabilisation anyway. It is claimed that it is a professional NLE, I can only say I prefer the output quality to what I can achieve with Kdenlive or any of the other Linux NLEs.
Agreed, that Cinelerra forum, such as it is, is pretty useless.
Redwudz: Thanks. I have searched and searched over the years and have most of the on-line tutorials bookmarked already, it's still possible I have missed some, of course. I also have all the manuals.
Things have changes with the latest incarnation of Cinelerra, GG, which is ffmpeg based, but the older versions are Quicktime based and absolute pigs to get to work as a beginner. I taught myself to use the older versions with the aid of tutorials and the manuals, not to mention many hours of testing, but I could never and still can't, find out why stabilisation won't work properly for me. It isn't an OS thing, I have tried it on several distros over the years and I am now using the single user (not installable) GG versions which are not reliant on the OS for codecs etc.
If experienced help is not forthcoming, it looks as though it won't be from your comments, I can stabilise footage in Kdenlive when necessary. It will be no more effort than using DeShaker in VirtualDub when I was a Vegas user, but still a pain. I'll make sure it won't be required very often!
I shall keep trying, there are still three stabilisation plugins to try and who knows, one of them might just work! It's so frustrating not having been able to crack it so far!
Last edited by DeJay; 23rd May 2017 at 08:07.
another option is libvidstab in ffmpeg , but it's more difficult to tweak/adjust parameters on the fly
are you getting zero effect (same input as output) , or just poor results ? gopro usually has pretty bad rolling shutter (cmos artifacts, wobble, jello), so it's entirely possible if you're getting poor results, it's partially from the rolling shutter
In this instance I am testing with a GoPro clip, but I have never got it to work with footage from any of my cameras. The clip I am using was shot hand held, standing still and there is no fast motion in the frame.
It's difficult to explain quite what is happening, but generally there is no stabilisation that I can see. Occasionally I think I can detect removal of the slightest movement, but it's so slight I am not sure. Testing Motion51, if I raise Samples from the default 1024 to 8096, motion increases. Today, trying Motion 2 Point following the Jack Crossfire 4 pass tutorial, I managed to substantially increase the shakes. At least I got a result, even if it is the wrong one. Motion, Motion CV andMotion HV do nothing that I can see.
I still can't get any obvious results from the "normal" versions of Motion (Motion, CV, HV, 2 Point), however I can get a partial result from Motiom51. If I carefully place the target over something that has no other movement, in this case an empty restaurant table, set Samples to maximum (32786) and Motion and Rotation Fades to 1. I follow the disable play rules while attaching the effect and setting it up as well.
The first pass of a 10 second clip takes around 20 minutes(!), rendering takes about the same. The result is a mixed bag. Much of the handheld motion has gone, but the camera wander is still there along with an odd sort of vibration, noticed particularly at the edges of a parasol, which is totally unnatural and less acceptable than the original handheld shakes.
By way of a comparison, if I put the same clip into Kdenlive and apply vid.stab to it, it only takes about a minute for the first pass and when rendered only the camera wander is there. If I enable Tripod, it is perfectly still. It's much quicker to import a clip into Kdenlive to stabilise and render it than to do just the first pass in Motion51, I could do several in that time and get a good result. So that's what I shall be doing in future if it becomes necessary.
I am using ProRes as my intermediate, both Kdenlive and Cinelerra will import and render it, so no further transcoding is necessary. To use Blender, which I considered, I would have to separately transcode shaky footage to something it likes (but not DNxHD as we shoot 2.7k with the GoPro), then render to HuffYUV to be compatible with Cinelerra.
I only started trying again when I found all the different versions of Motion in the latest release, time to put this quest to rest again, methinks!
Thanks to those who replied.
Last edited by DeJay; 27th May 2017 at 04:06.
I also searched for a cinelerra user forum.
E-Mail is our main medium of communication.
Our mailing list brings both developers and users together. It is basically a forum, where users send mails to each other.
You can send an e-mail to <cinelerra at lists.cinelerra-cv.org> and all users subscribed to our mailing list will get it.
There is a web interface for subscribing http://lists.cinelerra-cv.org/cgi-bin/mailman/listinfo/cinelerra
and a web archive that anybody can browse.
Thanks. Is that you Igor?
It's a shame about camcorderuser.net, but a lot of it's members had stopped posting regularly and almost the only traffic was my Linux thread which got lots of reads, but almost no (other) posts. When the domain was coming up for renewal, Guy let me know he was thinking about closing it and as it was a bit of a dead duck, reluctantly I agreed, so end of.
Since I never could get Cinelerra's Motion to work for me I had decided that, since I prefer the output quality of Cinelerra and Cin-GG is ffmpeg based, so therefore will match the inputs and outputs of most of the other NLEs, I would stabilise in Kdenlive which is quick and easy and then import into Cinelerra. You know I have had a love-hate relationship with Kdenlive for a long time and it hasn't failed to let me down again. The last two updates have had the Tripod setting in vid.stab, excellent! However in the latest update, 17.04.1, suddenly stabilised footage cannot be reliably re-imported for rendering.
Cinelerra-GG has three big advantages in my book, it works perfectly on a KDE desktop, it is ffmpeg based, therefore compatible with other NLEs and if using the single-user versions which I do, doesn't have to be changed when there is an update, making it more reliable. My choice seems to be stabilise in Blender, which requires a change from ProRes which I now use as my intermediate codec to, probaby, HuffYUV as Blender doesn't output ProRes, or try Motion again now there are five versions in Cin-GG. Hence my thread here.
I seem to have got over the biggest hurdle. I have discovered the /tmp Motion folder(s) and that if I delete them between attempts, I can test out different settings to see their effect, which I couldn't before. So I now have it working, but I have a few questions you may be able to help me with.
1. I find that I cannot use Track translation together with Track rotation, but I can use either on their own and they work well enough then. I find that if I do it in two passes, rotation first, I can achieve a decent result. The problem seems to be that rotation requires a much bigger (wider) translation block size than translation and prefers to be set centrally, depending on what is being tracked of course. I did try MotionCV with a larger rotation block size, but that didn't seem to cure it. It doesn't work on Track single frame, but does in Track previous frame. The result of running both together is a "vibration". Is there something I have yet to discover?
2. Motion 2 point doesn't seem to work no matter what settings I use, I was hoping it would take care of rotation and translation in one pass. Any tips for using it?
3. Motion51 doesn't seem very effective no matter what settings I try, including the maximum and very slow 32768 Samples. Again, any tips?
4. I also tried to use ffmpeg deshake, but did not see any vector boxes in the Compositor window, so assuming it is like vid.stab in Kdenlive I ran a pass anyway, but how do I change for the second pass?
I don't care which Motion I use, I just want to find the one that gives me the best results and leave it at that. I don't plan to use it often, I simply want it available for those odd times when I have to shoot handheld.
This problem is now solved.
FYI, the main thing I didn't realise was the significance of the Tracking file window, I didn't find it mentioned in any of the tutorials I read or watched, or even in the manuals. It may be obvious to some what it is for, but it wasn't to me while I was bogged down in umpteen settings and trying to follow each tutorial to the letter.
The other thing I didn't realise is that, unlike any other stabiliser I have tried, Motion does not overwrite the tracking file each time, it stays in the /tmp file until re-boot, so each time I tried to test out a new setting it was reading the existing file and making no further changes. Once I found that deleting the tracking file in /tmp allowed me to run consecutive tests with different settings, I also found that simply renaming the file in the window would do the same.
A couple of days of testing and I have found its uses and limitations as they apply to my purposes.
Thanks to those who replied.