[matroska-devel] Help from MPEG container expert needed : MPEG1/2 implementation into new open standard matroska container

ChristianHJW christian at matroska.org
Tue Feb 11 00:37:02 CET 2003


i am one of the project admins of matroska container format (
http://matroska.org ) and turning to these 2 MLs ( transcode.devel and
mjpeg.user ) searching for help.

We are in the process of releasing our basic file I/O lib called
*libmatroska*, and plan to be able to release a first set of file creation
tools ( based on virtualdub ), including a DShow based parser, for Windows
within the next 4 - 5 weeks. Linux support is next on our list, we are
talking to some people from mplayer and gstreamer for playback support
already and Moritz Bunkus promised to make a muxer program for Linux
accepting AVIs, Oggs and other formats as input. Our main developer is
planning to create some Mac OsX tools also, and we have good contact with
the Open BeOS world also.

One of our major goals was and is to be able to support MPEG1 and MPEG2
video streams to be muxed into our container ( besides all existing VfW
codecs of course ), together with any possible audio stream. While some of
you may fail to see the sense in using an existing MPEG2 video stream with
an AAC or Vorbis audio stream and USF subtitles at first, please rest
assured that many potential users of the container confirmed they had good
use for that. As a side result we would like to be able to pack a complete
DVD into one, self containing matroska file, incuding chapters, menues,
AC3/MP2 audio tracks, subtitle streams and MP2 video streams.

We were looking at MPEG container already together with the admins of UCI
( http://uci.sf.net a universal codec API ) , but cant yet decide on what
levels we could drop ( and use matroska's own facilities replacing them to
contain the information ), what levels to copy together with the data and
what levels could be transformed into corresponding matroska elements.
Adding such elements is pretty simple in matroska, thanks to its EBML
backbone ( http://ebml.sf.net ), a kind of binary XML that was developed for
matroska and is a project of its own now. We choose this design ( not
everybody seems to like it ) to ensure matroska can be used for the next 10
years, without any major hacks or changes to the basic specs, just by adding
new elements if necessary ( this is a bit similar to 'atoms' in MP4
container ).

Obviously we would like to avoid to have to change the main library soon
after we released it, to be able to support MPEG1/2 video. As a result, we
would very much appreciate to get some input from the MPEG container experts
here, helping us to decide how we could best mux MPEG video into matroska,

- minimum overhead
- high error recovery
- fast seeking

Please, if you reply to this post make sure the matroska-devel at
freelists.org  list is copied also. Also pls. be patient if anything i said
doesnt make sense from a technical point of view, i am just an organizer and
may have expressed things technically incorrectly.

Thanks in advance for your help in any case



More information about the Matroska-devel mailing list