A native desktop GUI for building FFmpeg commands and exporting runnable scripts.
ffgui is a PySide6 desktop application that builds FFmpeg commands from a media queue and exports runnable .bat and .sh scripts. It does not run FFmpeg during normal editing. The optional Run in terminal action launches an exported script in a detached terminal.
Bring your own FFmpeg. ffgui discovers the FFmpeg build you provide or lets you locate it. FFmpeg is never bundled with this project.
The workspace combines a presets sidebar, media queue, configuration tabs, command preview, and export controls in one window.
![]() |
![]() |
| Light and dark themes | |
- Add files or folders to the media queue.
- Choose a workflow tier and set the options you need.
- Review the generated FFmpeg command.
- Export a Windows batch script or a POSIX shell script.
The export layer quotes arguments for each shell, embeds sidecar files when needed, and records the generator, FFmpeg version hash, UTC date, and job summary in the script header.
Install Python 3.12 or newer, uv, and an FFmpeg build. Make FFmpeg available to ffgui through your system path or the application's file picker.
uv sync
uv run ffguiOn Windows, run.bat wraps the same command. On Linux and macOS, run.sh does the same.
uv run pytest tests/ -q
uv run ruff check src tests
uv run python scripts/check_readme.pyThe project uses the fftui core for the Job model, command builder, capability index, and option validator.
ffgui is available under the Apache License 2.0. See THIRD_PARTY.md for PySide6, Lucide, PyYAML, pytest, Ruff, and FFmpeg notices.

