Skip to content
Marco Dos Santos Oliveira edited this page Jul 17, 2013 · 5 revisions

EBU MXFTools Project

The European Broadcast Union has initiated the MXFTools project in July 2012 with deployment of MXF standard as ambition. This project is a set of free software tools developed in-house and depending exclusively on open libraries. We designed these tools to experiment and promote the possibilities of the MXF container and its components as defined into the SMPTE 377M standard in a user-friendly environment. With MXFTools, the EBU wants promote the knowledges and work of its members, its partners and its engineers, having a clear vision on the state of art about MXF, gain expertise in terms of software development and build a bridge between the open-source community and the EBU.

EBU media player

The EBU media player is not different of other media players in terms of basic features nevertheless advanced features are yet few. The EBU media player is based on Gstreamer; Gstreamer is an open pipeline-based framework for global audio-video management which is supported by a large community including industrials like Nokia, Intel or Texas Instrument. Gstreamer allows to add new formats or codecs for audio, video, images, texts or metadatas with a plugin-system. A plugin dedicated to MXF container exists since 2008.

EBUCore editor

A key element of MXF standard is the native support for metadatas ; metadatas allow to identify, describe, to structure, execute and archive "materials" inside an MXF container. EBUCore is the most comprehensive and robust standard of metadata to describe media content ; his integration to MXF container was mandatory. Each EBUCore instance must be conformant with standard to be valid. So to keep conformity of an instance and hide EBUCore complexity to user, a computer assistance to generate properly an instance was the best solution. Basically, the EBUCore editor was designed to hide the deepness of standard to user and at the same time to allow anyone to visualise, edit and create conformant EBUCore instance without previous knowledges. In pair with the EBU-SDK, the EBUCore editor can copy, update, insert and remove EBUCore metadatas from and to an MXF file.

ST434 analyser

The ST434 analyser is an EBU-SDK's component. Currently, the analyser has not graphical interface nevertheless several functions are accessible from the EBUCore editor. The software development toolkit allows several kind of analysis and get back the results as XML files. All analyser features, as all EBU-SDK features, are designed and implemented by Limecraft BVBA.

MXF generator

The MXF file generator is based on LibMXF and libMXF++, an open C library for MXF and his C++ wrapper, together with the BMX toolbox of the BBC which allows to implement two models of the AMWA family for application specification (AS-02 and AS-11). Currently, the EBU-SDK is used to EBUCore metadata extraction and encapsulation in MXF files. The MXF file generator is yet highly experimental and amongst all possibilities supported by MXF standard, only few use cases can be considered as workable.The complexity of the standard and the relative youth of used libraries make progress harder for this tool.

EBU SDK

The EBU software development kit is designed by Limecraft BVBA since October 2011. The EBU-SDK was thinked as BMX in order to become an extension class of libMXF and libMXF++ dedicated to extract, encapsulate and remove an EBUCore metadata set presents into MXF container. It handles the metadata serialisation as KLV encoded but also as sidecar and dark partition. Limecraft began to implement ST434 analysis functions for MXF and EBUCore since September 2012.

Further

Currently, all operational patterns which should be supported by MXF container are yet not implemented or badly implemented. Even if we exploit the latest libraries, it is still hard to generate an other pattern than a simple MXF OP-1A or OP-Atom. But the benefits of MXF container on their market's concurrents become obvious with the others operational patterns specified into SMPTE 377M standard. In the short term, it will be necessary to extend libraries with new capabilities to enhance the MXF editor with support of all other operational patterns. These improvements will allow to provide rich and adaptative MXF files.

The dual nature of MXF container - it is at the same time an archiving and distribution format - shall allow to stream a part or all of the "essence" which is/are present in an MXF container. But to make it possible, "essences" shall be encoded and structured into an MXF file for such use. Some theoritical aspects are still unclear, and especially, aspects about the adaptative streaming and quality of service which require more experimentation and research.

Clone this wiki locally