Why Doesn’t ReelSteadyGo Work on the GoPro Hero7?

Well it does. Just not on a drone.

The Problem

So unless you’ve been living under a rock for the last few days, you’ll be aware that the geniuses over at ReelSteady have just put out a new version of their flagship software called “ReelSteadyGo.” Unlike a “lite” system, it’s a tool that’s designed directly for GoPros. And, if you’ve done any digging whatsoever, you’ll find that in general it’s very focused on the GoPro Hero6, rather than the current version of the same product, the Hero7.

Well, like with most limitations such as this, there’s always a story. But, we did some digging and chatting with the ReelSteady team, and found this very interesting thread where the ReelSteady devs are talking directly with GoPro devs. What you’ll find is that major changes in the IMU processing from hero6 to hero7 (most likely in support of the Hypersmooth addition) limits and harms the gyro information available to the user when it’s not being used directly with Hypersmooth.

One of the easiest to understand points that was made in this article was an overlay made by the ReelSteady developers showing the horizon on the recorded footage: 
https://drive.google.com/file/d/1CdtANhsY2ef4x67CzV9AxkLdbiBAR7Xs/view

What you’ll see is a comparison between hero6 and hero7 footage demonstrating what an augmented horizon line would look like on the footage. Clearly, the hero6 is locked in, while the hero7 starts to wander or jump around. If you went through the rendering process with a hero7, session5, etc, you’ve probably seen results similar to this. That’s because the data that’s coming off the non-hero6 cameras is throwing off that process of timing the video data against the gyro data.

Here, on the GitHub comments, you can see a GoPro dev admitting that the information coming off the gyro is just not clean when mounted to a drone. 

The discussion goes on to talk about the hardware changes that have been made between the hero6 and hero7 iterations

Thanks again for the info! That’s interesting. From this teardown here https://gethypoxic.com/blogs/technical/gopro-hero7-teardown the author claims the only hardware changes from the Hero 6 to the Hero 7 are the Apple MFI, The 2GB of ram, and Pericom PI3USB9281 charging component. If that’s true, does’t it seem possible that Hero 6 style of gyro recording may work on that configuration?

https://github.com/gopro/gpmf-parser/issues/47#issuecomment-468445561

The final conclusion is that the hardware changes were not what made the difference, but instead that there were modifications made at the base level of the GoPro Hero7 code that re-interprets the data coming off the Gyro.

As far as I can tell, the HERO7 consumes all the gyro data and then adjuststhe “timestamp” before it passes to the EIS algorithm. The HERO6 doesn’t dothis step. The hardware is the same but how the HERO6 and HERO7 consume thegyro data is much different. To me it appears like a low pass filter or theODR is slower on the HERO7.

https://github.com/gopro/gpmf-parser/issues/47#issuecomment-478031649

So Where does this leave us?

Well, luckily there are a few options. The first, and best option is to get a GoPro Hero6 that you will use exclusively for ReelSteady edits. For me personally, this was a very acceptable solution because I can plan on which shots will be steadied in post against the clips that I’ll be using straight out of camera body. Now, I recognize that this isn’t an option for everyone, so there are other things to do as well. 

The second option is to soft-mount your GoPro. What the above discussion found out is that the vibrations  caused by the propellors on drones are what cause the major stabilization issues. However, if you don’t mount the GoPro on a drone or if you soft-mount the GoPro while it’s on a drone, you’ll have a lot more success getting accurate readings off the gyro. 

The authors of ReelSteady released information here on suggestions for mounting: 
https://www.reelsteady.com/pages/go-drone-info

Finally, don’t loose hope! It IS possible that GoPro could make a future firmware update that would allow the Hero7 Gyro data to work with ReelSteadyGo, but they need to hear our voice! Go here and submit a support ticket!

Go to this link and use the following to help notify GoPro what you want! 
https://gopro.com/feedback

Hello! 

I am a huge fan of GoPro and a long time supporter of their products. I own a GoPro Hero7, and I would love to use it with a software called “ReelSteadyGo.” However, this product is unusable with the GoPro hero7 gyro data, and it has all been outlined in this ticket here: 
https://github.com/gopro/gpmf-parser/issues/47
Please help us build a firmware version that would support the type of gyro filtering we need for this software.

One thought on “Why Doesn’t ReelSteadyGo Work on the GoPro Hero7?

Leave a Reply

Your email address will not be published. Required fields are marked *