-
-
Notifications
You must be signed in to change notification settings - Fork 1
Installation
This page covers installation from a downloaded archive. To run a container instead, see Docker; the image already contains every external tool.
RemuxForge drives three external toolsets. It does not bundle them.
| Tool | Executables RemuxForge calls | Used for | Must be installed manually |
|---|---|---|---|
| MKVToolNix |
mkvmerge, mkvextract, mkvpropedit
|
all muxing, track extraction and in-place metadata edits | yes |
| ffmpeg |
ffmpeg, ffprobe
|
frame extraction for analysis, audio conversion, video re-encoding | only on macOS |
| MediaInfo CLI | mediainfo |
reading track properties and the metadata catalogue | yes |
FFmpeg 9 stable and ffprobe are downloaded automatically on Windows x64, Linux x64 and Linux ARM64 when they are not found. This happens in two ways:
- On demand, using the
[ Download ]button in Settings ▸ Tool paths. - Automatically during a job. Remux and Split both request ffmpeg with download permitted, so the first run fetches it if it is missing.
The build is stored inside the data directory and the resolved paths are saved to the configuration. If 24bit -> 16bit conversion is requested and the managed build lacks libsoxr, a build that supports it is fetched instead.
On macOS automatic download is disabled. Install the FFmpeg 9 full build manually (brew install ffmpeg-full) or set the path in Settings ▸ Tool paths. The Homebrew formula is keg-only, but RemuxForge detects its standard Intel and Apple Silicon paths.
MKVToolNix and MediaInfo are never downloaded and must always be installed manually. RemuxForge does detect them on PATH, derives mkvextract from the mkvmerge location, and saves what it finds.
Install the MediaInfo CLI package, not the GUI application. The GUI does not provide the
mediainfoexecutable, and Metadata mode cannot scan without it.
Visual analysis uses the CPU by default. Selecting Vulkan under Settings ▸ Advanced settings ▸ Analysis ▸ Vision backend moves the shared SIFT/RANSAC geometry bootstrap, Deep-analysis dHash computation and Speed-correction matching to the GPU. Frame-sync still performs its short temporal dHash scans on the CPU. Vulkan requires:
- a Vulkan 1.2 loader;
- a Vulkan compute device with timeline semaphore support;
- a working vendor driver or ICD.
The dialog probes the complete Vulkan pipeline when the backend is selected. If initialization fails, it reports the error and returns the setting to CPU; analysis never silently changes backend during a job.
On Windows, install a current GPU driver from NVIDIA, AMD or Intel. The driver package normally provides both the Vulkan runtime and its ICD.
On Linux, install the Vulkan loader and the driver for the GPU. For Debian or Ubuntu with Intel/AMD Mesa drivers:
sudo apt install libvulkan1 mesa-vulkan-driversNVIDIA systems use the Vulkan ICD supplied by the proprietary driver. A Vulkan SDK is not required to run RemuxForge.
macOS has no native Vulkan driver. Install the Vulkan SDK for macOS and its MoltenVK runtime, then make the loader and MoltenVK ICD available to the process as described by the SDK installer. CPU visual analysis remains available without MoltenVK.
The Docker image already contains the Vulkan loader and Mesa ICDs. GPU device and driver exposure is configured when the container starts; see Docker.
Installing everything up front is still the simplest route, and it is required on macOS:
# Debian / Ubuntu
sudo apt install mkvtoolnix ffmpeg mediainfo
# Fedora
sudo dnf install mkvtoolnix ffmpeg mediainfo
# Arch
sudo pacman -S mkvtoolnix-cli ffmpeg mediainfo
# macOS (Homebrew)
brew install mkvtoolnix ffmpeg-full media-info
# Windows (winget)
winget install MoritzBunkus.MKVToolNix
winget install Gyan.FFmpeg
winget install MediaArea.MediaInfo.CLIOn Linux the system locale must be UTF-8, otherwise filenames and track titles containing non-ASCII characters are mangled. Check with locale; if LANG is POSIX or C, set something like LANG=en_US.UTF-8.
| Platform | Architectures |
|---|---|
| Windows | x64 |
| Linux | x64, ARM64 |
| macOS | x64, ARM64 |
| Docker | x64 |
The releases page provides:
-
RemuxForge.Web: the browser interface, documented throughout this wiki. -
RemuxForge.Cli: the command-line binary, for scripting. See CLI Reference. -
RemuxForge Desktop: an MSI installer on Windows and a
.dmgcontainingRemuxForge.appon macOS.
They use the same processing engine and the same Blazor interface. Web and CLI installations beside one another share their configuration directory. Desktop deliberately keeps its settings and runtime data in the operating system's application-data directory, outside the installed application bundle. Uninstalling the desktop package removes the application but preserves this per-user data directory; remove it manually only when you also want to discard settings, presets and diagnostics.
- Windows: run the MSI installer, then start RemuxForge from the Start menu.
- macOS: open the DMG, copy RemuxForge to Applications, then open it from Finder.
The desktop shell starts a self-contained local WebUI on a random loopback port. It never opens an external browser and does not listen on the LAN. Closing the window requests a cooperative stop of active work before the local server is terminated. Only one desktop instance can run at a time.
Windows
RemuxForge.Web.exeLinux / macOS
chmod +x RemuxForge.Web
./RemuxForge.WebThen open http://localhost:5000.
The server binds 0.0.0.0, so a machine on your LAN can reach it at http://<host>:5000. There is no authentication. Do not expose the port to the internet. Put it behind a reverse proxy with access control if you need remote access.
On macOS, a downloaded binary is quarantined by Gatekeeper and will refuse to start. Clear the attribute once:
xattr -d com.apple.quarantine RemuxForge.WebEither an environment variable:
REMUXFORGE_PORT=5050 ./RemuxForge.Webor an argument, which takes precedence:
./RemuxForge.Web --port 5050A missing external tool is the most common cause of an operation producing no result. Open Settings ▸ Tool paths.
Each entry shows a status next to it:
| Status | Meaning |
|---|---|
[OK] |
found and executable |
[NOT FOUND] |
not on PATH and no valid explicit path set |
[CLI NOT FOUND] |
shown for MediaInfo when the GUI package is installed instead of the CLI package |
[ERROR] |
the path exists but the tool failed to run |
The dialog covers mkvmerge, mkvextract, mkvpropedit, ffmpeg, ffprobe, mediainfo and the temp folder used for intermediate files. Paths are auto-detected from PATH at first launch; you only need to fill one in if detection failed or you want to pin a specific build.
ffmpeg has a [ Download ] button, which fetches a build into the data directory and sets both paths. It is disabled on macOS. There is no equivalent for MKVToolNix or MediaInfo; those must be installed manually.
Complete this check before any other configuration. A [NOT FOUND] on mediainfo prevents Metadata mode from scanning. A [NOT FOUND] on ffmpeg is less critical on Windows and Linux, where the first job that needs it downloads it, but on macOS it must be resolved manually.
Language offers English and Italian. Theme exposes all ten free Radzen themes: Default, Dark, Humanistic, Humanistic Dark, Material, Material Dark, Software, Software Dark, Standard and Standard Dark. Both are saved and restored on the next launch. See WebUI Basics.
RemuxForge keeps everything persistent in a folder named .remux-forge. For WebUI and CLI archives it is created next to the executable by default; in the Docker examples its parent is /data.
Desktop uses the native per-user application-data location:
- Windows:
%LOCALAPPDATA%\RemuxForge\.remux-forge - macOS:
~/Library/Application Support/RemuxForge/.remux-forge
Override the parent location with:
REMUXFORGE_DATA_DIR=/path/to/data ./RemuxForge.WebLayout:
<data dir>/.remux-forge/
├── appsettings.json all settings: tool paths, audio defaults,
│ encoding profiles, UI state, advanced tuning
├── presets/
│ └── metadata/ metadata presets (*.json) created in the WebUI
├── temp/ intermediate files (overridable in Tool paths)
├── deepanalysis-runs/ per-run configuration, log and result
├── deepanalysis-diagnostics/ JSON dumps, only when diagnostics are enabled
└── framesync-diagnostics/ JSON dumps, only when diagnostics are enabled
Two consequences:
- Metadata presets are not free-floating files. The preset dropdown lists the contents of
presets/metadata/, and the preset editor writes there. There is no preset path picker in the WebUI. The CLI does take an explicit--presetpath. -
.remux-forgecontains all persistent state: settings, presets and profiles. Copy that folder to move or back up an installation.
See Settings Reference for the annotated appsettings.json.
| Variable | Description | Default |
|---|---|---|
REMUXFORGE_PORT |
WebUI HTTP port | 5000 |
REMUXFORGE_DATA_DIR |
Parent directory for .remux-forge
|
executable directory |
REMUXFORGE_LOG_FILE |
Write a log file to this path | disabled |
Enable REMUXFORGE_LOG_FILE when more detail than the in-app log panel is required, for example when reporting a bug.
Download the new archive, stop the old process, replace the binaries, restart. Do not delete .remux-forge. It holds your settings and presets, and new versions read the existing file, filling in defaults for anything new.
Delete the extracted folder. Delete .remux-forge as well if you do not want to keep your settings and presets. Nothing is written to the registry or to system directories.
- WebUI Basics: the interface, menus and keyboard shortcuts
- Troubleshooting: if a tool will not detect or the WebUI will not open