FOSSPicks
FOSSPicks
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
Granular synthesizer
Buy this article as PDF
(incl. VAT)
Buy Linux Magazine
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.
News
-
System76 Refreshes Meerkat Mini PC
If you're looking for a small form factor PC powered by Linux, System76 has exactly what you need in the Meerkat mini PC.
-
Gnome 48 Alpha Ready for Testing
The latest Gnome desktop alpha is now available with plenty of new features and improvements.
-
Wine 10 Includes Plenty to Excite Users
With its latest release, Wine has the usual crop of bug fixes and improvements, along with some exciting new features.
-
Linux Kernel 6.13 Offers Improvements for AMD/Apple Users
The latest Linux kernel is now available, and it includes plenty of improvements, especially for those who use AMD or Apple-based systems.
-
Gnome 48 Debuts New Audio Player
To date, the audio player found within the Gnome desktop has been meh at best, but with the upcoming release that all changes.
-
Plasma 6.3 Ready for Public Beta Testing
Plasma 6.3 will ship with KDE Gear 24.12.1 and KDE Frameworks 6.10, along with some new and exciting features.
-
Budgie 10.10 Scheduled for Q1 2025 with a Surprising Desktop Update
If Budgie is your desktop environment of choice, 2025 is going to be a great year for you.
-
Firefox 134 Offers Improvements for Linux Version
Fans of Linux and Firefox rejoice, as there's a new version available that includes some handy updates.
-
Serpent OS Arrives with a New Alpha Release
After months of silence, Ikey Doherty has released a new alpha for his Serpent OS.
-
HashiCorp Cofounder Unveils Ghostty, a Linux Terminal App
Ghostty is a new Linux terminal app that's fast, feature-rich, and offers a platform-native GUI while remaining cross-platform.