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
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
Metadata Files
readme.md
Video Stabilizer for stationary Drone Videos
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.
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.
- Download the latest version for your operating system.
- On macOS, unzip the
.app.zipfile before running. - 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.
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
- Website: https://www.mds-lab.de
- Repositories: 1
- Profile: https://github.com/marine-data-science
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
- actions/checkout v4 composite
- actions/setup-python v4 composite
- actions/upload-artifact v4 composite
- 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
- 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