A free, open-source desktop app built with Python & PySide6
Features • Installation • Quick Start • Configuration • Contributing
EncodeForge is a free, open-source FFmpeg GUI that brings professional video encoding, AI subtitle generation, and smart media file renaming together in a single, clean desktop application — no command-line experience required.
It's built on PySide6 with a modern Fluent Design interface, GPU-accelerated encoding via NVENC/AMF/Quick Sync/VideoToolbox, and local AI subtitles powered by faster-whisper — fast transcription in 90+ languages that runs entirely on your machine.
- Batch Processing — Convert entire video libraries while you sleep
- Hardware Accelerated — Leverage your GPU for fast encoding via NVENC, AMF, Quick Sync, or VideoToolbox
- AI Subtitles — Local transcription via faster-whisper with GPU acceleration; no cloud required
- Smart Renaming — Pull metadata from 10+ sources and rename your library in seconds
- Modern UI — Clean Fluent Design interface with dark & light theme support
- Cross-Platform — Windows, macOS, and Linux
- PySide6 — Qt 6 for Python
- PyQt-Fluent-Widgets — Fluent Design UI components
- FFmpeg — Industry-standard multimedia processing
- faster-whisper — Fast local AI subtitle generation
- Nuitka — Python compiler for standalone distribution
- Hardware Acceleration — NVIDIA NVENC, AMD AMF, Intel Quick Sync, Apple VideoToolbox
- Smart Codec Detection — Automatically picks the best encoder available on your system
- Batch Processing — Queue multiple files with real-time progress tracking
- Stream Preservation — Copy streams without re-encoding when possible
- Audio Normalization — Consistent volume levels across all output files
- Local AI Transcription — faster-whisper with GPU acceleration; runs completely offline
- 90+ Languages — Full multilingual transcription support
- 8 Download Providers — OpenSubtitles, Addic7ed, SubDL, Subf2m, YIFY, Podnapisi, SubDivX, Jimaku
- Anime Support — Jimaku provider for English/Japanese anime subtitles
- Format Support — SRT, ASS, SSA, VTT, and more
- 10+ Metadata Providers — TMDB, TVDB, OMDB, Trakt, Fanart.tv, AniDB, Kitsu, Jikan/MAL, TVmaze
- Auto-Detection — Recognizes movies, TV shows, and anime automatically
- Custom Patterns — Define your own naming conventions with template variables
- Preview Mode — Review all changes before applying them
- Bulk Operations — Rename entire libraries in seconds
- Fluent Design — Clean, modern tabbed layout
- Dark & Light Themes — Easy on the eyes during long sessions
- Real-Time Progress — Detailed per-file and overall progress tracking
- Queue Management — Add, reorder, and remove jobs at any time
- Comprehensive Logging — Exportable logs for troubleshooting
Download the latest release: v0.5.0-alpha-1
| Platform | Format | Download |
|---|---|---|
| Windows | .exe |
EncodeForge.exe |
| macOS (Apple Silicon) | .zip |
encodeforge-macos-arm.zip |
| macOS (Intel) | — | Use from source for now |
| Linux | .deb / .rpm / AppImage |
Coming soon — use from source |
FFmpeg is required but not bundled. EncodeForge will prompt you to set it up on first launch.
Requirements: Python 3.10+, pip, Git
git clone https://github.com/SirStig/EncodeForge.git
cd EncodeForge
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
python main.pypip install -r requirements.txt
python build_nuitka.py- Launch EncodeForge (
python main.pyor run the downloaded binary) - On first launch, the app will help you locate or download FFmpeg
- Pick a tab — Encoder, Subtitles, or Renamer
- Add files via drag-and-drop or the file browser
- Configure your settings and click Start
That's it. Most options have sensible defaults, so you can dive straight in.
EncodeForge works out of the box without any API keys. Adding them just unlocks a few extra metadata providers:
| Service | Purpose | Free Tier |
|---|---|---|
| TMDB | Movies & TV metadata | Yes |
| TVDB | TV show metadata | Yes |
| OMDB | Alternative movie data | Yes (1,000/day) |
| Trakt | Tracking & metadata | Yes |
| OpenSubtitles | Subtitle downloads | Yes (5/day) |
Always free, no key needed: AniDB, Kitsu, Jikan/MAL, TVmaze
EncodeForge auto-detects available GPU encoders on startup:
| GPU | Encoder | Minimum |
|---|---|---|
| NVIDIA | NVENC | GTX 600 series+ |
| AMD | AMF | Recent Radeon (Windows) |
| Intel | Quick Sync | 6th gen Core+ |
| Apple | VideoToolbox | All modern Macs |
| Minimum | Recommended | |
|---|---|---|
| Windows | Windows 10 | Windows 11 |
| macOS | macOS 11.0 | macOS 13.0+ |
| Linux | Ubuntu 20.04 | Ubuntu 22.04+ |
| RAM | 4 GB | 8 GB (16 GB for AI subtitles) |
| Storage | 500 MB | 2 GB |
| Python | 3.10+ | 3.11+ |
- ✅ Modern PySide6 + Fluent Design UI
- ✅ GPU-accelerated faster-whisper for local AI subtitles
- ✅ Shared core backend (GUI & CLI)
- ✅ Nuitka compilation for all platforms
- ⏳ Full CLI support (
encode,subtitle,renamecommands) - ⏳ Enhanced concurrent task processing
- ⏳ Plugin system architecture
- ⏳ Jellyfin & Plex direct integration
- ⏳ Advanced subtitle synchronization
- ⏳ Metadata artwork grabber
- ⏳ Subtitle preview window
Contributions are welcome! Whether it's a bug fix, a new feature, or improved docs — all help is appreciated.
- Fork the repository
- Create a feature branch:
git checkout -b feature/my-feature - Commit your changes:
git commit -m 'Add my feature' - Push:
git push origin feature/my-feature - Open a Pull Request
pip install -r requirements-dev.txt
pytest # Run tests
black . # Format code
flake8 . # Lint
mypy . # Type check
isort . # Sort importsDistributed under the MIT License. See LICENSE for details.
- PyQt-Fluent-Widgets — Fluent Design widget library
- FFmpeg — Multimedia processing framework
- faster-whisper — Fast local Whisper inference
- OpenAI Whisper — Model architecture and weights
- Nuitka — Python compiler
- curl-cffi — HTTP client with browser fingerprinting
- desktop-notifier — Cross-platform desktop notifications
| Channel | Link |
|---|---|
| Bug Reports | GitHub Issues |
| Feature Requests | GitHub Issues |
| Discussions | GitHub Discussions |
Built by Joshua Kac
If EncodeForge saves you time, consider giving it a ⭐ on GitHub — it really helps.