Wednesday 7 March 2012

Adding more meta data capabilities to MediaManager

I'm please with the progress that have been make towards the next release of Media Manager. The biggest difference in this release will be much improved meta data stored within iTunes files and the ability to keep iTunes in sync. These achievements have cause be to create other projects. The first of these I already mention was a iTunes remote control server written in ruby. This is nearing it's first release, it just needs it's windows support finishing off.

I wanted this release of media manager to start a lot more meta data in m4v files so that they look a lot more like iTunes meta data. This means when you rip a DVD and want to iTunes to see it, it will look as if it can from the iTunes store. In turn this should mean it is viewable on iPads and apple TV's etc...

This release of Media Manager move to using the AtomicParsley command line tool to encode and view mp4 metadata. This tool has been around a while, but the orginal site has not been updated in a long time. Since then their have been new atom types that have been added to iTunes. So I came across  a fork of atomic parsley. This is pretty good and has had a number of features and bug fixes. This still does not do everything I would like, so in turn I've forked this project. I'm hoping that my fork's changes can be push upstream once they are ready. My fork can be found here https://bitbucket.org/shield007/atomicparsley.

So I will be packing up my fork of AtomicParsley with Media Manager. The new features I've add so far are the ability to set the flavour atom (flvr) and a output option to list iTunes atoms in a XML format.

The flvr atom can be seen in files downloaded from the iTunes store. So that I've found that it contains these values:

  • 1:128
  • 2:256
  • 4:640x480LC-128
  • 6:640x480LC-256
  • 7:720p

It took me a while to work out what all of these mean, by I think I have it now. 7:720p is for videos that are 720p. These also don't have to be 16:9 aspect ratio.  1:128 is for audio files encoded in 128Kbs lossy. Simlary 2:256 is audio files encoded in 2:256 lossy. 4 and 6 were the tricky ones. It turns out that 640x480 is the 480p resolution, LC is the format profile of the audio. and 128/256 is the Kbs of the audio.

Usually 4 is used by low definition films and TV, 6 is used by music videos and 7 is used by High Def content. Their are probably other entries for this atom. If people know of any let me know. I can cater for them as well.

Media Manager is now making use of a tool call mediainfo to query the video and audio information of the file.   This enables media manager to know thinks like the flavour, aspect ration, type of audio etc...