WHICH FILE CONTAINER?
• Material Exchange Format ( )
• Standardized in 2004
• By now the de facto standard of "
professional audio-visual file formats
• Many specifications and many features
• Structural Metadata…
2. METADATA "
TRANSFERS "
INTO THE ARCHIVE
Metadata
#FIATIFTADubai2013
D. V. Rijsselbergen; JP. Evain: “Tools for MXF-embeddded EBUcore metadata”
Replace
box
with
your
company
logo
3. METADATA TRANSFERS → ARCHIVE
• How to transfer Essence and its Metadata?
Out-of-band
delivery
Embedded
Archive
#FIATIFTADubai2013
D. V. Rijsselbergen; JP. Evain: “Tools for MXF-embeddded EBUcore metadata”
Replace
box
with
your
company
logo
4. METADATA TRANSFERS → ARCHIVE
Out-of-band delivery vs. Embedded delivery
Essence + Metadata
MXF + Metadata XML
Essence + Metadata
MXF ← Metadata
Delivery
Interpretation
(file01.mxf + file01.xml)
Delivery
Technology
(FTP)
#FIATIFTADubai2013
Delivery
Technology
(FTP)
D. V. Rijsselbergen; JP. Evain: “Tools for MXF-embeddded EBUcore metadata”
Replace
box
with
your
company
logo
5. WHICH FILE CONTAINER?
• Material Exchange Format (
)
• Standardized in 2004
• By now the de facto standard of "
professional audio-visual file formats
• Many specifications and many features
• Structural Metadata…
Links to all essence tracks (default)
Event
Start
Position
Duration
Links onl to sound tracks
y
Timecode Track
Picture Track
Sound Track 1
Sound Track 2
Data Track
Links onl to thepicture track
y
Virtual DM
Track
Edit unit
DM
Framework
DM
Framework
DM
Framework
DM
Segment 1
DM
… and Descriptive
Metadata! Segment 2
DM
Segment 3
#FIATIFTADubai2013
D. V. Rijsselbergen; JP. Evain: “Tools for MXF-embeddded EBUcore metadata”
Replace
box
with
your
company
logo
6. WHICH EMBEDDED METADATA?
• Descriptive Metadata for MXF exists
• E.g., Descriptive Metadata Scheme-1 (DMS-1)
• Production characteristics, rights information, annotations,
person and entity identification, …
• DMS-1 is barely being used for real
• Perhaps due to the fact that there is no DMS-1 notion outside of
the MXF ecosystem?
• Exchange is always using another standard (e.g, MPEG-7, TV
Anytime)
• Hard to obtain a viable and complete mapping or metadata authored
outside of MXF
#FIATIFTADubai2013
D. V. Rijsselbergen; JP. Evain: “Tools for MXF-embeddded EBUcore metadata”
Replace
box
with
your
company
logo
7. WHICH EMBEDDED METADATA?
• Alternatives?
• Use metadata that is used outside of MXF!
•
Core
• EBU’s extension of Dublin Core
• Metadata framework for descriptive and technical metadata
• about audiovisual assets
• for use
• in Service Oriented Architectures;
• in audio-visual ontologies for semantic web;
• and linked data developments
• Gaining traction and adoption"
with broadcasters and archives
• Native format is XML (defined by XML Schema)
#FIATIFTADubai2013
D. V. Rijsselbergen; JP. Evain: “Tools for MXF-embeddded EBUcore metadata”
Replace
box
with
your
company
logo
8. EMBEDDED EBUCORE METADATA?
• Embedding
Core worklfow
• Use XML authoring and processing tools for metadata creation…
• Directly or via transformation
• E.g., the MINT mapping tool
• …then place the EBUCore XML in the MXF container…
#FIATIFTADubai2013
D. V. Rijsselbergen; JP. Evain: “Tools for MXF-embeddded EBUcore metadata”
Replace
box
with
your
company
logo
9. EMBEDDING METADATA IN MXF?
• How?
• Translate EBUCore"
to the KLV structure"
of MXF somehow
<?xml
version="1.0"
encoding="UTF-‐8"?>
<ebuCoreMain
xmlns:xsi="http://www.w3.org/2001/XMLSchema-‐instance"
xmlns:dc=http://purl.org/dc/elements/1.1/
xmlns="urn:ebu:metadata-‐schema:ebuCore_2011"
xmlns:default=http://iptc.org/std/nar/2006-‐10-‐01/
xmlns:ebu=http://ebu.org/nar-‐extensions/
version="1.3"
dateLastModified="2011-‐01-‐31">
<coreMetadata>
<title>
<dc:title
xml:lang="fr-‐can">Berlin
Wall
50th</dc:title>
</title>
<alternativeTitle
typeLabel="headline">
<dc:title>Berlin
Wall
50th</dc:title>
</alternativeTitle>
<creator
entityId="EBUNMSSRVCodeSource:TBA"/>
<subject>
<dc:subject/>
<subjectCode>EBUNMSCategoryCode:EXCH</subjectCode>
</subject>
<subject>
<dc:subject>In
or
about
Europe
and
EU</dc:subject>
<subjectCode>EBUNMSWebcatCode:EUROPE</subjectCode>
</subject>
<description
typeLabel="pubStatus">
<dc:description>NMSStatusCode:TBC</dc:description>
</description>
<description
typeLink="EBUNMSDescription:dopesheet">
<dc:description>
The
Berlin
Wall
(German:
Berliner
Mauer)
was
a
barrier
constructed
by
the
German
Democratic
Republic
(GDR,
East
Germany)
starting
August
13,
1961,
that
completely
cut
off
West
Berlin
from
surrounding
East
Germany…
#FIATIFTADubai2013
Key
Length
Value
16
bytes
16
bytes
BER-‐encoded
BER-‐encoded
length
length
Length
llength
Length
ength
D. V. Rijsselbergen; JP. Evain: “Tools for MXF-embeddded EBUcore metadata”
Replace
box
with
your
company
logo
10. METADATA EMBEDDING STRATEGIES
File Header
Run
In
Header
Partition Pack
(optional)
File Body
Header
Metadata
Index
Table
Essence
Container
Body
Partition Pack
File Footer
Essence
Container
Footer
Partition Pack
Header
Metadata
Random
Index
(optional)
(optional)
(optional)
(optional)
KLV
DARK
KLV
#FIATIFTADubai2013
SIDE-CAR
D. V. Rijsselbergen; JP. Evain: “Tools for MXF-embeddded EBUcore metadata”
Replace
box
with
your
company
logo
11. METADATA EMBEDDING STRATEGIES
• Dark
+ Embedded in the MXF file, easier to extract"
(locate a single KLV element and read its contents)
- No interaction with the structural metadata
• KLV
+ Full interaction and relations with structural metadata,"
the MXF way
- More complex to implement and support
• Sidecar
+ Valid (but limited) interaction with MXF timeline
- No actual embedded metadata, "
requires an out-of-band delivery mechanism
#FIATIFTADubai2013
D. V. Rijsselbergen; JP. Evain: “Tools for MXF-embeddded EBUcore metadata”
Replace
box
with
your
company
logo
13. METADATA EMBEDDING STRATEGIES
• In case of KLV, a mapping is required between EBUCore XML and EBUCore
KLV
• This mapping and KLV representation have been submitted to SMPTE
• Will form a part of the official SMPTE Metadata Register
• As Class 13 Public User Organisation metadata
• Keys under 06.0E.2B.34.01.01.01.05.0D.02 are EBU’s
#FIATIFTADubai2013
D. V. Rijsselbergen; JP. Evain: “Tools for MXF-embeddded EBUcore metadata”
Replace
box
with
your
company
logo
14. TOOLS: EBUCORE MXF SDK
ebu2mxf.exe
raw2bmx.exe
mxf2ebu.exe
• In order to lower threshold of using "
EBUCore embedded metadata…
• Initiative by EBU to provide community with reliable"
and open-source software to manipulate MXF files
• Handle metadata
• Handle essence and work on conformity of MXF files
• Available at:
• Repository: https://github.com/Limecraft/ebu-mxfsdk
• Binaries: http://sourceforge.net/projects/ebu-mxfsdk
• Released under the Apache License 2.0
• Free & Open Source
• Use in non-commercial/commercial "
applications
Custom Tools and
System
Integrations
EBU MXF SDK
#FIATIFTADubai2013
D. V. Rijsselbergen; JP. Evain: “Tools for MXF-embeddded EBUcore metadata”
Replace
box
with
your
company
logo
15. TOOLS: EBUCORE MXF SDK
• Use of the SDK
• Command line tools included
• Use as-is for basic tasks
• Getting started quickly
• Use as a function library
• Build custom applications linked with the SDK
ebu2mxf.exe
raw2bmx.exe
mxf2ebu.exe
Custom Tools and
System
Integrations
EBU MXF SDK
#FIATIFTADubai2013
D. V. Rijsselbergen; JP. Evain: “Tools for MXF-embeddded EBUcore metadata”
Replace
box
with
your
company
logo
16. TOOLS: EBUCORE MXF SDK
ebu2mxf.exe
raw2bmx.exe
mxf2ebu.exe
• Example use of the SDK
• Put EBUCore metadata in MXF file
• Existing MXF file
• Specify input EBUCore XML file
• Pick a strategy (KLV default)
• Remove is also an option
Custom Tools and
System
Integrations
EBU MXF SDK
Usage: ebu2mxf <<options>> <filename>
Options:
-h
| --help Show usage and exit
-v | --version Print version info
-l <file> Log filename. Default log to stderr/stdout
-i Print file information to stdout
--ebu-core <file> Write embedded EBU Core metadata to file
--force-header Force metadata to be appended into the header
partition
--dark Write EBU Core metadata into a dark metadata set
--sidecar Write EBU Core metadata as a side-car reference
--remove Remove EBU Core metadata from the MXF file header metadata
#FIATIFTADubai2013
D. V. Rijsselbergen; JP. Evain: “Tools for MXF-embeddded EBUcore metadata”
Replace
box
with
your
company
logo
17. TOOLS: EBUCORE MXF SDK
ebu2mxf.exe
raw2bmx.exe
mxf2ebu.exe
• Example use of the SDK
• Take EBUCore metadata from MXF file
• Existing MXF file
• Specify output EBUCore XML file
• All serialization strategies are"
automatically evaluated
Custom Tools and
System
Integrations
EBU MXF SDK
Usage: mxf2ebu <<options>> <filename>
Options:
-h
| --help
Show usage and exit
-v | --version
-l <file>
-i
--ebu-core <file>
Print version info
Log filename. Default log to stderr/stdout
Print file information to stdout
Write embedded EBU Core metadata to file
#FIATIFTADubai2013
D. V. Rijsselbergen; JP. Evain: “Tools for MXF-embeddded EBUcore metadata”
Replace
box
with
your
company
logo
18. TOOLS: EBUCORE MXF SDK
ebu2mxf.exe
raw2bmx.exe
mxf2ebu.exe
• Example use of the SDK
• Assemble new MXF files with EBUCore
• Specify MXF flavor, essence "
and EBUCore XML file
Custom Tools and
System
Integrations
EBU MXF SDK
Usage: raw2bmx <<options>> [<<input options>> <input>]+
Options (* means option is required):
-h | --help
Show usage and exit
-v | --version
Print version info
-l <file>
Log filename. Default log to stderr/stdout
-t <type>
Clip type: as02, as11op1a, as11d10, op1a,
avid, d10, wave. Default is as02
…
EBU Core:
--ebu-core <name>
Parse and set EBU Core from <name>
…
#FIATIFTADubai2013
D. V. Rijsselbergen; JP. Evain: “Tools for MXF-embeddded EBUcore metadata”
Replace
box
with
your
company
logo
19. TOOLS: EBUCORE MXF SDK - PoC
• Example use of the SDK in a Proof-of-Concept demonstrator in Limecraft
Flow
Search
Application
Media Probing
«User»
Metadata Index
Feature
Detection
Retrieval
Application
mxf2ebu.exe
EBU MXF SDK
#FIATIFTADubai2013
Media
Repository
D. V. Rijsselbergen; JP. Evain: “Tools for MXF-embeddded EBUcore metadata”
Replace
box
with
your
company
logo
20. CONCLUSIONS
• There is a case for embedded metadata in archiving and media production
• Makes the delivery process easier
• MXF and EBUCore make an interesting combination
• Broad adoption of both standards
• There are various ways in which EBUCore"
can be embedded in MXF
• Advantages and disadvantages to each strategy
• EBU/Limecraft have built tools and an SDK to...
• Allow users to get started quickly and easily"
with using EBUCore in MXF files
• Experiment with various serialization strategies
• Use these tools in custom applications freely
• Please experiment:
• Repository: https://github.com/Limecraft/ebu-mxfsdk
• Binaries: http://sourceforge.net/projects/ebu-mxfsdk
#FIATIFTADubai2013
D. V. Rijsselbergen; JP. Evain: “Tools for MXF-embeddded EBUcore metadata”
Replace
box
with
your
company
logo