To save CPU overhead on my Hero 5 Session GoPro I'm debating to disable stabilization and run a stabilization after the recording is completed on the video on a PC.

Are there benefits to performing stabilization on a device like this at record time versus in post-production? Or is standalone stabilization on a PC perhaps even more effective?

I'm not sure if the stabilization is purely based on the image or uses any sort of gyro sensors.

Thank you!

2 Answers 2


I would decide by running some recording tests, and deciding which image you actually prefer - the on-board stabilisation, or doing it in post on the PC. There will be pros and cons both ways - although I wouldn't worry about things like CPU overhead, unless you've actually read somewhere of this being an issue?

This article gives a little bit of a run down of the stabilisation feature, if you haven't seen it. https://havecamerawilltravel.com/gopro/gopro-hero5-video-stabilization/

Based on the article, it looks like the stabilisation is being done in the sensor. In a lot of cameras, the full sensor isn't used for recording, certainly not in all recording modes. For stabilisation, these cameras sample a larger area of sensor elements than what is being recorded, work out where your image has moved between frames, and record the area/window they consider to be your intended image, smoothing out your movements.

The article notes that you can't record a full resolution image in some modes when using the stabilisation, so it's almost certainly sampling the full sensor, and then stabilising by reducing the number of sensor elements being recorded, changing where the recording window is, based on your movement. Note with this method that the camera might not always stabilise in a way you consider to be "correct", and you'd have no control over that.

Stabilising with the PC will give you more control over what is done, but the PC software will also be interpolating (educated guessing) where required to create extra image data for your stabilised image. If you don't need the highest camera resolution, the stabilised visual data from the GoPro might be preferable to stabilisation corrections generated in PC software. But if you want to record in the highest resolutions, you'll be cropping images from the GoPro to do that, which may not be ideal - taking the unstabilised GoPro image and stabilising on a PC may be the better option for some resolutions.

Like I said, I would test both, and see what you think of the results for yourself. It's useful to know how both stabilisation techniques work, and other than that there's no correct answer for everyone - it will depend on exactly what you're recording, what quality it needs to be recorded in, and which method produces the best looking result to you when completed. If you don't need full resolution, and you're happy with how the stabilised GoPro image looks, I'd probably go with the camera stabilisation - but it was certainly noted in the article above that in some cases the stabilised image didn't look that great, so I'd definitely test it on what you're doing first.


For best results, the first thing you need to do is physically stabilize the gopro itself, as best as you can. Neither the gopro's built-in stabilization nor post processing stabilization can remove A) motion blur caused by excessive rotational movement or B) parallax introduced by rotational and translational movement. These two factors are the main reasons post-stabilization looks unnatural.

Think about this: Your left and right eye are distant enough from each other to give your brain a three-dimensional view of the world. Your brain constructs that model (mostly) from the parallax difference between the left and right eye; a few centimeters is all it takes. If your GoPro is bouncing up and down more than that, no amount of post-processing is going to fix it -- at least until computer vision, and machine learning algorithms catch up. But as of 2020, software and on-sensor stabilization work by translating, rotating, and perspective warping the image. We're starting to see AI advancements like "Content Aware Fill" that can paint in the missing pieces, but we still have a way to go before they can correct deep movement on the fly**. Expect to see the feature first in cell phones, which are in their infancy with respect to depth processing.

So, for BEST results, use gimballs, shock mounts, tripods, monopods, dollys, jibs, or whatever you can to stabilize the camera first. Even duct-taping the thing to a brick is enough to dampen its rotational inertia (some). After that, you can decide whether you value the extra pixels enough to forgo the built-in stabilization, but time is money, and "fix-it-in-post" is usually more trouble than it's worth.

**It's only April 2020, and there's already machine learning advancements towards this goal. See https://github.com/sniklaus/3d-ken-burns for example.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.