[Matroska-devel] LibMatroska example question
mike at po.cs.msu.su
Thu Jan 26 12:05:17 CET 2006
On Thu, Jan 26, 2006 at 11:30:51AM +0100, Armin M?ller wrote:
> I tried to adapt my muxing application to use pointers instead of the
> & in the variable definition, but i ran into troubles again.
> I read parts of the source code of VLC (which does not contain a
> matroska multiplexer) and mkvmerge. MkVMerge is a great application,
> but it is really hard to understand because of all the beatiful
> separation of functionallity into seperate modules.
> Doesn't there exist a simple sample application that only takes two
> files (audio and video) and multiplexes them into one matroska file.
> This programm should not have all the bells and whistles that e.g
> MkvMerge has, because of learning how to se the pure multiplexing in
> own applications.
> In my application I want to save two (or later more) streams
> interleaved (one video, one audio, one video, ...) into a matroska
> file. So I have a class MKIO that has a method
> bool writeFrame(Frame* frm, int trackId);
> I want to have all the necessary variables defined as class variables
> (KaxSegment, KaxTracks, ...) because I instantiate the Matroska
> Header on first writeFrame and then on each additional call of this
> method I "add" a Frame to the container (KaxCluster->AddFrame). So I
> have to have access to some variables, that need to keep their values
> throughout method calls.
> I follow this list quite some time and I notized that several people
> would need some simple sample applications for matroska with quite
> some good documentation (also inline code documentatio).
> I want to use Matroska as the main container format for our
> multimedia framework, because I think it offers a lot of features
> that allow us to store additional intormation (even as a kind of
> metadata serialization of our internal metadata structure).
You may want to take a look at x264 project, I've written a mini-muxer
for it. It only supports one track atm, but extending it is fairly
easy. It doesn't use libmatroska/libebml, but the API is much
More information about the Matroska-devel