The nature of CMML

Today, for the millionth time I had to listen to a statement that goes along the following lines: “CMML technology is not ideal for media annotations, because the metadata is embedded with the object rather than separate”.

For once and all let me shout it out: THIS IS UTTER BULLSHIT!

I am so sick of hearing this statement from people who criticise CMML from a position of complete lack of understanding. So, let me put it straight.

While it is true that CMML has the potential to be multiplexed as a form of timed text inside a media file, the true nature of CMML is that it is versatile and by no means restricted to this representation.

In fact, the specification document for CMML is quite clearly a specification of a XML document. CMML is in that respect more like RSS than a timed text format.

Further, I’ll let you in on a little secret: CMML can be stored in databases. Yes!! In fact, CMMLWiki, one of the first online media applications that were implemented using Annodex, uses a mysql database to store CMML data. The format in which it can be extracted depends on your needs: you can get out single field content, you can put it in an interchangeable XML file (called CMML), or you can multiplex it with the media data into an Annodex file.

The flexibility of CMML is it’s beauty! It was carefully designed to allow it to easily transform between these different representations. It’s powerful because it can easily appear in all these different formats. By no means is this “not ideal”.

4 thoughts on “The nature of CMML

  1. Good one Silvia – the flexibility of separating the cmml from media data, but having them combined by mod_annodex (I have a directory full of cmml and ogg files and my application requests anx files and gets ’em) is incredibly effective. Who spreads such FUD?!

  2. I am not going to start pointing fingers. I hope that the quality of technology will eventually outweigh the FUD. But I was rather angry and upset when I had to fight that FUD again, which prompted me to write the blog entry. Help spread the truth!

  3. Hi Sam – at the moment things are a bit in flux and the CMML support in vlc and other players seems a bit broken. I haven’t had the time to fix it. 🙁

    The Firefox plugin that you probably downloaded is also an old one – since liboggplay has gone into Firefox 3.1 natively, we don’t need to use those plugins any more, because Ogg Theora support comes natively in the video element. Then, if you want to use Ogg files that have a CMML tack, you need to use mod_annodex on the server.

    Another alternative is to use plain CMML files on the server and not multiplex them, but load them straight into you Web page, do some parsing using javascript, and display this. This can be done in a similar way to how srt files are currently used in Firefox 3.1: see and in particular .

    As for the content: you can find some in these places: and Metavidwiki also supports it. In Metavidwiki (e.g. you have to go to a video, click on the options button on the bottom right of the player, then to Download, and at the bottom you have a list of CMML files to use.

Leave a Reply

Your email address will not be published. Required fields are marked *