At present, the network on the MP4 file format summary has been quite a lot, I am not here to copy others summed up things, want to get started Baidu will have a lot of this article. Here is a MP4 file structure that is rarely involved in other articles, that is, fragment MP4, also known as ISMV files.
To really understand the MP4 file format, there is an open Source tool project that can be learned: MP4 Explorer. On the one hand, this tool can be in accordance with the MPEG-4 standard to parse the MP4 file, intuitively help everyone to see the format of MP4 file. On the other hand, by carefully learning its code, you can understand how the MP4 file is accessed and accessed, and is a boon to the students who are committed to the underlying research. Its official website: http://mp4explorer.codeplex.com/
This paper describes a MP4 file format called fragmented MP4, which is referred to as FMP4. The file format is different from the MP4 file that you usually see. Here are two pictures to compare.
Figure 1 General MP4 File Physical structure
Figure 2 fragmented MP4 file structure
The pros and cons of both formats are analyzed below.
For the first format, the meta data for the entire MP4 file is in the file header, and all media data is a whole piece. When the file size is larger, the meta data is relatively large. This is no problem for local playback of MP4 files. However, for some video playback sites, the user's player must download the full meta data to start playback, which means that the user's buffer time will be extended by the storage structure of the MP4 file. At present, a solution is to cut large mp4 files into physically separated multiple segments, so that each segment of the meta is relatively small, thereby reducing the buffer time to a certain extent.
For the second format, the MP4 file is divided into multiple frag shards, and the original meta data is greatly smaller, and no frag can be indexed, transmitted and played separately, so that the MP4 can not be streamed playback problems. Better for the user experience. Currently, however, this format is not fully supported by most decoders, and some players have been loading files for too long, and browser-embedded players may not support playback.
Microsoft launched this solution before the 08 Olympic Games and applied it to NBC video broadcasts, with the following links: http://alexzambelli.com/blog/2009/02/10/ Smooth-streaming-architecture/. You can also find some introductions to each box in the MP4 file.