gyroflow/gyroflow

Video stabilization using gyroscope data

什么是 Gyroflow?

Gyroflow 是一款免费、开源的应用,稳定视频画面——消除抖动和晃动——利用陀螺仪(以及可选的加速度计)记录的运动数据。

工作原理

现代运动相机和其他一些相机(GoPro、Sony、Insta360、DJI 等)将陀螺仪数据记录在视频文件内部。Gyroflow 读取这些数据,并利用它们精确计算出相机在每一帧中的运动方式,然后通过数学方式抵消该运动,从而生成平滑、稳定的画面。如果相机不记录内部陀螺仪数据,您可以将外部设备(如手机应用、Betaflight 飞控或小型专用陀螺仪记录器)安装在相机上,Gyroflow 将使用该数据。

主要功能

  • 实时预览 — 在调整稳定参数时即时查看效果,所有计算实时进行。
  • 卷帘快门校正 — 修复相机传感器逐行扫描时产生的“果冻”变形。
  • 支持已稳定的素材 — 例如,使用 Hypersmooth 拍摄的 GoPro 视频(Hero 8 及以上)可以重新稳定。
  • 视频编辑器插件 — 适用于 Adobe Premiere/After Effects、DaVinci Resolve 和 Final Cut Pro,您可以直接在编辑软件中应用稳定效果,无需先转换文件。
  • 高质量渲染 — 支持 10 位视频(常规编解码器最高 16 位 4:4:4:4,OpenEXR 支持 32 位浮点),并支持 GPU 加速的 H.264/H.265 编码。
  • 水下素材支持 — 校正水引起的变形。
  • 自适应缩放 — 动态裁剪画面,隐藏稳定过程中移动的边缘。
  • 关键帧 — 允许您在特定时间点手动调整稳定效果。
  • 自定义预设 — 保存并复用您自己的设置。
  • 可视化陀螺仪数据图表 — 查看原始陀螺仪、加速度计、磁力计和四元数数据。
  • 镜头校准 — 内置流程校正镜头畸变,并自动更新镜头配置文件数据库(包含许多 GoPro、Sony、DJI、Insta360 和 RunCam 相机的官方配置文件)。
  • 跨平台 — 支持 Windows、macOS、Linux、Android 和 iOS,并提供多种界面语言。

支持的陀螺仪数据源(部分列表)

  • GoPro(HERO 5 及更高版本)
  • Sony(许多 Alpha、FX、RX 和 ZV 型号)
  • Insta360(OneR、OneRS、GO 系列、Ace 等)
  • DJI(Avata、O3/O4 Air Unit、Action 系列、Neo)
  • Blackmagic RAW 文件
  • RED RAW 文件
  • Canon(C50、C80、C400、R6 Mk3、R5 Mk2)
  • Betaflight 黑匣子日志
  • ArduPilot 日志
  • Gyroflow 自己的 .gcsv 日志格式
  • 多种 iOS 和 Android 应用记录传感器数据
  • 其他各种格式(Runcam CSV、WitMotion、CAMM 等)

如果您的相机未列出但内置陀螺仪,项目邀请您联系他们以添加支持。如果完全没有陀螺仪,您可以使用任何记录陀螺仪数据的外部设备。

如何获取

  • Windows:Microsoft Store,或从 Releases 页面下载 zip 文件。
  • macOS:App Store、.dmg 文件,或 brew install gyroflow。
  • Linux:.tar.gz 包(推荐)或 AppImage。
  • Android:Google Play。
  • iOS:App Store。

还提供夜间开发构建版本。

技术细节

  • 使用 Rust(核心引擎)编写,界面采用 QML。
  • 主程序使用 Qt、ffmpeg、OpenCV 和 mdk-sdk,但核心库是纯 Rust,无外部依赖——可重复用于构建插件。
  • GPU 处理支持 DirectX、OpenGL、Metal 和 Vulkan,使用 OpenCL 或 wgpu,并提供 CPU 回退。
  • OpenCV 仅用于镜头校准和光流,不用于核心稳定算法。
  • 二进制文件链接到 mdk-sdk,该 SDK 是闭源的,有自己的许可证;Gyroflow 本身采用 GPLv3 许可证,并附带额外许可允许该链接,以及核心库的 App Store 例外。

开发者

  • AdrianEddy — Rust 实现、UI、GPU 处理、卷帘快门校正和 Adobe 插件的作者。
  • Elvin Chen — 第一个 Python 版本的作者,奠定了基础。
  • 几位重要贡献者添加了特定算法(速度阻尼平滑、自适应缩放等)。

贡献

项目欢迎贡献——错误报告、功能请求、通过拉取请求的代码以及翻译(目前支持 20 多种语言,通过 Crowdin 管理)。

更多信息

  • 主页:gyroflow.xyz
  • 文档:docs.gyroflow.xyz
  • Discord:用于支持和讨论
  • 提供带陀螺仪数据的测试片段,供试用软件。

相关

  • 项目
  • 项目
  • 项目
  • 项目