290 likes | 505 Views
MXF An Introduction. An Introduction. What is MXF ? What does it do ? How does it do it ? Please feel free to ask questions !. What is MXF ?. What is MXF ?. An interchange file format An extensible file format A compression agnostic file format A versatile file format
E N D
MXF An Introduction
An Introduction • What is MXF ? • What does it do ? • How does it do it ? • Please feel free to ask questions !
What is MXF ? • An interchange file format • An extensible file format • A compression agnostic file format • A versatile file format • A metadata aware file format • A stream-able file format • NOT an authoring format • MXF allows editable packages with simple cuts • Everything else is AAF
Relationship to AAF AAF System AAF System AAF Interchange AAF to MXF Export MXF to AAF Import or open in place MXF Interchange MXF System MXF System
What is MXF ? • Over 2 year of hard work by a joint team: • Pro-MPEG Forum • chairman Nick Wells, BBC • working group chairman Jim Wilkinson, SONY • document controller Bruce Devlin, Snell & Wilcox • AAF Association • chairman Brad Gilmer • major contributor Oliver Morgan, AVID • EBU • Hans Hoffman
What is MXF ? • A set of documents • Part 1: Engineering guidelines • Part 2: Format Specification • Part 3: Operational Patterns • Part 4: Descriptive Metadata sets • Part 5: Body formats • These have all been submitted to SMPTE for ballot • Get a copy of the Pro-MPEG documents from • http://www.pro-mpeg.org
What does it do ? • MXF provides … • an extensible framework for interchanging Metadata and Essence • independence from compression formats • a variety of operational patterns to fit different applications • a means of encapsulating structural & descriptive metadata • a means of relating the metadata with the essence • low level file structure for efficient storage and parsing • a means of indexing content for random access • a stream-able file format for real time contribution
User Requirements • Must be easy to understand & apply and standardised • Must be compression independent • Must be open (as per ITU definition) • Must provide full self-identification • Must be fully extensible • Must be usable on major platforms/OS’s • Must be application independent • Must provide for partial file transfers and recovery from interruptions
Basic file structure • Simple “Tape replacement”
Complex file structure • Multiple essence, index tables, run-in, repeated header metadata
Extensibility • KLV coding • Key: a unique identifier • Length: how long is the field • Value: what is the value of the field
Extensibility • KLV sets and packs
Compression Independence • Different MXF body types can be KLV wrapped • Body types can be single essence or multiplexed • Body type is signalled in the first few bytes • Enables early success / failure when streaming • Allow rapid identification of body types • Metadata can be parsed even if essence type cannot be decoded • Store & Forward devices can report compression type
Operational Patterns • Operational Pattern 1
Operational Patterns • Operational Pattern 5
Structural Metadata • Major elements such as “byte order” in the file • UMIDs for the essence components • Packages • A group of tracks • Material package defines the “output” timeline • File packages define the “input” timelines • Tracks • Timecode, Video, Audio, Events • Sequences of Segments • i.e. how the video “clips” are ordered and fit together
Descriptive Metadata • Depends on the use of the file • Current set is aimed at creating Broadcast Programs • Production metadata: Titles, episodic information • Definition of scenes, shots, participants, awards
How is it structured ? • It uses the Unified Modelling Language (UML)
How to connect metadata sets • Referencing of one set to another • UUIDs and UMIDs are used as the links • strong reference means one to one relationship • weak reference means one to many - both are used
Low level structure: Partitions • Divides file into partitions containing a single “thing” • Partitions have an integer number of sectors • Sectors are a defined size (4096 in today’s demos) • The order of elements in a partition is defined
Indexing Content • Generic Index Table solution • copes with CBR and VBR • copes with Temporal re-ordering • cope with predictive compression schemes • simple implementation for simple body types
Where to now ? • Await results of the SMPTE ballot • Respond to issues raised • And … • add new body types as required • add descriptive data sets as new communities adopt MXF • define Operational Patterns within the scope of MXF • the existing documents define how this can be done … • … whilst still retaining interoperability • Help people to implement ...
Implementation • The file format is complex • Implementation is not! • There are free software tools available • Pro-MPEG site • AAF SDK on SourceForge • MXF awareness in under 1 man-week! • Full MXF understanding (metadata integration etc.) takes longer • Interoperability and validation tests
MXF is there and it works ! Let’s use it