Skip to content

About

A native desktop GUI that constructs FFmpeg commands and exports runnable `.bat` / `.sh` scripts.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

ffgui logo

ffgui

A native desktop GUI for building FFmpeg commands and exporting runnable scripts.

CI Python 3.12+ PySide6 Apache 2.0 license

Get started View source Report an issue

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.

What you can do


Basic
Add media, choose a container and codecs, trim clips, copy streams, and export a script.

Advanced
Set rate control, presets, filters, subtitles, chapters, and two-pass encoding options.

Expert
Work with the AVOptions exposed by the FFmpeg build detected on your machine.

Review before export
Inspect the generated command, choose one script per queue or one script for the full queue, and keep provenance in the exported file.

See the workflow

The workspace combines a presets sidebar, media queue, configuration tabs, command preview, and export controls in one window.

ffgui light theme with an empty media queue ffgui dark theme with an empty media queue
Light and dark themes

How it works

  1. Add files or folders to the media queue.
  2. Choose a workflow tier and set the options you need.
  3. Review the generated FFmpeg command.
  4. 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.

Get started

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 ffgui

On Windows, run.bat wraps the same command. On Linux and macOS, run.sh does the same.

Development

uv run pytest tests/ -q
uv run ruff check src tests
uv run python scripts/check_readme.py

The project uses the fftui core for the Job model, command builder, capability index, and option validator.

License

ffgui is available under the Apache License 2.0. See THIRD_PARTY.md for PySide6, Lucide, PyYAML, pytest, Ruff, and FFmpeg notices.

About

A native desktop GUI that constructs FFmpeg commands and exports runnable `.bat` / `.sh` scripts.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages