There are probably many reasons why a software developer might want to create a proprietary format to store their files in. The software may require special features that don’t fit into an existing format. I would hope a developer would try to use existing formats, or even better open formats, but for many reasons, which probably include profits, they choose to re-invent the wheel often.
MAGIX is a German company which started making software in 1994. In 2001 they developed their first video editing software which was called Movie Edit Pro. The software seems to be well received and is still in use today.
Like most video editing software, project files are used to store all the edits and links to video files. These are usually smaller text based, with many using XML as the project format. Not MAGIX, they decided to go with a different yet known format for their project files.
hexdump -C MAGIX15-s01.MVP | head 00000000 52 49 46 46 6c 37 01 00 53 45 4b 44 4d 56 50 48 |RIFFl7..SEKDMVPH| 00000010 08 00 00 00 00 00 00 00 00 00 00 00 4c 49 53 54 |............LIST| 00000020 0c 16 01 00 4d 56 50 4c 4c 49 53 54 00 16 01 00 |....MVPLLIST....| 00000030 56 49 50 4c 53 56 49 50 0c 07 00 00 00 dc 05 00 |VIPLSVIP........| 00000040 00 00 00 00 20 00 00 00 0c 00 00 00 80 bb 00 00 |.... ...........| 00000050 10 00 00 00 29 6b 55 e2 53 f8 3d 40 00 00 f0 42 |....)kU.S.=@...B| 00000060 01 00 00 00 bd 04 ef fe 00 00 01 00 06 00 08 00 |................| 00000070 00 00 01 00 06 00 08 00 00 00 01 00 3f 00 00 00 |............?...| 00000080 28 00 00 00 04 00 04 00 01 00 00 00 00 00 00 00 |(...............| 00000090 00 00 00 00 00 00 00 00 bd 8f 32 01 d0 02 00 00 |..........2.....|
Yes, they used the RIFF container format for their projects. Seems an odd choice, especially for video production although it is well suited for it. AVI is another video format which uses the RIFF container. The MVP project file uses the ID SEKD with the format MVPH. Earlier versions of Movie Edit Pro used a different extension.
hexdump -C MAGIXv11-s01.MVD | head 00000000 52 49 46 46 38 57 00 00 53 45 4b 44 53 56 49 50 |RIFF8W..SEKDSVIP| 00000010 70 00 00 00 00 dc 05 00 00 00 00 00 04 00 00 00 |p...............| 00000020 02 00 00 00 80 bb 00 00 10 00 00 00 8e 23 d6 e2 |.............#..| 00000030 53 f8 3d 40 00 00 f0 42 01 00 00 00 bd 04 ef fe |S.=@...B........| 00000040 00 00 01 00 00 00 06 00 00 00 04 00 00 00 06 00 |................| 00000050 00 00 04 00 3f 00 00 00 28 00 00 00 04 00 04 00 |....?...(.......| 00000060 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000070 c8 1b 32 01 d0 02 00 00 e0 01 00 00 52 d7 da fb |..2.........R...| 00000080 54 55 f5 3f 4c 49 53 54 04 00 00 00 70 68 79 73 |TU.?LIST....phys| 00000090 4c 49 53 54 d0 3d 00 00 74 72 6b 73 4c 49 53 54 |LIST.=..trksLIST|
The MVD format used on an earlier version of Movie Edit Pro is also a RIFF, and with the ID of SEKD, but has a format of SVIP.
RIFFpad can break down the chunks we see in an MVP file. Each of the LIST chunks has their own subchunks as well. I assume this his how the editing software stores each video/audio track references, etc. So I give it to MAGIX for at least using an understandable format to store their projects.
MAGIX has also used RIFF in many of its supporting formats. So far I have found mfx, afx, ifx, cfx, ctf, tfx, ufx, mmt, mmm, hdp, each having their own format:
hexdump -C 101_Loud.mfx | head 00000000 52 49 46 46 a8 6f 00 00 53 45 4b 44 4d 41 46 58 |RIFF.o..SEKDMAFX| 00000010 00 00 00 00 4c 49 53 54 94 6f 00 00 41 55 46 58 |....LIST.o..AUFX| 00000020 4c 49 53 54 88 6f 00 00 41 46 58 45 46 58 48 44 |LIST.o..AFXEFXHD| 00000030 20 00 00 00 00 00 25 0d 00 00 00 00 02 00 00 00 | .....%.........| 00000040 01 00 00 00 00 00 00 00 03 18 00 00 00 00 00 00 |................| 00000050 00 00 00 00 4c 49 53 54 54 6f 00 00 41 46 58 44 |....LISTTo..AFXD| 00000060 4c 49 53 54 50 6a 00 00 41 46 58 45 46 58 48 44 |LISTPj..AFXEFXHD| 00000070 20 00 00 00 00 00 25 0d 00 00 00 00 05 00 00 00 | .....%.........| 00000080 01 00 00 00 00 00 00 00 03 18 00 00 00 00 00 00 |................| 00000090 00 00 00 00 4c 49 53 54 1c 6a 00 00 41 46 58 44 |....LIST.j..AFXD|
Not sure the best way to manage all of these in terms of identification, as I am not sure what what is the purpose of each format. Maybe for now I’ll make a generic to catch them all as a MAGIX File.
Extension | ID | FORMAT |
---|---|---|
AFX | SEKD | SAFX |
CFX | SEKD | SCFX |
CTF | SEKD | SVIP |
HDP | SEKD | SHDP |
IFX | SEKD | SIFX |
MFX | SEKD | MAFX |
MMM | SEKD | SVIP |
MMT | SEKD | SVIP |
MVD | SEKD | SVIP |
MVP | SEKD | MVPH |
MXM | MXMD | mxmi |
TFX | SEKD | STFX |
UFX | SEKD | SVIP |
But, when it comes to their proprietary MAGIX Video format, I think they may have pushed things a little too far. Meet the MXV format:
hexdump -C MAGIXv11-s01.mxv | head 00000000 4d 58 52 49 46 46 36 34 9a cb 2b 00 00 00 00 00 |MXRIFF64..+.....| 00000010 4d 58 4a 56 49 44 36 34 4d 58 4a 56 48 32 36 34 |MXJVID64MXJVH264| 00000020 70 00 00 00 00 00 00 00 70 00 00 00 03 00 00 00 |p.......p.......| 00000030 42 93 2b 00 00 00 00 00 f0 00 00 00 00 00 00 00 |B.+.............| 00000040 7b 2e 00 00 4b 00 00 00 01 00 00 00 00 00 00 00 |{...K...........| 00000050 8e 23 d6 e2 53 f8 3d 40 80 02 00 00 e0 01 00 00 |.#..S.=@........| 00000060 80 02 00 00 e0 01 00 00 04 00 00 00 43 15 00 00 |............C...| 00000070 f0 00 00 00 00 00 00 00 28 19 00 00 00 00 00 00 |........(.......| 00000080 55 55 55 55 55 55 f5 3f 00 00 00 00 00 00 00 00 |UUUUUU.?........| 00000090 7f dd 05 00 00 00 00 00 4d 58 4a 56 48 44 36 34 |........MXJVHD64|
I am not sure what I am looking at, is it a RIFF? Is it a RIFF variant like RF64? MAGIX claims the format is:
This is the MAGIX video format for quicker processing with MAGIX products. It offers very low loss of quality, but it cannot be played via conventional DVD players.
MAGIX Video Pro X6
A look around the internet doesn’t bring much up in reference to this format. Just my recent page on the format wiki. A search for MXRIFF64 bring up nothing. But a closer look at other strings within the MXV file reveal we are probably looking at some sort of MPEG format.
I was able to locate a project on GitHub which claims to be able to demux the MXV format. The software is written in GO and appears to indicate this format is chunked based and has most of the chunks figured out. So if you find yourself stuck with some MXV files and don’t want to use the latest from MAGIX, this might be the tool for you.
This demuxer also has an interesting file you can download. It is called a “GRAMMAR” file and can be loaded into hex viewers like Synalyze It! can show the parts of a file you load. Its a great way to explore a format!
None of these formats are found in PRONOM, project files are not usually kept in archives, but if would be good to know about the RIFF files if they do turn up. The video format is for sure something the archival world should know about. MediaInfo is currently not aware of this format, but seems like it might be an easy task.
As usual, you can see some samples and my proposal signatures on my GitHub.