Skip to content

SirStig/EncodeForge

Repository files navigation

EncodeForge

EncodeForge Logo

Video Encoding, AI Subtitles & Smart Media Renaming — all in one place

A free, open-source desktop app built with Python & PySide6

License: MIT Platform GitHub release Python

FeaturesInstallationQuick StartConfigurationContributing


About

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.

Why EncodeForge?

  • 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

Built With


Features

Video Encoding

  • 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

Subtitle Generation

  • 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

Smart File Renaming

  • 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

Modern Interface

  • 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

Installation

Pre-Built Binaries (Recommended)

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.

From Source

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.py

Build a Standalone Executable

pip install -r requirements.txt
python build_nuitka.py

Quick Start

  1. Launch EncodeForge (python main.py or run the downloaded binary)
  2. On first launch, the app will help you locate or download FFmpeg
  3. Pick a tab — Encoder, Subtitles, or Renamer
  4. Add files via drag-and-drop or the file browser
  5. Configure your settings and click Start

That's it. Most options have sensible defaults, so you can dive straight in.


Configuration

API Keys (Optional)

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

Hardware Acceleration

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

System Requirements

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+

Roadmap

  • ✅ 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, rename commands)
  • ⏳ Enhanced concurrent task processing
  • ⏳ Plugin system architecture
  • ⏳ Jellyfin & Plex direct integration
  • ⏳ Advanced subtitle synchronization
  • ⏳ Metadata artwork grabber
  • ⏳ Subtitle preview window

Contributing

Contributions are welcome! Whether it's a bug fix, a new feature, or improved docs — all help is appreciated.

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/my-feature
  3. Commit your changes: git commit -m 'Add my feature'
  4. Push: git push origin feature/my-feature
  5. Open a Pull Request

Dev Setup

pip install -r requirements-dev.txt

pytest          # Run tests
black .         # Format code
flake8 .        # Lint
mypy .          # Type check
isort .         # Sort imports

License

Distributed under the MIT License. See LICENSE for details.


Acknowledgments


Support

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.