Skip to content

A simple Python GUI for AB-AV1 conversion of video files to AV1, minimizing file size while maintaining quality. Includes stats, saved config, and more.

License

Notifications You must be signed in to change notification settings

Loufe/AB-AV1-GUI

Repository files navigation

A Python AB-AV1 GUI

A lean, cross-platform Tkinter-based GUI for intelligently reducing the footprint of your video library by converting to AV1, with some bells & whistles.

Note

v2 Breaking Changes: The config and history file formats have changed. Existing av1_converter_config.json and conversion_history.json files will be reset on first launch.

Premise

The AV1 video codec offers incredible gains for most video types vs standard x264 and x265 encoded files. However, letting FFmpeg rip through a project without tweaking parameters on a per-video basis produces terrible results.

This tool mainly acts as a wrapper for the incredible cli tool ab-av1, which randomly samples each video with varying parameters, efficiently discovering the right parameters to achieve maximum filesize reduction for your configured visual fidelity score (defaults to 95%). Ab-av1's magic is using the VMAF algorithm from Netflix for analyzing visual fidelity based on metrics which mirror human perception rather than statistical similarity. The tool then runs the conversion for the set parameters with FFmpeg.

Features

  • VMAF-based quality targeting: targets visual quality (default: 95) instead of guessing bitrates
  • Queue-based workflow: add files or folders, preview estimates, process sequentially
  • Private, secure, safe: no pip packages, no telemetry, optional anonymization of history/logs
  • Estimate tuning: continually improves estimates using your own conversion history (based on resolution, duration, and codec)

Analysis Tab


Queue Tab


Statistics Tab

Usage

On Windows, double-click convert.bat. On Linux/macOS, run ./convert.sh.

If FFmpeg or ab-av1 are missing, download them from the Settings tab.

Notes

  • Output is always MKV container (best AV1 compatibility).
  • Tested on Windows. Designed for cross-platform but Linux/macOS are untested. Known limitation: sleep prevention during conversion is Windows-only.
  • Media servers: Be thoughtful about support for AV1 decoding in devices you want to watch video on. Old phones, PCs, streamers, and smart TVs may not support it, adding a high computational burden for transcoding on the server.

Third-Party Software

  • FFmpeg (LGPL 2.1+) — video encoding
  • ab-av1 (MIT) — VMAF optimization

License

GPL-3.0 — see LICENSE

Contributing & AI Disclosure

This tool has been developed with AI assistance under human guidance and code review.

Any contributions are welcome, but please note adding new dependencies is discouraged, and PRs should have already passed linting (ruff) and type checking (ty) without hacky exceptions.

About

A simple Python GUI for AB-AV1 conversion of video files to AV1, minimizing file size while maintaining quality. Includes stats, saved config, and more.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages