A lightweight, elegant, and cross-platform desktop application built in Electron, SolidJS, and TypeScript. multimux allows screen-recorders and video-editors to visually mix down multiple discrete audio tracks from any recording source into a single master track, while preserving the video stream bit-for-bit with instant container-level passthrough (-c:v copy).
To get the application up and running locally, follow these simple steps:
-
Clone this repository to your computer.
-
Open your terminal in the project directory.
-
Install the node packages:
pnpm install
-
Start the application in developer mode:
pnpm run dev
-
Use
F12to toggle the developer console if you want to inspect IPC bridge outputs.
Here is how to perform your first mixdown in less than 30 seconds:
-
Launch multimux.
-
Locate your screen recording in your file manager.
-
Drag and drop the file directly onto the recessed Inlet Port plate.
-
The console will automatically analyze the streams and display your active channels as physical vertical channel strips.
-
Toggle the channel switches to include or exclude specific tracks.
-
Drag the mechanical fader knobs up or down to balance volumes.
-
Click the heavy mechanical Mix & Mux Master push-button at the bottom.
-
Watch the compilation progress and log feed inside the retro green-screen overlay. Once completed, click Open File Location to find your mixed recording.
To balance your volume levels:
-
Drag the fader knob upwards to boost a track (up to
+6.0 dB). -
Drag the fader knob downwards to attenuate a track (down to
-oo dB/ Muted). -
To reset a fader knob exactly back to its default volume (
0.0 dB), double-click the fader knob cap. It will automatically snap to the middle tick.
multimux supports both AAC and Opus output formats:
-
Under the Output Mux Specs card, select the codec push-button (AAC or OPUS).
-
To select the desired fidelity, adjust the bitrate dropdown menu (ranges from 128k for fast drafts to 320k for studio quality).
If you want to strip all audio channels and export a silent video:
-
Disable all channels using their toggles so that every channel says
MUTED. -
Click the Mix & Mux Master button. The application will automatically call FFmpeg with the
-anflag, stripping all audio tracks in seconds.
Screen-recording apps (like OBS or ShadowPlay) capture microphone feeds, gaming sounds, and Discord audio on separate, discrete tracks. While this is great for multi-track editors, standard video players only read Track 1, meaning other tracks go silent when uploaded directly.
multimux bridges this gap. Unlike standard transcoder suites that re-encode the entire video (taking hours and losing visual quality), multimux does two simultaneous things:
-
Video Stream Copy (
-c:v copy): The video packets are moved bit-for-bit directly from the input container to the output container without any decoding. This process is instantaneous and lossless. -
Audio Mixdown (
amix): The chosen audio tracks are decoded into raw floating-point PCM waves. The application applies the customized volume multipliers (sliders), sums the waves together using FFmpeg’samixfilter, and encodes the resulting master mix into a single stereo track.
-
Operating System: Windows 10/11, macOS, or Linux.
-
Backend Utilities:
ffmpegandffprobemust be installed on your system and registered in your system PATH.
The following commands are available in your workspace package.json:
-
pnpm run dev: Launch the desktop app in live hot-reload development. -
pnpm run build: Compile TypeScript and build the static assets. -
pnpm run build:win: Package the desktop application into a standalone Windows installer (.exe) under thedist/directory.
See detailed timeline logs in CHANGELOG.adoc.