When using AVIdemux to encode a video, user has a choice of several output formats. Among the output format is MP4 Muxer and MP4v2 Muxer. Both output formats is essential MPEG-4 container file format, which defines a general structure for time-based multimedia files such as video and audio. But what’s the differences between the two?
MP4 file format is based on ISO base media file format, which in turn is directly based on Apple’s QuickTime container format. In 2001, the first MP4 file format specification, commonly known as MPEG-4 file format “version 1”, was created and published on the basis of the QuickTime format specification as ISO/IEC 14496-1:2001, as revision of the MPEG-4 Part 1: Systems (has been revised and added more specifications to Part 12). In 2003, the first version of MP4 file format was revised and replaced by MPEG-4 Part 14: MP4 file format (ISO/IEC 14496-14:2003), commonly known as MPEG-4 file format “version 2”.
|MP4 file format version 1
|MPEG-4 Part 1 (Systems), First edition
|MP4 file format version 2
|MPEG-4 Part 14 (MP4 file format), Second edition
In summary, MP4v2 extends over ISO Base Media File Format, i.e. MP4v1 (MPEG-4 Part 12). It defines some extensions over the ISO Base Media File Format to support MPEG-4 visual/audio codecs and various MPEG-4 Systems features such as object descriptors and scene descriptions. Thus, theoretically MP4v2 supports more kind and type of data streams.
However, in AVIdemux context, some MP4 muxer simply refuses to accept video tracks and audio tracks in certain file formats. As the result, AVIdemux will return cannot open muxer error. In this case, just switch to the other MP4 file format should work, as both file formats is well supported by most modern software and hardware media players. In fact, both uses the same file extension, e.g. .mp4.