Skip to content

Repository files navigation

Contributors Forks Stargazers Issues

multimux: Master Audio Mixdown Suite

A lightweight, cross-platform desktop app (Electron, SolidJS, TypeScript) to visually mix multiple discrete audio tracks from a recording into one master track while preserving video bit-for-bit (-c:v copy).

Report Bug · Request Feature

multimux Logo
Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Explanation
  5. Changelog
  6. Contributing
  7. Contact

About The Project

Screen-recording apps often capture mic, game, and chat on separate tracks. Players usually only hear track 1. multimux mixes selected tracks with FFmpeg amix while copying the video stream losslessly.

(back to top)

Built With

  • Desktop — Electron
    • SolidJS
    • TypeScript
  • Media — FFmpeg / FFprobe

(back to top)

Getting Started

Prerequisites

  • Windows 10/11, macOS, or Linux
  • ffmpeg and ffprobe on PATH
  • Node.js + pnpm

Installation

pnpm install
pnpm run dev

Use F12 for the developer console if needed.

(back to top)

Usage

First mixdown

  1. Launch multimux.
  2. Drag a recording onto the Inlet Port.
  3. Toggle channels and adjust faders.
  4. Click Mix & Mux Master.
  5. Open the output from the completion overlay.

Volume (dB)

  • Drag faders up to +6.0 dB or down to mute.
  • Double-click a fader to reset to 0.0 dB.

Codecs

Under Output Mux Specs, choose AAC or OPUS and a bitrate (128k–320k).

Silent video

Mute all channels, then mix — multimux uses FFmpeg -an.

Build scripts

  • pnpm run dev — hot-reload development
  • pnpm run build — compile assets
  • pnpm run build:win — Windows installer under dist/

(back to top)

Explanation

Unlike full re-encodes, multimux:

  1. Video stream copy (-c:v copy) — lossless, fast container remux of video packets.
  2. Audio mixdown (amix) — decode selected tracks, apply volume, mix, encode one stereo master.

Example filter graph (CH1 at 1.0, CH3 at 1.5):

[0:a:0]volume=1.0[a0]; [0:a:2]volume=1.5[a2]; [a0][a2]amix=inputs=2:duration=longest:dropout_transition=0[a]

(back to top)

Changelog

See CHANGELOG.adoc.

(back to top)

Contributing

Fork, branch, and open a pull request.

Top contributors

contributors

For per-person profile links, prefer all-contributors.

(back to top)

Contact

Ryan Johnson — @amdphreak

Project Link: https://github.com/AMDphreak/multimux

Site: https://ryanjohnson.dev

(back to top)

About

Multichannel audio mixdown tool for video files powered by ffmpeg

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages