[gst-devel] Gstreamer and matroska - the opensource answer to VideoforWindows/AVI and Quicktime/MOV ?

Christian HJ Wiesner chris at matroska.org
Thu Feb 19 22:38:18 CET 2004


Hi,

this email is more to be seen as a brainstorming rather than an 
announcement or the like. My excuses go to the Gstreamer guys about 
copying their list, i dont know if they are interested in this kind of 
thinking at all.

I was recently becoming aware that matroska's only hope to become 
established as standard, if this is ever going to happen, is versatility 
and flexibility. In short, to become a 100% replacement for good old 
AVI, currently the most used container format out there, probably on 
rivalled by MPEG. The reason this container is/was used so much can be 
explained when knowing its the standard container for VfW ( Video for 
Windows ), Redmond's old Media Framework. http://fourcc.org and 
http://abcavi.com give a pretty good impression how many different audio 
and video codecs had been developed for this framework in the past, 
obviously because of M$'s domination in the Multimedia scene and the 
sheer number of copies out in the wild. Now, as we all are well aware, 
both VCM ( the video codec API ) and ACM ( the audio codec API ) are 
completely outdated and can not support most of the modern compression 
formats anymore, leading to a number of problems and incompatibilities, 
of which VBR MP3 async and the 'packed bitstream' hack are the two most 
obvious to name.

The successor of VfW, DirectShow, has never played the same role if it 
comes to video editing and video creation/encoding, due to a number of 
pretty bad limitations with respect to accessing the chain once its 
started. In short, DShow is wanting to much automatism here, stealing 
developers the possibilitites they request if they code a video 
application based on it. For this reason, DShow is today mainly used for 
playback and capturing.

The big 'competitor' to VfW has always been Quicktime in the past, with 
MOV as the standard container. It is very well implemented into Mac's, 
and like DirectShow for Windows it can be seen as a fixed part of the 
OS. Its coming with a nice, open video and audio codec API also, which 
is much more powerful then VCM/ACM, and same is valid for the container. 
However, there is no working implementation of Quicktime ( the framework 
) for Linux, at least i am not aware of such, and the Windows 
implementation of it sucks badly ( not to mention its payware if it 
should do more than just playback ).

I was recently thinking that Gstreamer and matroska together could 
become the opensource counterpart to both of the framework/container 
combinations listed above, and am asking for opinions on this ? Once we 
really succeed in porting Gstreamer to win32 ( maybe even MacOSX in 
future ? ), and come up with a powerful but not overly complex codec 
API, sitting on top of the gstreamer plugin API ( via a wrapper ), do 
you think codec developers could actually consider supporting this API, 
chosing MKV as their 'preferred' container ?

DivX.com have plans to release DivX6 from AVI and VCM, as well as from 
the MPEG4 standard in general. They have plans for a new, DivX6 specific 
container format i heard, and want to establish themselves as a new 
video standard that way, even with hardware support. Good luck, thats 
all i can say here. They would probably be better off to use their 
existing market power and support us to become the first true x-platform 
media framework and media format ? The reason DivX became so big is 
simply because it could be used from Virtualdub, and in AVI as a well 
supported container. If they now try to establish their own stuff, 
supported only by a small number of apps, and everything coded by 
themselves, they are very likely to fail IMO. Look at Real Networks, 
they understood this and went all the way back, trying to offer Helix as 
another universal framework, advertising it in the OSS scene even, and 
with great x-platform support, but still limited in terms of supported 
formats in it, and with only one ( for win32 sucky ) player for it.

I am well aware gstreamer doesnt need matroska at all. Your way is 
clear, becoming the best media framework for the Linux world, and you 
guys wont mind if your project is ported to other OSes also, as this can 
only help you to achieve your goals, for sure. You could also settle for 
MOV as standard container, as there are currently no features realized 
in matroska that MOV cant do also, or have no standard container at all. 
On the other hand, you could win a couple of contributors and fans with 
such an 'alliance', if you allow me to name it like that. Opinions 
please, and use the 'reply all' button if i may ask for that, to copy 
both lists. Stupid idea ? Useless ? Possible ? Tell me what you think ....

Regards

Christian





More information about the gstreamer-devel mailing list