Gyroflow
Video stabilization using gyroscope data
Install / Use
/learn @gyroflow/GyroflowREADME
<p align="center">
<h1 align="center">
<a href="https://github.com/gyroflow/gyroflow#gh-light-mode-only">
<img src="./resources/logo_black.svg" alt="Gyroflow logo" height="100">
</a>
<a href="https://github.com/gyroflow/gyroflow#gh-dark-mode-only">
<img src="./resources/logo_white.svg" alt="Gyroflow logo" height="100">
</a>
</h1>
<p align="center">
Video stabilization using gyroscope data
<br/>
<br/>
<a href="https://gyroflow.xyz">Homepage</a> •
<a href="https://github.com/gyroflow/gyroflow/releases">Download</a> •
<a href="https://docs.gyroflow.xyz">Documentation</a> •
<a href="https://discord.gg/YaUtNpWTUh">Discord</a> •
<a href="https://github.com/gyroflow/gyroflow/issues">Report bug</a> •
<a href="https://github.com/gyroflow/gyroflow/issues">Request feature</a>
</p>
<p align="center">
<a href="https://github.com/gyroflow/gyroflow/releases">
<img src="https://img.shields.io/github/downloads/gyroflow/gyroflow/total" alt="Downloads">
</a>
<a href="https://github.com/gyroflow/gyroflow/graphs/contributors">
<img src="https://img.shields.io/github/contributors/gyroflow/gyroflow?color=dark-green" alt="Contributors">
</a>
<a title="Crowdin" target="_blank" href="https://crowdin.com/project/gyroflow"><img src="https://badges.crowdin.net/gyroflow/localized.svg">
</a>
<a href="https://github.com/gyroflow/gyroflow/issues/">
<img src="https://img.shields.io/github/issues/gyroflow/gyroflow" alt="Issues">
</a>
<a href="https://github.com/gyroflow/gyroflow/blob/master/LICENSE">
<img src="https://img.shields.io/github/license/gyroflow/gyroflow" alt="License">
</a>
<a href="https://gurubase.io/g/gyroflow">
<img src="https://img.shields.io/badge/Gurubase-Ask%20Gyroflow%20Guru-006BFF" alt="Gurubase">
</a>
</p>
</p>
About the project
Gyroflow is an application that can stabilize your video by using motion data from a gyroscope and optionally an accelerometer. Modern cameras record that data internally (GoPro, Sony, Insta360 etc), and this application stabilizes the captured footage precisely by using them. It can also use gyro data from an external source (eg. from Betaflight blackbox).

