Multimedia Container Format

Last updated
Multimedia Container Format (MCF)
MCF Logo 32x32.png
Filename extension
.mcf, .av.mcf, .audio.mcf, .video.mcf
Developed by mcf.sourceforge.net
Initial release2001;23 years ago (2001)
Type of format Container format
Container for Multimedia
Extended to Matroska
Open format?Yes
Free format?Yes

Multimedia Container Format (MCF) is an unfinished specification for container format, designed to be completely free and open. The project was abandoned in early 2004, but many of its innovative features have since found their way into Matroska, MCF's de facto successor.

Contents

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 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 in the fall of 2002, a binary meta-format inspired by XML, by the programmer Steve Lhomme, quickly followed by a six-month 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 his own Matroska 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 6, 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 checksums were embedded into the file, and digital signatures 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 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. 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.

See also

Related Research Articles

An audio file format is a file format for storing digital audio data on a computer system. The bit layout of the audio data is called the audio coding format and can be uncompressed, or compressed to reduce the file size, often using lossy compression. The data can be a raw bitstream in an audio coding format, but it is usually embedded in a container format or an audio data format with defined storage layer.

<span class="mw-page-title-main">Ogg</span> Open container format maintained by the Xiph.Org Foundation

Ogg is a free, open container format maintained by the Xiph.Org Foundation. The authors of the Ogg format state that it is unrestricted by software patents and is designed to provide for efficient streaming and manipulation of high-quality digital multimedia. Its name is derived from "ogging", jargon from the computer game Netrek.

Waveform Audio File Format is an audio file format standard for storing an audio bitstream on personal computers. The format was developed and published for the first time in 1991 by IBM and Microsoft. It is the main format used on Microsoft Windows systems for uncompressed audio. The usual bitstream encoding is the linear pulse-code modulation (LPCM) format.

Audio Video Interleave is a proprietary multimedia container format and Windows standard introduced by Microsoft in November 1992 as part of its Video for Windows software. AVI files can contain both audio and video data in a file container that allows synchronous audio-with-video playback. Like the DVD video format, AVI files support multiple streaming audio and video, although these features are seldom used.

A video file format is a type of file format for storing digital video data on a computer system. Video is almost always stored using lossy compression to reduce the file size.

<span class="mw-page-title-main">DivX</span> Brand of video codec products by DivX, LLC

DivX is a brand of video codec products developed by DivX, LLC. There are three DivX codecs: the original MPEG-4 Part 2 DivX codec, the H.264/MPEG-4 AVC DivX Plus HD codec and the High Efficiency Video Coding DivX HEVC Ultra HD codec. The most recent version of the codec itself is version 6.9.2, which is several years old. New version numbers on the packages now reflect updates to the media player, converter, etc.

Resource Interchange File Format (RIFF) is a generic file container format for storing data in tagged chunks. It is primarily used for audio and video, though it can be used for arbitrary data.

Motion JPEG is a video compression format in which each video frame or interlaced field of a digital video sequence is compressed separately as a JPEG image.

<span class="mw-page-title-main">FFmpeg</span> Multimedia framework

FFmpeg is a free and open-source software project consisting of a suite of libraries and programs for handling video, audio, and other multimedia files and streams. At its core is the command-line ffmpeg tool itself, designed for processing of video and audio files. It is widely used for format transcoding, basic editing, video scaling, video post-production effects and standards compliance.

Matroska is a project to create a container format that can hold an unlimited number of video, audio, picture, or subtitle tracks in one file. The Matroska Multimedia Container is similar in concept to other containers like AVI, MP4, or Advanced Systems Format (ASF), but is an open standard.

<span class="mw-page-title-main">VirtualDub</span>

VirtualDub is a free and open-source video capture and video processing utility for Microsoft Windows written by Avery Lee. It is designed to process linear video streams, including filtering and recompression. It uses AVI container format to store captured video. The first version of VirtualDub, written for Windows 95, to be released on SourceForge was uploaded on August 20, 2000.

<span class="mw-page-title-main">Ogg page</span>

An Ogg page is a unit of data in an Ogg bitstream, usually between 4 kB and 8 kB, with a maximum size of 65,307 bytes.

MPEG transport stream or simply transport stream (TS) is a standard digital container format for transmission and storage of audio, video, and Program and System Information Protocol (PSIP) data. It is used in broadcast systems such as DVB, ATSC and IPTV.

A container format or metafile is a file format that allows multiple data streams to be embedded into a single file, usually along with metadata for identifying and further detailing those streams. Notable examples of container formats include archive files and formats used for multimedia playback. Among the earliest cross-platform container formats were Distinguished Encoding Rules and the 1985 Interchange File Format.

These tables compare features of multimedia container formats, most often used for storing or streaming digital video or digital audio content. To see which multimedia players support which container format, look at comparison of media players.

QuickTime File Format (QTFF) is a computer file format used natively by the QuickTime framework.

Real-Time Messaging Protocol (RTMP) is a communication protocol for streaming audio, video, and data over the Internet. Originally developed as a proprietary protocol by Macromedia for streaming between Flash Player and the Flash Communication Server, Adobe has released an incomplete version of the specification of the protocol for public use.

.m2ts is a filename extension used for the Blu-ray disc Audio-Video (BDAV) MPEG-2 Transport Stream (M2TS) container file format. It is used for multiplexing audio, video and other streams, such as subtitles. It is based on the MPEG-2 transport stream container. This container format is commonly used for high definition video on Blu-ray Disc and AVCHD.

A demultiplexer for digital media files, or media demultiplexer, also called a file splitter by laymen or consumer software providers, is software that demultiplexes individual elementary streams of a media file, e.g., audio, video, or subtitles and sends them to their respective decoders for actual decoding. Media demultiplexers are not decoders themselves, but are format container handlers that separate media streams from a (container) file and supply them to their respective audio, video, or subtitles decoders.

A video coding format is a content representation format of digital video content, such as in a data file or bitstream. It typically uses a standardized video compression algorithm, most commonly based on discrete cosine transform (DCT) coding and motion compensation. A specific software, firmware, or hardware implementation capable of compression or decompression in a specific video coding format is called a video codec.