Stabilize footage using multiple tracked layers

Hello -

I am wondering if there is a way to stabilize a clip using more than one tracked area. For example; if the area I am tracking becomes obstructed or if it disappears off-frame; can i designate a “new” area and have it proceed with stabilizing the clip using that new tracked layer??

If so, how do I do that exactly?

Thank You -


In an ideal world you should be tracking something at the horizon like a cloud or a very distant object near infinity, this is because parallax on moving video will mess with you when stabilizing.
I’m currently trying to figure out a solution for the same question.

Here’s what I’m working with, and what I’ve tried, and hopefully someone can come save the day for us.

My footage is a steadicam shot in a tight canyon, it’s got some wobble on the Y axis that I’m trying to get rid of so that the VR experience is clean and not gonna make anyone woozy.

It’s stereoscopic, 180, rendered to 360 with black on the sides (since mocha doesn’t have a 180 option)

I’ve tried a handhold method like what you’re describing (track until something is almost out of frame, overlap 10-20 frames on a new layer in a similar spot) and have had only a modicum of success in reorienting and stabilizing, nothing worth calling good enough.

I then tried tracking the furthest object I could see which is about 200ft from camera, but at that distance (even in 7680x3840 per eye) there’s just not enough detail to get a clean track.

My most recent try was really solid at stabilizing the shot, but introduced a lot of jitter, that was done by having two planar tracks on that same distant object set to only translate/scale/rotate.

These shots are between 40 to 90 seconds long and have to be done as full takes, so it’s really hard to get a solid stabilized track over 1800 frames while the camera moves through an area with no visible horizon, or even clouds.

From what I understand it should be possible to overlay the tracks like you’re talking about, and it’s definitely the proper method for near object tracking.

What I need to know (piggybacking on this question) is how to achieve a decent stabilization which isn’t trying to “track” those focus points, but rather just using them to smooth out motion before reorienting.

1 Like

That is some interesting insight Phil thank you for that.

Hopefully someone from the Mocha team can get back to us regarding how to do this because it is obviously something people are interested in learning about.


Stabilizing for 360 and standard video is a bit different. For the first question:

if the area I am tracking becomes obstructed or if it disappears off-frame; can i designate a “new” area and have it proceed with stabilizing the clip using that new tracked layer??

If the area is obstructed by a FG object, you create a 2nd layer to mask out and subtract the FG from the bg track. Mocha’s layer order does this automatically, so the layers should be stacked. The furthest from the camera should be the lowest in the layer order. There are a lot of Mocha tutorials that cover occlusions.

If the object you are tracking goes off screen OR is fully occluded, you can stop the track before it goes of and move the search area to a new area. As long as this new area is on the “same relative plane”, you can typically solve lots of stabilize tracks in this manner. If you have not used the “unlink to track” workflow, it may be worth exploring. This video may have some good tips: Boris FX | Mocha: Unlink and Offset Tracking for Background Replacement

Phil, for 360 tracks - as you say you generally want to find a rigid object pattern on the horizon. You can use the same technique of adding to the shape or moving the shape over time as long as the new track area is relative. I have used a technique where you overlap tracked regions across the Mocha timeline but this can be a bit difficult to manage. If you are looking to “smooth” versus stabilize you may have success flattening your 360 to a rectilinear or cube view and using a simple translate and rotate mocha track and use the “Stabilize” module (not reorient.) and export the smoothed tracking data.
Lastly, I have also used Mocha data, exported to AE, and applied the “keyframe smoother” to minimize jitters.

Perhaps some of this might help?


Thank You Ross I will try to give that a go later on today I appreciate your time and advice


Hi folks, I know this will be absolutely no help at all :grin: but i haven’t done much stabilization since getting Mocha n giving everything it does ‘a go’ but reading this post when it was created inspired me to look into the subject, i film with my phone on an old tripod & often gt a bit of wobble,
This clip annoyed me a little because it was hard to watch because it bounces, i think the tripod was touching the drill, but playing with it briefly & i’ve got a fairly decent steady shot, at least on the main drill area, I’m sure with more time I will get better results, I can’t track something in the distance but i masked the drill to stop it getting in the way of the track i want to stabilize,
Like i say no help to you, just sharing that’s all n thanks for the inspiration to get my finger out, to rewatch some of the Boris tutorial vids n learn a bit :grin: :grin:

1 Like

I may not have mentioned, it’s stereoscopic, so I probably wouldn’t be able to flatten it, since it’s tracking left and right eyes.

However your tips are very helpful, specifically the unlink to track workflow, I’m still relatively new to mocha (only started using “pro” recently despite using the AE version for a while)

I’m having better success now and simplifying my track, I knew that the track and the search area were independent, but it hadn’t clicked on a fundamental level yet.

I will post an update once I’m done with this run!

1 Like

Thanks for the follow-up. Yes - understanding the flexibility between the search area (spline) and the track data (surface) is really the key to taking advantage of Mocha’s planar tracking. It’s quite unique.
Stereo tracks can add to the complexity, but as long as the object/pixel pattern you are tracking is relatively rigid, Mocha should do a decent job of calculating the disparity.
Best of luck!