VGSync is a Python-based desktop application designed to synchronize GPX data with video footage. Its a Videoa and GPX synchronising tool. It uses "mpv" for high-precision video playback and "ffmpeg" for media processing.
- Version: see Releases
- Platforms: Windows 64-bit (official support), Linux (tested on Kubuntu 24.04.2)
- License: GNU General Public License v3.0 or later (GPL-3.0-or-later)
- VGSync helps action cam users and outdoor enthusiasts to synchronize their recorded videos with GPS data for perfect route visualization and editing.
- Python 3.10.9 (64-bit) or Python 3.12.0 (64-bit)
- mpv binary (must be placed in "mpv/" folder)
- ffmpeg binary (must be placed in "ffmpeg/" folder)
Note: Binaries are NOT included in the Git repository due to size limitations. You must manually download and extract them from the GitHub Releases page.
Install the required system packages (one-time setup):
sudo apt update
sudo apt install ffmpeg libmpv-dev python3-venvYou can either:
- Download the latest ZIP from GitHub Releases and extract it
or - Clone the repository:
git clone https://github.com/ridewithoutstomach/VGSync.gitcd VGSync
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python VGSync.pyOpen Command Prompt, then:
cd VGSync
python -m venv venv
venv\Scripts\activate
pip install -r requirements.txt
python VGSync.py- Always create and activate the virtual environment inside the
VGSyncfolder. - Do not run
python VGSync.pyoutside the project folder. - On Linux, make sure required packages like
ffmpegandlibmpv-devare installed.
Download the following ZIP files from the latest VGSync Release:
- ffmpeg.zip → extract into "ffmpeg/" folder
- mpv.zip → extract into "mpv/" folder
The "ffmpeg/" and "mpv/" folders include guidance files ("VGSync_ffmpeg.txt" and "VGSync_mpv.txt") describing the expected contents.
To start VGSync:
python VGSync.py
Important for Linux users: After launching the application, please enable "Use Software OpenGL" in the Config menu to ensure proper video playback.
If you prefer not to install Python or manage dependencies manually, you can use the pre-built Windows binary:
- Download the ZIP file (e.g., "VGSync_3.27_Win_x64.zip") from the GitHub Releases page.
- Extract the ZIP file into any folder.
- Double-click "VGSync.exe" to run the application.
To create your own Windows executable:
python build_with_pyinstaller.py
The resulting executable will be located at:
dist/VGSync_3.27/VGSync.exe
This project includes and relies on the following third-party components:
FFmpeg
- Version: 7.1-full_build
- License: GPLv3
- Website: https://ffmpeg.org
- Binaries provided in: "ffmpeg/"
- Original source code included in: "third-party-src/FFmpeg-7.1-source.zip"
- Release notes included in the source archive
mpv
- Version: 0.40.0
- License: LGPLv2.1+
- Website: https://mpv.io
- Binaries provided in: "mpv/"
- Original source code included in: "third-party-src/mpv-0.40.0-source.zip"
- Release notes included in the source archive
All third-party components are redistributed in accordance with their respective licenses. The complete and unmodified source code is included in the "third-party-src/" directory and will be retained and made available for at least three (3) years in accordance with GPL and LGPL requirements.
This project is licensed under the GNU General Public License v3.0 or later.
You are free to:
- Use, copy, and distribute this software
- Study and modify the source code
- Redistribute modified versions under the same license
The full text of the license is included in the "LICENSE" file.
For questions, suggestions, or contributions, please open an issue or pull request on GitHub.