Features
- Real-time preview, parameter adjustments and all calculations
- GPU processing and rendering, all algorithms fully multi-threaded
- Rolling shutter correction
- Video editor plugins (Adobe Premiere/Ae, DaVinci Resolve, Final Cut Pro and more), allowing you to apply stabilization directly in a video editor without transcoding
- Supports full Sony metadata (recording params, automatic lens, support for IBIS, OIS, EIS - you can have IBIS enabled in camera and still apply Gyroflow on top)
- Supports already stabilized GoPro videos (captured with Hypersmooth enabled) (Hero 8 and up)
- Supports and renders 10-bit videos (up to 16-bit 4:4:4:4 for regular codecs and 32-bit float for OpenEXR - working directly on YUV data to maintain maximum quality)
- Customizable lens correction strength
- Render queue
- Keyframes
- Ability to create custom settings presets
- Visual chart with gyro data (displays gyro, accelerometer, magnetometer, and quaternions, including smoothed quaternions)
- Supports underwater footage (corrects underwater distortions)
- Modern responsive user interface with Dark and Light theme
- Adaptive zoom (dynamic cropping)
- Zoom limit
- Supports image sequences (PNG, OpenEXR, CinemaDNG)
- Based on telemetry-parser - supports all gyro sources out of the box
- Gyro low pass filter, arbitrary rotation (pitch, roll, yaw angles) and orientation
- Multiple gyro integration methods for orientation determination
- Multiple video orientation smoothing algorithms, including horizon levelling and per-axis smoothness adjustment.
- Cross-platform - works on Windows/Linux/Mac/Android/iOS
- Multiple UI languages
- Supports variable and high frame rate videos - all calculations are done on timestamps
- H.264/AVC, H.265/HEVC, ProRes, DNxHD, CineForm, PNG and OpenEXR outputs, with H.264 and H.265 fully GPU accelerated (ProRes also accelerated on Apple Silicon)
- Easy lens calibration process
- Fully zero-copy GPU preview rendering
- Core engine is a separate library without external dependencies (no Qt, no ffmpeg, no OpenCV), and can be used to create OpenFX and Adobe plugins (on the TODO list)
- Automatic updates of lens profile database
- Built-in official lens profiles for GoPro HERO 6-13; Sony; DJI; Insta360 action cameras; RunCam: Thumb series, 5 Orange
- Easy management of the video editor plugins from within the app
- Ability to add an additional 3D rotation (useful for framing vertical videos)
Supported gyro sources
- [x] GoPro (HERO 5 and later)
- [x] Sony (a1, a7c, a7r V, a7 IV, a7s III, a9 II, a9 III, FX3, FX6, FX9, RX0 II, RX100 VII, ZV1, ZV-E10, ZV-E10 II, ZV-E1, a6700)
- [x] Insta360 (OneR, OneRS, SMO 4k, Go, GO2, GO3, GO3S, GOUltra, Caddx Peanut, Ace, Ace Pro)
- [x] DJI (Avata, Avata 2, O3/O4 Air Unit, Action 2/4/5/6/Nano, Neo, Neo2)
- [x] XTRA (Edge, Edge Pro)
- [x] Blackmagic RAW (*.braw)
- [x] RED RAW (V-Raptor, KOMODO) (*.r3d)
- [x] Canon (C50, C80, C400, R6 Mk3, R5 Mk2) (*.mp4, *.mov, *.mxf)
- [x] Freefly (Ember)
- [x] Betaflight blackbox (*.bfl, *.bbl, *.csv)
- [x] ArduPilot logs (*.bin, *.log)
- [x] Gyroflow .gcsv log
- [x] iOS apps:
Sensor Logger,G-Field Recorder,Gyro - [x] Android apps:
Sensor Logger,Sensor Record,OpenCamera Sensors,MotionCam Pro - [x] Runcam CSV (Runcam 5 Orange, iFlight GOCam GR, Runcam Thumb, Mobius Maxi 4K)
- [x] Hawkeye Firefly X Lite CSV
- [x] XTU (S2Pro, S3Pro)
- [x] WitMotion (WT901SDCL binary and *.txt)
- [x] Vuze (VuzeXR)
- [x] KanDao (Obisidian Pro, Qoocam EGO)
- [x] CAMM format
Info for cameras not on the list
- For cameras which do have built-in gyro, please contact us and we will implement support for that camera. Refer to the documentation for information about the gyro logging process.
- For cameras which don't have built-in gyro, you can use any other device which records gyro data. It may be a phone, an action camera, or an external device like a Betaflight FC, flowshutter, esp-gyrologger (eg. on an AtomS3). You just have to mount it on your main camera.
Installation
Windows - Microsoft Store or:
- Download
Gyroflow-windows64.zipfrom the Releases page, extract the files somewhere and runGyroflow.exe - If it shows an error about
VCRUNTIME140.dllor0xc0000142, install VC redist
MacOS - App Store or:
- Download
Gyroflow-mac-universal.dmgfrom the Releases page, run the downloaded file, and drag & dropGyroflowapp to the Applications folder (or anywhere you want, like on Desktop) - You can also install using brew:
brew install gyroflow. To upgrade Gyroflow, runbrew updatethenbrew upgrade gyroflow
Linux
- Download
Gyroflow-linux64.tar.gzfrom the Releases page, extract the files somewhere and run./Gyroflowin the terminal. - If that doesn't work, you can try the
Gyroflow-linux64.AppImage, but the .tar.gz one is preferred. - Make sure you have latest graphics drivers installed
- Possibly needed packages:
sudo apt install libva2 libvdpau1 libasound2 libxkbcommon0 libpulse0 libc++-dev libvulkan1 - GPU specific packages:
- NVIDIA:
nvidia-opencl-icd nvidia-vaapi-driver nvidia-vdpau-driver nvidia-egl-icd nvidia-vulkan-icd libnvcuvid1 libnvidia-encode1 - Intel:
intel-media-va-driver i965-va-driver beignet-opencl-icd intel-opencl-icd - AMD:
mesa-vdpau-drivers mesa-va-drivers mesa-opencl-icd libegl-mesa0 mesa-vulkan-drivers
- NVIDIA:
Android
iOS
Nightly build
Latest development version is always available here: https://gyroflow.xyz/devbuild/.
Minimum system requirements:
- Windows 10 64-bit (1809 or later)
- If you have Windows "N" install, go to
Settings->Apps->Optional features->Add a feature-> enableMedia Feature Pack
- If you have Windows "N" install, go to
- macOS 10.15 or later (both Intel and Apple Silicon are supported natively)
- Linux:
.tar.gzpackage (recommended): Debian 10+, Ubuntu 18.10+, CentOS 8.2+, openSUSE 15.3+. Other distros require glibc 2.28+ (ldd --versionto check).AppImageshould work everywhere
- Android 6+
- iOS 14+
Help and support
For gen
