Multimedia Container Format
Encyclopedia
Multimedia Container Format, abbreviated MCF, is an unfinished container format specification and a predecessor of Matroska
Matroska
The Matroska Multimedia Container is an open standard free container format, a file format that can hold an unlimited number of video, audio, picture or subtitle tracks in one file. It is intended to serve as a universal format for storing common multimedia content, like movies or TV shows...

. The project has been abandoned since early 2004, but many of its innovative features found their way into Matroska.

History

MCF was the first project to create an open and flexible media container format that could encapsulate multiple video, audio and subtitle streams in one file. The project was started in 2000 by the developer Lasse Kärkkäinen (Tronic) as an attempt to improve the aging AVI
Audio Video Interleave
Audio Video Interleave , known by its acronym AVI, is a multimedia container format introduced by Microsoft in November 1992 as part of its Video for Windows technology. AVI files can contain both audio and video data in a file container that allows synchronous audio-with-video playback...

 format. The first draft specification was published in 2001. At first the project generated some confusion about its intended goals. This was solved when the lead developer created a simple player for the format which supported embedded subtitles, which sparked interest and the community began to grow. Several new features were added and the specification refined.

The crucial event in the project's history was the invention of EBML
Extensible Binary Meta Language
Extensible Binary Meta Language is a generalized file format for any kind of data, aiming to be a binary equivalent to XML. It provides a basic framework for storing data in XML-like tags...

 in the fall of 2002, a binary meta-format inspired by XML, by the programmer Steve Lhomme, quickly followed by a six months long coding break by Kärkkäinen due to military service. Since MCF was deemed nearly release-ready at the time, EBML was not accepted, which led Lhomme to fork
Fork (software development)
In software engineering, a project fork happens when developers take a legal copy of source code from one software package and start independent development on it, creating a distinct piece of software...

 his own Matroska
Matroska
The Matroska Multimedia Container is an open standard free container format, a file format that can hold an unlimited number of video, audio, picture or subtitle tracks in one file. It is intended to serve as a universal format for storing common multimedia content, like movies or TV shows...

 project based on EBML. Due to the absence of the lead developer, most of the interest quickly shifted to the new project; by the time Kärkkäinen returned from the army, the developer community around MCF had completely disintegrated. Lack of manpower and educational commitments caused Kärkkäinen's attempts at reviving the project to fail. The final specifications were never published, and the last news entry on the project's SourceForge web page is dated September 6th, 2003.

Features

One of the objectives of the new format was to simplify its handling by players. This was to be done by making it feature-complete, eliminating the need for third-party extensions and actively discouraging them. Because of the simple, fixed structure, the time required to read and parse the header information was minimal. The small size of the header (2.5 kB), which at the same time contained all the important data, facilitated quick scanning of collections of MCF files, even over slow network links.

The key feature of MCF was being able to store several chapters of video, menus, subtitles in several languages and multiple audio streams (e.g. for different languages) in the same file. At the same time, the content could be split between several files called segments; assembling the segments into a complete movie was automatic, given the segments were all present. Segments could also be played separately, and overlap between segments was customizable. The format also allowed for variable frame rate video. To verify integrity, CRC32
Cyclic redundancy check
A cyclic redundancy check is an error-detecting code commonly used in digital networks and storage devices to detect accidental changes to raw data...

 checksums were embedded into the file, and digital signature
Digital signature
A digital signature or digital signature scheme is a mathematical scheme for demonstrating the authenticity of a digital message or document. A valid digital signature gives a recipient reason to believe that the message was created by a known sender, and that it was not altered in transit...

s were supported. A degree of resilience was built into the parser, allowing for playback of partially corrupted movies.

MCF's per-frame overhead (7 bytes) was considerably lower than AVI (40 bytes), and comparable to Matroska (10 bytes).

Limits

The limits of the MCF format were based on human perception and expectations of progress in bitrates of video. The time code
Time code
A timecode is a sequence of numeric codes generated at regular intervals by a timing system.- Video and film timecode :...

 precision of the format is limited to 1 ms. The addressing in the file is limited to 64 bits, which is extremely large. Frame size is limited by 32-bit frame size number, limiting frame size at 4 GiB
Gibibyte
The gibibyte is a standards-based binary multiple of the byte, a unit of digital information storage. The gibibyte unit symbol is GiB....

. Time codes are stored as 40-bit integers, which caps maximum movie length at approximately 35 years. The number of distinct streams in one file is 216, or 65536. A movie can be split into a maximum of 255 segments.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK