FOSSPicks

FOSSPicks

Article from Issue 275/2023
Author(s):

This month Graham looks at Gyroflow, gRainbow, Polyrhythmix, mfp, Mission Center, and more!

Video stabilizer

Gyroflow

There was a time when many of us laughed at the silly people and their selfie sticks – absurd periscopes sticking out of a crowd holding front-facing phones in the air or ski-pole-attached cameras hovering ahead of some great action jump or remarkable descent. But times have changed, and what one generation considered narcissism has now become completely normalized. We are now recording more videos than we ever thought possible, from mountain biking and snowboarding, to chasing people around the garden.

For any of this footage to be watchable, it needs motion stabilization. Back in the olden days of filmmaking, motion stabilization came from the physical setup of a shot, including wheeled dolly carts on rail tracks, and weighty gimbals that counter physical movement with opposite movements of their own. Modern motion stabilization mostly replaces these costly and bulky paraphernalia with embedded gyroscopes and accelerometers combined with an abundance of image resolution for image processing. GoPro devices are particularly effective at combining these elements into their video stabilization, but it's a difficult trick to pull off in open source without either a great deal of manual editing or Gyroflow.

Gyroflow is a mature desktop application that helps you use embedded gyroscope and accelerator data to stabilize a linked video recording. It does this by intelligently cropping each frame to leave an overscan area it can cut into, frame-by-frame, to compensate for any detected movement. For this to work, the video must come from a supported camera so that Gyroflow can parse the motion data, but a wide range of devices are supported, including nearly all modern GoPro, DJI, Sony, and Insta360 cameras. GoPro support is particularly well implemented as videos from these devices can be dragged directly into the main window without requiring the synchronization step that other devices require to link the motion data to the video.

To help navigate what could be a complex process, the Qt 6-based user interface is especially well designed. On the left is a column that deals mostly with input, including file management for motion data and lens profiles, while a column on the right handles the processing and output. The output preview panel sits in the middle, with a section below plotting the yaw, pitch, rotation, and zoom from the camera. This data can be loaded separately or decoded from the video file. Each section can be resized dynamically according to how you might want to work, but if the motion data isn't embedded, this is the place to start, followed by the synchronization step and lens profile.

Many popular lens profiles are available, both official and unofficial, including profiles for the GoPro MAX lens mods, and these are used to ensure the integrity of the field-of-view projection while the stabilization dynamically moves the view through the cropped areas. This is done in real time, with or without CUDA, acceleration using the output preview transport controls, and you can turn stabilization on or off here, as well as see the stabilization frame within the entire video field. It's a brilliant way to understand how the process works. The final step is exporting the rendered video, with the final output being of much higher quality than the preview. It's perfect for fixing anything wobbly, from drone footage to drunken barbecue footage, and it's amazing that an application of this quality and maturity is freely available and open source.

Project Website

https://gyroflow.xyz

1. Supported cameras: To get the most out of Gyroflow, you need video from a supported camera, such as a recent GoPro. 2. Stable video: The editor view will show the cropped stable part of the overall recording. 3. Overscan buffer: This area is used to compensate for the motion to keep the image still. 4. Motion data: Gyroscope data is either embedded in the video or loaded and synchronized separately. 5. Stabilization: Fine-tune both the smoothness and the amount of cropping required to maximize output video quality. 6. Lock horizon: The horizon can optionally be fixed for the duration of your video. 7. Export: Use your GPU to accelerate output rendering and improve the overall quality of the video.

Granular synthesizer

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

SINGLE ISSUES
 
SUBSCRIPTIONS
 
TABLET & SMARTPHONE APPS
Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More

News