One of the advantages of this camera and many like it is the recording of meta-data such as focal length, ND filter, iris setting and so forth on a per-frame basis. This data is stored in a MPEG-7 format — a meta-data stream format — and is written to disc in a binary XML wrapper as a ‘bim’ file located in the clip’s folder. (See here for an example of the clip folder layout.)
To access the clip meta-data outside the Clip Browser proves to be a bit of a challenge since decoding the binary XML requires the XML schema used to encode the data. With neither the schema nor a decoder readily available, we decided to do a direct hack of the BiM file. The approach was pretty straightforward: shoot short clips with known camera settings, usually changing one setting at a time, taking careful notes of what settings were being shot with. After this it was a matter of looking at the bim file directly and seeing what had changed. A true hack job!
The aim was to have a python module which would parse the BiM file and return a per-frame dictionary where each frame number indexed another dictionary with key/value pairs of camera data.
Having access to the camera data is proving to be a huge plus. For example, we shot SIGNAL FAILURE using fixed focal lengths to emulate a prime lens kit. Having done a lens solve for these fixed focal lengths, we can now automate lens distortion: by pulling in the focal length from the clip meta-data along with the correct lens distortion (an undistortion, really) we can automatically create camera image planes for any work in Maya or Houdini.
We’ve uploaded this python module GitHub for anyone interested; it may be useful for XDCAM users in a more broader context.