Skip to content

Latest commit

 

History

101 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

H.265 (HEVC) Batch Media Transcoder

Shrink a personal video library to H.265/HEVC without touching the originals — pick two folders and convert with a GUI wizard, or use the CLI overnight.

Tests License

Why try it

  • Never modifies source files — output goes only to a separate destination folder
  • Resume-safe — cancel anytime; already-converted HEVC outputs are skipped on the next run
  • Skips files already in HEVC — no wasted re-encodes
  • Estimate before you commit — size and time previews for Archive, Fast, and Quality profiles
  • Hardware when it helps — Archive auto-picks NVENC / VideoToolbox or software libx265 per file

GUI wizard — choose folders, pick a profile, convert

Download (recommended)

  1. Install FFmpeg 6.x–9.x once (not bundled):
# macOS
brew install ffmpeg

# Ubuntu/Debian
sudo apt install ffmpeg

# Fedora
sudo dnf install ffmpeg

# Windows
winget install ffmpeg
  1. Download the latest build from the Releases page, extract it, and run:
./transcode_gui/transcode_gui          # macOS / Linux
transcode_gui\transcode_gui.exe        # Windows

See INSTALL.txt in the zip for platform notes. On macOS unsigned builds: right-click → Open (Gatekeeper). If the app says FFmpeg is missing after install, open a new terminal and confirm ffmpeg -version — see the FAQ.

Common questions: Why is my output bigger? · FFmpeg installed but app says missing · Which FFmpeg versions?

Or use the CLI

git clone https://github.com/lucas-albers-lz4/transcode.git
cd transcode
uv venv && source .venv/bin/activate
uv pip install -r requirements.txt

./convert_to_h265.py /path/to/source /path/to/destination

Full options, profiles, and examples: user guide.

Requirements

  • FFmpeg 6.x–9.x on PATH (libx265; optional hevc_nvenc / hevc_videotoolbox)
  • For the GUI from source: Python 3.8+ and requirements-gui.txt
  • Enough free disk space for the destination copies

Documentation

Document Audience Contents
User guide End users Full CLI reference, GUI walkthrough, profiles, examples
FAQ All users Common questions and troubleshooting
Building Developers PyInstaller build, packaging, cross-platform notes
Contributing Contributors Architecture, dev setup, linting, testing
Development guide Developers Architecture deep-dive, design decisions, linting reference

License

MIT — see LICENSE.md.

About

Batch convert a media library to H.265/HEVC — never touches originals, resume-safe, GUI + CLI

Topics

Resources

Contributing

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages