Skip to content

wkumik/Digital-FPV-OSD-Tool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VueOSD — Digital FPV OSD Tool

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. VueOSD


Features

  • 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%)

Quick Start — Windows

Double-click VueOSD.bat

On first run it will:

  1. Install Python dependencies automatically
  2. Install FFmpeg automatically (via winget)
  3. Launch the app

No manual setup required.


Quick Start — Linux / macOS

chmod +x run.sh
./run.sh

Install FFmpeg separately:

sudo apt install ffmpeg        # Ubuntu/Debian
sudo dnf install ffmpeg        # Fedora
sudo pacman -S ffmpeg          # Arch
brew install ffmpeg            # macOS

Keyboard Shortcuts

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

Build Standalone Executable

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.


Manual Setup

python3 -m venv .venv
source .venv/bin/activate      # Windows: .venv\Scripts\activate
pip install -r requirements.txt
python main.py

File Structure

main.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)

Credits

See CREDITS.md for full attribution — including SneakyFPV (fonts) and Walksnal (original OSD tool concept).

Licence

MIT — see docs/LICENSE.md

About

MSP-OSD overlay tool for FPV DVR video — Betaflight / INAV / Ardupilot

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages