Hey Jason, On Wed, Sep 15, 2010 at 11:42 AM, Jason Tackaberry <t...@urandom.ca> wrote: > Although, is parsing the output of mkvinfo an option for your use-case? > I didn't know mkvinfo would dump codec private data.
Not exactly ;o) mkvinfo gave me most of what I needed by default. For the codec private data, however, I had to run mkvinfo -v -v -v, which reports offsets for fields. I was able to combine a few offsets to locate the private data, after which I could do a simple read of the relevant bytes in python. It felt messy enough that I started to look for an alternative and found kaa.metadata. On another note, I wrote to the author of mkvinfo when I was working on that approach, and he added the level (and maybe the profile) to the codec private line of the output. I haven't tried it yet, as I had switched to kaa before he added the feature. I use mkvinfo a lot though, and will download the new version to try it out shortly. > I could imagine other scenarios where having access to the profile and > level would be useful. I might want to expose these as video track > attributes. Would you mind sharing the code you're using to parse this > out? It's pretty minimal, but seems to work correctly: meta = kaa.metadata.parse(source) [stuff] # i is the video track number (h264_profile, h264_level) = struct.unpack_from('>HB', meta.video[i].codec_private_id[1:4]) The profile is encoded as follows: 0x42E0 - Baseline Profile 0x4D40 - Main Profile 0x58A0 - Extended Profile 0x6400 - High Profile And to get the level you just divide by 10 (e.g. 0x1f = 31, 31/10 = level 3.1). > Yes, I've meanwhile added 'codec_private' as core attributes for video > and audio tracks, which is initialized to None when not present, or a > string of bytes when it is. > > Thanks for the submission! Excellent - thanks very much! Mike. ------------------------------------------------------------------------------ Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev _______________________________________________ Freevo-devel mailing list Freevo-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freevo-devel