Thanks for the suggestion. Unfortunately, enzyme doesn't appear to be able to cope with my video files (from a Canon 5DMkIII):
root@dewey:~# ipython
Python 2.7.3 (default, Mar 14 2014, 11:57:14)
Type "copyright", "credits" or "license" for more information.
IPython 0.13.1 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object', use 'object??' for extra details.
In [1]: f = open("/var/lib/spud/images/orig/2015/02/28/MVI_0395.MOV", "rb")
In [2]: import enzyme
In [3]: mkv = enzyme.MKV(f)
---------------------------------------------------------------------------
MalformedMKVError Traceback (most recent call last)
<ipython-input-3-75a58edbe2e9> in <module>()
----> 1 mkv = enzyme.MKV(f)
/usr/lib/python2.7/dist-packages/enzyme/mkv.pyc in __init__(self, stream, recurse_seek_head)
40 segments = ebml.parse(stream, specs, ignore_element_names=['EBML'], max_level=0)
41 if not segments:
---> 42 raise MalformedMKVError('No Segment found')
43 if len(segments) > 1:
44 logger.warning('%d segments found, using the first one', len(segments))
MalformedMKVError: No Segment found