Stabilize creates a wobbly effect with fisheye

See the issue:

2024-09-26 10-59-08.zip (2.2 MB)

How to fix?

Did you use the two filters in the same project?

In my opinion, the Stabilize filter should be used alone to fix shakiness in the source video. After exporting it, you can use the fixed footage in your other projects.

The first version is the one with stabilize unchecked and the second one with it being checked.

The wobbly effect is due to what is called “parallax”, when you move the camera the angles of near vs far objects changes. This is more visible with fisheye lenses simply because the angles are more exaggerated and the brain picks them up immediately.

Try to remove the fisheye effect with the Fisheye filter. If you can get the clip completely linear the result will be way better. I think you need to export a copy of the de-fisheyed video before stabilizing so the stabilize will use the straightened clip.

2 Likes

It looks like your record was done with an action camera.

All action cameras I know do have a fish eye effect.
If you want to improve this in Shotcut you have make a fish eye correction filter before the stabilization.

1st) Fish eye correction filter
2nd or 3rd stabilization filter
2nd or 3rd position, zoom and rotate filter

If you do use a wide angle camera with gyro data (=modern action cam) than the stabilization with the not so easy giroflow will deliver the best results.

I actually do, how to make shotcut use the giroflow?

So far I know have to adapt the kdenlive giroflow plugin into Shotcut.

It is called GyroFlow You can simply use its UI and export a video instead of integration.

There is a frei0r plugin version of it that Kdenlive uses, and Shotcut can see but it has no UI for it. Some tools have UI generators; we do not. Generated UIs are not so easily translatable, but it is on the roadmap as “generic filter UI.” Adding a frei0r plugin in Shotcut on Windows currently requires you to add it to the install location + \lib\frei0r-1. Linux can use the FREI0R_PATH environment variable but don’t forget to include Shotcut’s bundled frei0r dir in that.

The gyroflow plugin repo contains a Kdenlive XML UI file, and it looks easy to add one to Shotcut based on that. Be aware that anything beyond the most basic usage still requires the full GyroFlow app because you can see the plugin optionally takes a gyroflow project file. Otherwise, you need to give it a video file name, which is awkward since it is a filter to a video file. I guess you give it the same name. frei0r has the concept of a generator type of plugin, and I am surprised it does not use that.

I just made a UI and then discovered @daniel47 had already made one here too:

Despite the pitfalls mentioned, I will include a combination of his and mine in the next version. I have not yet decided to bundle the GyroFlow app or the plugin with Shotcut. Including either would require doing our own build to get Arm64 and Flatpak support, and I am not up to that yet. For now, you will get the UI (with translation where provided), and one can install the plugin separately.