Idea/Request: horizontal/vertical-only motion tracking checkbox

Hi, longtime fan/firsttime poster – the new motion tracking feature is awesome, and I managed to get it to do a horizontal-only motion-tracking by playing around with regex on the .mlt file,

perl -p -i -e 's/(\=\d+) \d+ /$1 0 /g if /results/' test.mlt

plus some other search/replaces – I’m not exactly sure how the coordinate system is set up in the
<property name="results">
which I assume is where the motion-tracking data is stored.
The format seems like timestamp followed by 5 numbers.
I’m guessing the first four describe the bounding box (x1,y1,x2,y2) with origin in upper left corner?

00:00:01.317~=1106 64 1055 1114 0;
00:00:01.411~=1097 62 1055 1114 0;
00:00:01.506~=1091 58 1055 1114 0;
00:00:01.600~=1071 48 1055 1114 0;
00:00:01.694~=1061 46 1055 1114 0;
00:00:01.788~=1041 44 1055 1114 0;
00:00:01.882~=1019 48 1055 1114 0;

In any case, this seems like it would be a useful thing to add a checkbox to ignore x-deltas or y-deltas to get horizontal-only or vertical-only tracking, but maybe I’m missing a much simpler or obvious way to do this natively in Shotcut. Would this sort of thing be better to remain as a post-processing step outside of Shotcut?


i’ve thought something like this would be very useful. my wish list item is more to define something like a maximum tracking or offset range, and i think something like that could be used to achieve what you’re describing.

Yes! A slider (or two sliders for horizontal, vertical) from 0 to max_delta would work great, I think.
I wonder if that would be better to do as a kind of filter to apply to a motion tracking profile, or if it should generate a new profile.

e.g. applying it to motion tracking profile named “head_track” creates a new profile called “head_track(constrained)”

If it were a live filter, you could possibly see the motion tracking differences when applying it by checking it on and off.

I’m not sure what’s the best approach.

1 Like