Desktop utility for converting videos into game-ready formats, with a strong focus on OGV workflows for Godot and atlas generation for 2D pipelines.
This project is a Python rewrite of the original .NET tool.
- Convert videos to
ogv,mp4,webm, andgif - Switch between
GodotandLove2Dengine profiles for OGV-specific presets - Apply engine-oriented OGV presets for practical playback workflows
- Generate PNG sprite atlases from video clips
- Batch process multiple files from a simple GUI
- Analyze the selected video before converting
- Show a simple summary of what the video has and what to do next
The app is still centered on Godot, but it now includes a dedicated Love2D OGV profile and engine-specific guidance. Love2D has its own OGV preset family and playback recommendations, while the rest of the output formats remain shared between engine profiles.
Use this when you want a video file ready for in-engine playback.
ogvis the main target for Godot-oriented workflows- The engine profile changes only the
ogvpreset family;mp4,webm, andgifstay the same - The
Qualityselector changes the overall image/audio quality; the engine preset changes how the video behaves during playback - The app analyzes the selected video and shows two blocks: what the video has, and the recommended next step
- Those suggestions can change based on duration, resolution, FPS, audio, source codec, aspect ratio, selected engine, and selected output format
- Godot OGV modes:
Official Godot: recommended starting point for most Godot videosSeek Friendly: better if the video needs to start from different pointsIdeal Loop: better for videos that need to repeat smoothlyMobile Optimized: safer choice for weaker devicesHigh Compression: smaller file, but less agile when jumping through the video
- Love2D OGV modes:
Love2D Compatibility: safest starting point for Love2DSeek Friendly: better if the video needs to start from different pointsIdeal Loop: better for videos that need to repeat smoothlyLightweight: smaller file for simple or decorative playback
- You can also export to
mp4,webm, orgif - Resolution, FPS, and audio handling can be adjusted from the GUI
Use this when the video is really an animation source and you want frames packed into a texture.
- Export atlas as PNG
- Layout modes:
gridhorizontalvertical
- Resolution presets:
LowMediumHigh
- Backends:
ffmpegopencv
This workflow is especially useful for 2D engines, prototyping, UI animation sources, and effects pipelines.
FFmpeg already does the heavy lifting. This app is useful because it reduces repeated setup work:
- Presets instead of remembering long command lines
- Safer defaults for common Godot OGV cases
- Batch conversion from a GUI
- Video analysis before export
- Atlas generation in the same tool
- Lightweight recommendations for format and playback decisions
This project is licensed under the MIT License. See LICENSE.
- Python 3.11+
- FFmpeg and FFprobe
In this project, bin/ is mainly used for Windows builds.
- Install
ffmpegwith your distro package manager - Make sure
ffmpegandffprobeare available inPATH
Verify:
ffmpeg -version
ffprobe -versionUse one of these options:
bin/ffmpeg.exeandbin/ffprobe.exeGVC_FFMPEG_DIR=/path/to/binaries- FFmpeg binaries available in
PATH
Install dependencies for your distro:
# Arch / CachyOS
sudo pacman -S ffmpeg python
# Debian / Ubuntu
sudo apt update
sudo apt install ffmpeg python3 python3-venv python3-pip
# Fedora
sudo dnf install ffmpeg python3 python3-pip
# openSUSE
sudo zypper install ffmpeg python3 python3-pipThen install the project:
cd python_converter
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
pip install -e .gvc-gui- Install FFmpeg on the system.
- Verify
ffmpegandffprobeare available. - Run:
bash scripts/build_linux.shOutput is generated in dist/gvc/.
Linux distribution notes:
- Ship the full
dist/gvc/directory - End users still need
ffmpegandffprobeavailable inPATH
- Copy binaries to
bin/ffmpeg.exeandbin/ffprobe.exe - Run:
./scripts/build_windows.ps1Output is generated in dist/gvc/.
Windows distribution notes:
- Ship the full
dist/gvc/directory - FFmpeg binaries are bundled only if they were present in
bin/during the build
src/gvc/gui.py: PySide6 desktop interfacesrc/gvc/convert.py: conversion presets and FFmpeg argument buildingsrc/gvc/atlas.py: atlas generation with FFmpeg or OpenCVsrc/gvc/probe.py: metadata probing through FFprobesrc/gvc/recommendations.py: Godot-oriented playback recommendationssrc/gvc/ffmpeg_paths.py: FFmpeg and FFprobe path resolutionsrc/gvc/settings.py: persisted UI settingssrc/gvc/i18n.py: UI text and localization helpers