Multimedia Container Format: Difference between revisions

Content deleted Content added
SmackBot (talk | contribs)
m Date/fix the maintenance tags
Cleanup of "History"
Line 1:
{{Cleanup|date=December 2006}}
 
'''MCF''' is an open (the [[specification]]s are available for everybody, free of charge), free (no [[royalties]]) data storage format called '''Multimedia Container Format''' (or '''Movie Container Format'''). The group originating it has promised that the format and all software developed by them for it will also stay free; it won't be turned into a commercial project once it's popular.
 
Essentially it is a file format, like [[Microsoft]]'s [[AVI]]. However, it is also much more than that, having streaming and broadcasting features in the same format. It is not a video or audio [[compression algorithm]], but instead just a [[container]] that can hold any media inside it. This includes MPEG-4 ([[XviD]] and [[DivX]]), [[AC3]], [[Vorbis]], [[MP3]] and others.
 
==History==
{{ inappropriate tone }}
The reason this project was started is that in year 2000 the only usable movie format on PC was AVI, which had seen its best days and couldn't really be extended any further. The project started with brainstorming on what should an optimal video format do. At that time, the project was just a text file on the home computer of the current project leader, [[Lasse Kärkkäinen]] (Tronic). He wrote a very primitive specification and then contacted the definite number one AVI hobbyist, [[Avery Lee]], best known offor his free video editing application [[VirtualDub]], for comments. After a few e-mails back and forth, the format began to get its shape. At that time the format was basically just ''a better AVI'', with only some simple improvements such as timecodes, tagging and reliabilityresistance againstto incomplete file transfers and other errors.
 
In 2001, the specification was written in [[HTML]] and the format was publicly published for the first time, askingwith a request for comments. Nobody really seemed to understand what the project was about, because there had not been any alternative container formats on the PC before. It was very difficult to get any developers even to even have a look at it. Finally, at a certainon web forum, thatwhich no longer exists, some people paid attention and asked questions. However, they were quite cautious about such a new format, and many asked why not use [[QuickTime]], [[Ogg]] or simply [[AVI]] instead. At this point everything was only on paper and thus it was difficult to gain respect for the project. This led to Lasse Kärkkäinen writing the first software for the format. In two days, he had a parser library and a simple [[ASCII]] art video player, supporting subtitles, released. This attracted a team together, and the real development could finally beginbegan. One of those to join was a [[C++]] coder named [[Ingo Ralf Blum]] (ingo). Another talented C++ programmer, [[Steve Lhomme]] (robUx4), heard of the project few months later ([[January 23]], [[2002]] is the exact date, found on his [http://forum.hardware.fr/hardwarefr/VideoSon/divx-4-5-kel-avance-et-pour-quand--sujet-25662-2.htm forum post]). This man was to have an important role onin the project.
 
Ingo Ralf Blum and Steve Lhomme were soon writing another version of the library, now in C++ (called, more properly, [[libmcf]]). Parts of this library are still in use in [[libebml]]. However, the format itself really started evolving, as the project was exponentially gathering more interest and thus good ideas on it. Because of that, the library was never quite up to date, on par withreflected the specifications. At some point, Ingo had some personal trouble and just disappeared from the net for personal reasons, leaving the code onin Steve's hands.
 
During year 2002, the format matured a lot, and the team started looking to get it running and thus into proper testing. However, at the same time, features were still pouring in and the specification could not be frozen. Pretty soon the libmcf was so much behind the specifications (especially thanks to the invention of Elements, which changed the format a lot) that it was decided to discontinue its development and to eventually write a new library, once the specification getsbecame frozenfinal.
 
InAt the end of 2002, Steve Lhomme started to experiment with a completely new way of storing data, [[Extensible Binary Meta Language]] (EBML). He took the MCF format structure and replaced most of itsthe simple binary fields byof the MCF format with these EBML fields. After some discussion (he was proposing to replace the almost -ready -for -release MCF with this new system), he started his own project, [[Matroska]], to experiment more with his system (the date was [[December 6]], [[2002]]), [[Matroska]], to experiment more with his system. Around the same time, Lasse Kärkkäinen, still leading the project and writing the specifications, had to go to military service and because the developers still left weren't comfortable enough forin coding software, the MCF development was stalled for six months.
 
After a six month hibernationhiatus, in the summer of 2003, Matroska had gotgotten a four-month head-start in writing the softwareadvance. All those who were in a hurry had movedshifted their interestsinterest towardsto Matroska. This brought off therelieved pressure offor rushed release for MCF, and instead suggested thatenabled the format couldto be fine-tuned further. The experiments with Matroska proved to beprovided useful feedback, and thus MCF gotreceived many improvements that it would not have gothad without the split. This includes proper multi-segment support (virtual addressing) and even lower overhead.
 
As of [[April 8]], [[2004]], the format was finalizing its specifications, and the C++ library for handling it ([[libmcf]]) was roughly half done. However, the development iswas very slow, as the university takes most of Lasse's time.
 
==Key features==