Muxite

Self-hosted · open source · mkv

Muxite

Edit the tracks inside your MKV files, from a browser, phone or tablet.

FreeMIT licenseFor Jellyfin and Plex libraries

The Muxite web app: a TV library, a season of episodes, and the tracks and chapters of one episode.

S02E04.mkv

Harbour Lights (2018)/Season 02 · matroska · 0:58:41 · 4.12 GB · 8 tracks

Tracks · 8

TypeCodecRes · ChLangTitleDefFrc
VIDhevc3840×2160undno titledefault
AUDtruehdATMOS7.1engEnglishdefault
AUDeac35.1 · 640kfreFrançais
AUDac32.0 · 224kengCommentary
SUBpgsengSignsforced
SUBsubripengEnglish
SUBsubripengEnglish SDH
SUBassjpnno title

Chapters · 6

  1. 0100:00:00.000Cold open
  2. 0400:27:48.105Chapter 03
  3. 0200:02:41.370Opening titles
  4. 0500:44:12.690Chapter 04
  5. 0300:03:12.512Chapter 02
  6. 0600:57:02.233End credits

Browser

The server serves the web app

Run Muxite next to your library and open its address. Nothing to install on the computer you edit from.

iPhone and iPad

Free on the App Store

The app is a client: type in your server’s address and sign in.

What it does

Everything inside the file, without re-encoding.

Tracks

See what is really in there.

Every video, audio and subtitle track, with codec, language, channels and default and forced flags.

Muxite reads the first audio frame, so it tells DTS from DTS-HD, E-AC-3 from E-AC-3 Atmos, and TrueHD from TrueHD Atmos.

  • InstantRename tracks, set languages and flags.
  • RemuxRemove tracks or attachments in the background.
Audio formatsread from the first frame
Codec IDbecomesMuxite shows
A_DTS→DTS-HD MA · 7.1
A_DTS→DTS · 5.1
A_EAC3→E-AC-3 Atmos · 5.1
A_TRUEHD→TrueHD Atmos · 7.1
A_TRUEHD→TrueHD · 5.1

Subtitles

Fix the timing. Fix the typo.

A visual editor for SRT, ASS/SSA and WebVTT: timestamps, text, and shifting everything at once. A raw text mode when you would rather type.

It works on subtitles inside the MKV and on .srt files next to it. Add new ones from a file, by drag and drop, or from an OpenSubtitles search.

English · subrip · track 6
Shift +0.250 s
  1. 41200:41:03,120 → 00:41:05,880The ferry doesn’t run after nine.
  2. 41300:41:06,040 → 00:41:07,300Then we walk.
  3. 41400:41:08,900 → 00:41:12,450It’s eleven miles, Ines. In the dark.
  4. 41500:41:12,700 → 00:41:15,010I know exactly how far it is.
SRT · ASS/SSA · WebVTT1,086 cues

Bitmap subtitles

Turn PGS and VobSub into text.

Blu-ray (PGS) and DVD (VobSub) subtitles are pictures. Muxite shows them one frame at a time next to a text box: type what you see, and save the result as a new SRT track.

Drafts are kept between sessions, so a feature-length film can take a few evenings.

Signs · pgs → srtdraft saved
Nobody leaves the island
until the fog lifts.
212 / 1,410 typed

Chapters and tags

Edited in place. No remux.

Chapters and Matroska tags are written without remuxing the file. Apply one chapter template to a whole season, fill the gaps, renumber.

Chapters · 6
  1. 0100:00:00.000Cold open
  2. 0200:02:41.370Opening titles
  3. 0300:03:12.512Chapter 02
  4. 0400:27:48.105Chapter 03
Template → Season 0210 files · no remux

Bulk scripts

One rule per line, across a whole folder.

Write what should change, preview it for free, then queue it. Each changed file gets its own background job; files no rule matches are left alone.

ScriptTV Shows/Harbour Lights (2018)
remove subtitle where lang not in (eng, jpn)
remove audio where lang == fre
unset title where type == video
set default = true where type == audio and lang == eng
remove tags
Preview36 files · 34 change
  • S02E01.mkv−1 audio · tags
  • S02E02.mkv−2 sub · −1 audio · tags
  • S02E03.mkv−1 audio · default
  • S02E04.mkv−1 audio · title · tags
  • S02E05.mkvno change

Jobs

Remuxes run in the background.

Every job shows live progress, and any job can be cancelled.

  • S02E05.mkv64%
    remux · −1 audio2.7 / 4.3 GB
  • S02E06.mkvqueued
  • S02E04.mkvdone · 0:41

Files

Housekeeping, too.

The chores around the library, from the same place.

  • Move, rename, delete

    Files and folders. Subtitles next to a video move with it.

  • Convert to MKV

    .mp4 and .avi in, .mkv out.

  • Verify

    Check a file’s integrity before you trust it.

Fast on big files

It reads what it needs. Not the whole file.

Muxite reads Matroska itself, without ffmpeg. To pull one subtitle track out of a 19 GB file, it reads about 500 KB.

Extract one subtitle track · 19 GB file

Muxite2s

reads ≈ 500 KB

Reading the whole file3min

reads 19 GB

Run the server

One Docker container.

Point it at your media, name your libraries, and give it a password.

01

Add it to your compose file

Mount the same media folder your Jellyfin or Plex server uses, and list your libraries in LIBRARIES.

services:
  muxite:
    image: git.buttilda.com/muxite/muxite:latest
    volumes:
      - /path/to/media:/media
      - ./auth.toml:/etc/muxite/auth.toml:ro
    environment:
      - LIBRARIES=Movies,TV Shows
      - AUTH_FILE=/etc/muxite/auth.toml
      - MUXITE_JWT_SECRET=change-me
    ports:
      - "3000:3000"

02

Make a password hash

The hash goes in auth.toml.

docker run --rm -it git.buttilda.com/muxite/muxite muxite hash-password

03

Open it

Go to the server in a browser, or type its address into the app.

http://your-server:3000