Thursday, September 18, 2008

mpeg4 trouble

Expanding qtmux to support mpeg4 was going all well, everything was almost ready! Then the ES Descriptor appeared. For .mov files it was only used for AAC description atoms. For mpeg4 it has to be used for every format, and:
  1. This ES Descriptor has a DecoderConfigDescriptor that has 'objecttype' and 'streamtype' integer fields that would identify the stream format and I can find no info on how to map the formats to those values (other than AAC).
  2. The DecoderConfigDescriptor has some 'bitrate' and 'decoding buffer size' fields which aren't usually provided by GStreamer, so I'm just filling that up with zeros.
If there is someone out there that knows how to map formats to those fields or any idea on how GStreamer could provide bitrate (perhaps tag events?) I'd really appreciate some help. I've been stuck for almost a week.

Also I've started to test the mpeg4 files in a PS3, too bad it doesn't give meaningful error messages.

Tuesday, September 9, 2008

AAC and MP3 at qtmux

I know I just posted, but I'd like to make a separate post for this.

Jan Schmidt(thaytan) sent me a patch that got AAC and MP3 to work! Thanks!

And he also sent me an optimization patch!

Friday, September 5, 2008

GSoC summary and thanks

Now that Summer of Code ended, I'd like to summarize what has been done around qtmux and some random thoughts around it.

Firstly, I'd like to thank the guys from GStreamer for letting me participate with them, specially to Win (my mentor) and Christian(AFAIK, the org leader for GSoC). Also to those that answered my daily questions at IRC (mainly Mike, David and Tim). This was a great experience, learned lots of stuff about muxing, GStreamer and quicktime/mp4 file formats. Thanks also to the guys from pitivi for reporting problems and their effort for already adding qtmux to it.

It feels great to see the community actively using, testing, reporting bugs and requesting features at this early stage of qtmux, this is really motivating! Also, it will be moving soon to GStreamer repos. That means more developers working on it, consequently better quality code and more supported formats.

Looking at the application proposal, most of the formats promised are already working, but qtmux still lacks the flavor selection. That's why the next step is adding isomedia ('isom') output format, some work is already commited, but it is still at an early experimental state.

Lastly, another thanks to you all (GStreamer and Google), I really enjoyed participating and I hope that qtmux is already usable and meeting the expectations.