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에서 실행되며 여러 UI 언어를 지원합니다.

지원되는 자이로 소스(일부 목록)

  • 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에 링크되어 있습니다. mdk-sdk는 클로즈드 소스이며 자체 라이선스가 있습니다. Gyroflow 자체는 GPLv3 라이선스에 해당 링크를 허용하는 추가 허가와 핵심 라이브러리에 대한 App Store 예외가 적용됩니다.

제작자

  • AdrianEddy — Rust 구현, UI, GPU 처리, 롤링 셔터 보정, Adobe 플러그인의 저자.
  • Elvin Chen — 기초를 마련한 최초의 Python 버전의 저자.
  • 몇몇 주목할 만한 기여자들이 특정 알고리즘(속도 감쇠 스무딩, 적응형 줌 등)을 추가했습니다.

기여

프로젝트는 기여를 환영합니다 — 버그 보고, 기능 요청, 풀 리퀘스트를 통한 코드, 번역(현재 20개 이상의 언어 지원, Crowdin을 통해 관리).

추가 정보

  • 홈페이지: gyroflow.xyz
  • 문서: docs.gyroflow.xyz
  • Discord: 지원 및 토론용
  • 자이로 데이터가 포함된 테스트 클립을 소프트웨어 체험에 사용할 수 있습니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트