Guide

EncodeForge is a desktop app for FFmpeg encoding, subtitle workflows, and library-friendly renaming. This page is a concise map of how each part fits together.

Overview

The main window uses tabs: Encoder, Subtitles, Renamer, plus logs and settings. All tabs share the same file-handling patterns (drag-and-drop and file picker).

0.5.0 Alpha 2 is the latest release line. Local AI subtitles use faster-whisper (CTranslate2). Older 0.4.x builds are still on the Download page if you need them; new installs should use the latest 0.5 line.

Desktop FFmpeg Nuitka builds

Install

Pre-built binaries are listed on the Download page (pick your version — latest is first). 0.5.0 Alpha 2 includes Windows, macOS Apple Silicon, and Linux packages when published on GitHub.

From source (Python 3.10+):

git clone https://github.com/SirStig/EncodeForge.git
cd EncodeForge
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python main.py

Standalone executables are produced with Nuitka; see the repo README for build commands.

First launch

  1. Open the app; if FFmpeg is missing, the setup dialog helps you locate a binary or download one.
  2. Choose a tab and add files (drag in or use the file browser).
  3. Adjust settings, then start the job; watch per-file and overall progress in the UI.

FFmpeg

FFmpeg is required at runtime and is not bundled. EncodeForge routes all ffmpeg/ffprobe calls through a single path resolver so a custom install location still works once configured.

Hardware encoders (NVENC, AMF, Quick Sync, VideoToolbox) are detected when possible; you can adjust behavior in settings.

Encoder tab

Use the Encoder tab to queue transcoding jobs: pick codec and quality, optional audio normalization, and whether to copy streams when appropriate. Batch mode is meant for overnight runs across a folder or list.

GPU acceleration

Supported hardware paths include NVIDIA NVENC, AMD AMF, Intel Quick Sync, and Apple VideoToolbox. The app prefers hardware when it matches your source/target choices and falls back to CPU when needed.

Batch queue

Add multiple files, reorder or remove entries, and start once. Progress is tracked per file and for the whole queue. Logs can be exported if something fails mid-batch.

Codecs & audio

Choose video and audio codecs per job. If you enable loudness normalization while audio is set to stream copy, EncodeForge switches to a compatible audio encoder because filters cannot run on a copied stream.

AI subtitle generation

Local transcription uses faster-whisper with optional GPU acceleration (CUDA, ROCm, Apple MPS, or CPU). Models download inside the app. This path is faster and lighter than the older Whisper setup in early EncodeForge releases.

Outputs include common text subtitle formats (e.g. SRT, ASS, VTT) and multi-track layouts when configured.

Subtitle downloads

Besides AI, EncodeForge can search multiple providers (OpenSubtitles.com, Addic7ed, SubDL, Jimaku for anime, and others). Optional API keys in settings unlock higher rate limits where providers require them.

Renamer tab

Identify movies, TV episodes, and anime via metadata providers, then preview renames before applying. Patterns can follow Plex- or Jellyfin-friendly conventions.

Providers & APIs

Metadata: TMDB, TVDB, OMDB, Trakt, Fanart.tv, AniDB, Kitsu, Jikan/MAL, TVmaze, and more.

Subtitles: eight integrated providers; configure order and keys in Settings.

See the README for links to obtain free API keys where applicable.

CLI

The core library is shared with a Click-based CLI. In 0.5.0 Alpha 2, use python cli.py gui or python main.py for the desktop experience. Encode / subtitle / rename subcommands are planned for a future release.

License & privacy

EncodeForge is MIT licensed. There is no telemetry in the app; optional update checks only compare version numbers if you enable them.