Overlay MSP-OSD data onto FPV DVR video footage. Supports Betaflight, INAV, ArduPilot, and BetaFPV P1. Compatible with Ruby FPV and Onyx FPV via standard MSP-OSD format.
Reads .osd and .srt files recorded alongside your DVR video and renders the
HUD elements directly onto the footage — frame-accurate, GPU-accelerated.

- Frame-accurate OSD overlay
- Betaflight, INAV & ArduPilot font support (SneakyFPV HD fonts included)
- Firmware auto-detected from OSD file header
- WTFOS / DJI O3 support (auto-detected 60×22 grid)
- BetaFPV P1 embedded OSD support
- Compatible with Ruby FPV and Onyx FPV (standard MSP-OSD format)
- SRT telemetry bar (speed, altitude, satellites, signal)
- GPU-accelerated encoding (NVIDIA NVENC, AMD AMF, Intel QSV, VAAPI, VideoToolbox) with automatic CPU fallback
- ColorTrans color correction with LUT preview
- Transparent overlay export (VP9 alpha)
- Trim, scale, offset, opacity controls
- Built-in video player with scrubbing, frame stepping and shuttle playback
- Two-layer preview compositing (instant OSD/SRT slider response)
- Keyboard shortcuts (play, scrub, trim, shuttle, step)
- Custom font import (add your own OSD fonts)
- Upscale to 1440p, 2.7K or 4K
- Target bitrate encoding (auto-matched to source, 1–100 Mbit/s)
- Light and dark theme with custom colour editor
- UI scaling (100% – 175%)
Double-click VueOSD.bat
On first run it will:
- Install Python dependencies automatically
- Install FFmpeg automatically (via winget)
- Launch the app
No manual setup required.
chmod +x run.sh
./run.shInstall FFmpeg separately:
sudo apt install ffmpeg # Ubuntu/Debian
sudo dnf install ffmpeg # Fedora
sudo pacman -S ffmpeg # Arch
brew install ffmpeg # macOS| Key | Action |
|---|---|
| Space | Play / Pause |
| Left / Right | Step back / forward one frame |
| Shift + Left / Right | Step back / forward 10 frames |
| J | Step backward one frame |
| K | Pause |
| L | Play forward / increase speed |
| I / O | Set trim in / out at current position |
| Home / End | Jump to start / end |
Windows — run build.bat after first launch (produces dist\VueOSD.exe)
Linux/macOS — run ./build.sh (produces dist/VueOSD)
The resulting binary needs no Python installation on the target machine.
Bundle it with ffmpeg.exe (Windows) or ensure ffmpeg is on PATH.
python3 -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txt
python main.pymain.py Main application (PyQt6 GUI)
player.py Video player widgets (canvas, timeline, transport)
video_processor.py FFmpeg pipeline, GPU detection, encoding
osd_renderer.py Numpy-based OSD compositor (~1 ms/frame)
osd_parser.py .osd binary format parser
p1_osd_parser.py BetaFPV P1 embedded OSD extractor
srt_parser.py .srt telemetry parser
font_loader.py OSD font loader (multi-column HD fonts)
fonts/ OSD font packs (Betaflight, INAV, ArduPilot)
See CREDITS.md for full attribution — including SneakyFPV (fonts) and Walksnal (original OSD tool concept).
MIT — see docs/LICENSE.md