A simple tool to demux ".mxv" (MAGIX Video) files.
This program extracts all video frames and audio samples from mxv files. It doesn't convert or transcodes anything, so there is no loss in quality in the process. What you get is the pure/raw series of JPEGs and audio data that is contained in mxv files.
You then can use Avidemux, or any other software you like, to write this data into another container that can be read by other video software. This, too, can be done without any loss in quality. A detailed explanation is given below.
I tested this tool on video material from:
- MAGIX Video deluxe 2007/2008
- MAGIX Video Pro X5
- MAGIX Video deluxe 2025
If you have ever used some older (or even newer) video-editing software from MAGIX, you may have created one or more mxv video files. These files contain audio and video data from frame grabbers or other sources, so they most likely contain old recordings from camcorder videotapes or screen recordings. The problem is that no other software can read mxv files, so you are stuck with using MAGIX video-editing software.
Assuming you can't re-record your tapes into a future-proof format, you are stuck with MAGIX's proprietary format. Without this tool, the only way to convert your video recordings is by exporting them with some MAGIX video-editing software. This comes with the following disadvantages:
- You still need to have such software, and you still need a working license for them (Some encoders must be activated online).
- You have to use their software to do the transcoding.
- Depending on the encoder and quality level, transcoding may be slow.
- You can't transcode them without loss of quality. (Maybe that's possible in newer MAGIX software versions, i couldn't check).
- Download the executable from the latest release.
- Move the executable
mxv-demux.exeinto a folder with your mxv-files. - Run
mxv-demux.exe. - The tool will create new folders for every mxv-file it encounters:
Example.mxvwill be demuxed into a directory calledExample.mxv-demuxed.
Alternatively, you can just drag and drop one or multiple files onto the executable. The results will be written into the same directory as the source files.
This is just an example how to repackage the video and audio data into another container. Theoretically you could import the JPEG sequence and audio stream into your video-editing software of your choice, if it supports that.
- Download, install and start Avidemux.
- Drag and drop the first JPEG frame into Avidemux.
- Open
Audio->Select Track, select the extracted wav file, if there is any. - Set everything to
copy, set the output format toAVI Muxer. - Hit
File->Save, done.
The result should be a 1:1 copy of your mxv data, but in a usable container. If the audio and video stream run out of sync after some time, you probably need to adjust the video frame rate in Avidemux. I can't be bothered to check right now how to do that, Avidemux is a bit quirky in this regard.
To build the application you have to have the Go toolchain installed and run the following command inside this directory:
go buildThe MXRIFF64 and MXV parser is available in its own package.
Run go get github.com/Dadido3/mxv-demuxer inside your go module, and then you can use the mxv package to extract audio and video data:
import "github.com/Dadido3/mxv-demuxer/mxv"
func main() {
file, err := os.Open("some.mxv")
if err != nil {
log.Panicf("Failed to open file: %v.", err)
}
mxvReader, err := mxv.NewReader(file)
if err != nil {
log.Panicf("Failed to read MXV file: %v.", err)
}
log.Printf("MXV info: %+v.", mxvReader.Info)
}Support for writing MXV files or MXRIFF64 containers is not implemented, but can be added at a later date if needed.
- Thanks to YourMJK for providing well crafted example files and general help with reverse engineering the MXV video format.

