drone-video-stabilizer

App to stabilize drone videos

https://github.com/marine-data-science/drone-video-stabilizer

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 2 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (16.9%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

App to stabilize drone videos

Basic Info
  • Host: GitHub
  • Owner: marine-data-science
  • Language: Python
  • Default Branch: main
  • Size: 11.4 MB
Statistics
  • Stars: 1
  • Watchers: 2
  • Forks: 0
  • Open Issues: 1
  • Releases: 6
Created about 1 year ago · Last pushed 8 months ago
Metadata Files
Readme Citation

readme.md

Logo Drone Stabilizer

Video Stabilizer for stationary Drone Videos

DOI

Overview

Video Stabilizer is a cross-platform tool designed to stabilize drone footage by correcting unwanted rotations and shifts caused by wind. It automatically detects fixed reference points (such as the edges of a swimming pool) and aligns the frames accordingly, ensuring a smooth and stable video output. It is particularly useful when the footage should be used to extract information, such as for scientific analysis, like track recognition or object detection.

Example Footage Comparison

The application provides both a graphical user interface (GUI) for ease of use and a command-line interface (CLI) for automation and advanced users.

Features

  • Automatic video stabilization using feature detection.
  • Supports single video files and entire folders for batch processing.
  • Graphical User Interface (GUI) for easy video selection.
  • Command-Line Interface (CLI) for advanced users and automation.
  • Cross-platform compatibility (Windows, macOS, Linux).

Installation

Windows & macOS

The latest releases for Windows (.exe) and macOS (.app.zip) can be downloaded from the GitHub Releases page.

  1. Download the latest version for your operating system.
  2. On macOS, unzip the .app.zip file before running.
  3. Run the application.

Linux

For Linux users, download VideoStabilizer.bin, make it executable, and run: bash chmod +x VideoStabilizer.bin ./VideoStabilizer.bin

Install via Python (for CLI users)

If you prefer using the CLI version, install via Python using Poetry: bash git clone https://github.com/marine-data-science/drone-video-stabilizer.git cd drone-video-stabilizer poetry install

Usage

Graphical User Interface (GUI)

Simply launch the application and follow these steps: 1. Select a video file or an entire folder. 2. Click "Start" to begin stabilization. 3. The stabilized videos will be saved with _stabilized appended to the filename.

Screenshot of the GUI

Command-Line Interface (CLI)

For users who prefer CLI, the application provides a simple command structure: bash poetry run video-stabilizer <Input.mp4> [--output stabilized_video.mp4] [--skip-outlier-frames]

Options:

  • <Input>: Specifies the input video file.
  • --output <file>: Defines the output filename (optional; defaults to appending _stabilized).
  • --skip-outlier-frames: A flag to control if the algorithm should continue when the video contains frames which cannot be transformed to fit to the first frame.

App Icon Handling

The application icon (Icon.png) must be placed in the app/icon/ directory. During CI, this icon is automatically converted into the required formats (.ico, .icns, .png) for Windows, macOS, and Linux. The converted icons are not stored in the repository but are generated on-demand in the build pipeline.

For local testing, you can manually generate the icons by running: bash poetry run generate-icons This command converts Icon.png into the necessary formats and stores them in app/icon/output_icons/.

Development

For developers who want to contribute or modify the project: bash git clone https://github.com/marine-data-science/drone-video-stabilizer.git cd drone-video-stabilizer poetry install

To build the standalone application: bash poetry run generate-icons poetry run pyinstaller app/VideoStabilizer.spec

Contributing

Contributions are welcome! Feel free to submit issues or pull requests to improve the tool.

License

This project is licensed under the MIT License.

Owner

  • Name: Marine Data Science - Uni Rostock
  • Login: marine-data-science
  • Kind: organization
  • Location: Germany

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Meischner"
  given-names: "Jan"
title: "Drone Video Stabilizer"
version: 1.0.0
doi: 10.5281/zenodo.15736392
date-released: 2025-06-25
url: "https://github.com/marine-data-science/drone-video-stabilizer"

GitHub Events

Total
  • Create event: 14
  • Issues event: 1
  • Release event: 9
  • Delete event: 5
  • Issue comment event: 6
  • Push event: 23
Last Year
  • Create event: 14
  • Issues event: 1
  • Release event: 9
  • Delete event: 5
  • Issue comment event: 6
  • Push event: 23

Dependencies

.github/workflows/build.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v4 composite
  • actions/upload-artifact v4 composite
poetry.lock pypi
  • altgraph 0.17.4
  • colorama 0.4.6
  • macholib 1.16.3
  • numpy 1.26.4
  • opencv-python 4.11.0.86
  • packaging 24.2
  • pefile 2024.8.26
  • pillow 11.1.0
  • pygments 2.19.1
  • pyinstaller 5.13.2
  • pyinstaller-hooks-contrib 2025.1
  • pywin32-ctypes 0.2.3
  • setuptools 75.8.2
  • tqdm 4.67.1
pyproject.toml pypi
  • numpy ^1.21.0
  • opencv-python ^4.5.3
  • pillow ^11.1.0
  • pygments ^2.9.0
  • pyinstaller ^5.5
  • python >=3.12,<3.13
  • tqdm ^4.61.2