RemuxForge Discord
MKV · Remux · Split · Metadata

Forge one MKV out of two releases.

RemuxForge takes the audio and subtitles from one release and puts them, in sync, into the one you keep. Even when the two edits don't match.

RemuxForge EditMap editor listing seven operations
EditMap · 7 operations
Remux mode

Same episode, two edits. One audio track that fits.

The Italian release of this episode has a little extra footage at six points, and is missing half a second at the end. Merged as-is, its audio slips further out of sync at every one of them. Deep Analysis finds them, and RemuxForge rebuilds the audio around them.

Episode 1 · 00:43:07
Source audio Italian audio Extra footage, cut Missing, filled from Source
#TypeSourceLanguageDuration
1Cut00:00:00.00000:00:00.00042 ms
2Cut00:07:04.34100:07:04.3831168 ms
3Cut00:13:21.75900:13:22.9691210 ms
4Cut00:21:22.44700:21:24.8671084 ms
5Cut00:28:23.36700:28:26.871876 ms
6Cut00:38:54.62300:38:59.003626 ms
7Insert00:43:07.00100:43:12.007542 ms

The real EditMap of this episode, found in 2 min 8 s. Positions are to scale; the width of each operation is enlarged so you can see it.

  • EditMap editor with synced frame previews, waveforms and spectrograms, to check or fix any operation by hand.
  • Inserts can be filled from the Source audio instead of silence, so a gap doesn't sound like a hole.
  • Audio conversion, 24→16 bit and peak normalization when tracks have to be re-encoded.
  • Whole seasons at once: episodes are matched by name, analysed in parallel, merged with MKVToolNix.
How synchronization works
Remux workspace with matched episodes and tracks to import
Remux workspace

Direct merge

The audio already lines up.

instant

Frame-sync

Off by the same amount for the whole episode.

one analysis pass

Speed correction

Drifts steadily: right at the start, seconds off at the end. PAL/NTSC.

re-encodes the audio

Deep Analysis

Right in some places, wrong in others. Different edits.

slowest

Manual delay

You already know the exact offset.

free
Split mode

Cut on the frame you want, not the keyframe you get.

A segment that starts mid-GOP can't just be copied: its first frames are predicted from outside the segment. RemuxForge re-encodes only those, puts the original parameter sets back, and copies the rest byte for byte. The frame count is checked twice.

  • Split by chapters per episode, an explicit chapter pattern, split points, ranges, trims or manual segments.
  • Snap to the nearest keyframe for a pure stream copy, or cut exactly where you ask.
  • VFR timing, chapters, audio and subtitles carried into every segment. HEVC and AVC.
Split mode
Split segment editor with chapters, waveform, keyframes and two segments
Segment editor
Metadata mode

A whole library, one set of rules.

Write a preset once: an ordered pipeline of IF/THEN rules over container, video, audio and subtitle tracks. Run it on a folder and read the simulated result before a single byte changes.

SET container_title = {[file_stem]:NormalizeSpaces()}
SET audio_title = {[audio_language]:ToUpper()} [audio_format] [audio_channels_label]
IF audio_language = ita THEN audio_default exclusive
  • Field conditions, cross-track comparisons, track counts and OR groups.
  • Templated values, exclusive default flags, track removal, Matroska tags.
  • Bulk rename with stacked methods and a preview of every new name.
Writing presets
Metadata preset editor with rule list, condition, operation and change preview
Preset editor
Screenshots

The rest of the interface.

Same UI in the desktop app and in the browser. Scroll sideways, click to enlarge.

Split workspace
Split · plan, coverage and segment map
Metadata workspace
Metadata · current data and simulated result
Advanced rename dialog
Bulk rename · preview before applying
Download

Get it. It's free.

Desktop app for Windows and macOS, WebUI for any machine or headless server, Docker image, and a CLI for scripts. Same engine in all of them.

  • Windows x64
  • macOS x64 · ARM64
  • Linux x64 · ARM64
  • Docker x64
Latest release

Needs MKVToolNix, ffmpeg (downloaded automatically on Windows and Linux; brew install ffmpeg-full on macOS) and MediaInfo CLI.

docker run -d \
  --name remuxforge \
  -p 5000:5000 \
  -e REMUXFORGE_DATA_DIR=/data \
  -v /path/to/config:/data:rw \
  -v /path/to/media:/media:rw \
  draknodd/remuxforge:latest

Paths typed in the WebUI are resolved inside the container.

Support

Free, and staying that way.

RemuxForge is open source under GPLv3. If it saves you an evening of nudging delays by hand, a coffee helps keep it going. Found a bug? Open an issue with the command line, tool versions and the relevant MediaInfo or ffmpeg output.