SlideShare uma empresa Scribd logo
1 de 33
2012 EDM Metadata Workshop




Embedded metadata in MXF
    Dieter Van Rijsselbergen



        EBU, Geneve – 20/06/2012
Who are we?
Contents
•   Metadata exchanges?
•   Metadata in MXF
•   How to put metadata in MXF?
•   Putting EBUCore into MXF
•   EBU MXF SDK
•   EBU MXF SDK – Demo
•   EBU MXF SDK – Improvements & Community
Metadata exchanges?
• When exchanging audiovisual essence…
  – We must also exchange its identity,
    its context, its creators,….
  – i.e., the semantics
    behind the essence
  – in the form of
    metadata
Metadata exchanges?
• 2 ways to exchange metadata during the
  production and broadcasting process

• Out-of-band            • In-band /w essence
   – Centrally stored       – Tightly coupled and
   – Optimized for            doesn’t get lost
     metadata (search,      – Often optimized for
     augmentation, …)         essence storage
Metadata exchanges?
• Out-of-band is interesting within the facility
  – Metadata is quickly accessible
  – Metadata can be indexed, annotated, …
• Embedded metadata is interesting in B2B
  – Side-car metadata doesn’t get lost,
    doesn’t need a dedicated channel, …
  – E.g., news exchange scenarios
     • No more need for NewsML XML,
       just serialize it directly into the MXF file
Contents
•   Metadata exchanges?
•   Metadata in MXF
•   How to put metadata in MXF?
•   Putting EBUCore into MXF
•   EBU MXF SDK
•   EBU MXF SDK – Demo
•   EBU MXF SDK – Improvements & Community
Essence Exchange: MXF


• The Material Exchange Format is here to stay
• Standardized by SMPTE and EBU
• One of the most versatile, flexible and
  powerful container formats defined
  – Not sure there’s anything it can’t do…
  – But makes it complex and harder to use
Metadata in MXF


• MXF has become the de-facto standard for
  audiovisual material production and exchange
• Fortunately, it has significant support for
  embedded metadata
Metadata in MXF
• 2 kinds of metadata in MXF
  – Structural metadata
     • Defines the structure of the file
        – Track layout
        – Describes the essence,
          which tracks,
          which codecs and
          parameters per track
        – References to other/older files
Metadata in MXF
• 2 kinds of metadata in MXF
  – Descriptive metadata
     • Exchange of essence semantics
        – e.g., a continuity report
     • At its simplest,
       a means of identification
        – “let the descriptive metadata reference
          identifiers I use internally in my organisation”
     • This is the kinds we’re interested in!
Descriptive Metadata in MXF
• Standardized MXF descriptive metadata exists
  – Descriptive Metadata Scheme-1 (DMS-1)
     • Standardized as SMPTE 380M
     • Production characteristics, rights information,
       annotations, person and entity identification, …
     • Aligned with MPEG-7, TV-Anytime
  – Is DMS-1 being used for real?
     • Perhaps due to the fact that there is no DMS-1 notion
       outside of the MXF ecosystem?
        – Hard to obtain a viable and complete mapping
Descriptive Metadata in MXF
• Which other descriptive metadata are
  interesting to consider?
  – General identification and description: EBUCore
  – Format-specific descriptions: IPTC NewsML-G2
  – Acquisition metadata (state of the recording
    device): EBU Tech 3349
  – Feature detection results: AVDP profile of MPEG-7
Contents
•   Metadata exchanges?
•   Metadata in MXF
•   Putting EBUCore into MXF
•   How to put metadata in MXF?
•   EBU MXF SDK
•   EBU MXF SDK – Demo
•   EBU MXF SDK – Improvements & Community
How to put metadata in MXF?
• Structure of MXF files is KLV elements
  – Key to identify the kind of element
  – Length of the value that follows
  – Value of the element
               Key          Length               Value        ...
                                                               ...
                          BER-encoded
                          BER-encoded
             16 bytes
             16 bytes                         Length length
                                              Length length
                             length
                              length

  – KLV is for both essence and metadata
     • Typically, for essence a single frame per KLV
How to put metadata in MXF?
How to put metadata in MXF?
    • Use KLV to embed metadata
<?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>             Key        Length             Value
    </title>
    <alternativeTitle typeLabel="headline">                                        BER-encoded
                                                                                   BER-encoded
                                                                        16 bytes
                                                                        16 bytes                     Length length
                                                                                                     Length length
      <dc:title>Berlin Wall 50th</dc:title>                                           length
                                                                                       length
    </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>                                                                     Dump the document as a
    <description typeLink="EBUNMSDescription:dopesheet">
      <dc:description> The Berlin Wall (German: Berliner Mauer) was                    whole into the KLV value?
        a barrier constructed by the German Democratic Republic
        (GDR, East Germany) starting August 13, 1961, that completely                  Not the best approach…
        cut off West Berlin from surrounding East Germany…
How to put metadata in MXF?
      • On top of this raw KLV structure is a
        conceptual model
              – Elements can be grouped into
                logical metadata sets identified
                by a single key, i.e., “classes”
              – Logical metadata sets can be
                reconstructed by means of a dictionary
<Identification base="InterchangeObject" detail="Identification set" type="localSet" baseline="yes" key="06 0e 2b 34 02 53 01 01 0d 01 01 01 01 01 30 00">
  <ThisGenerationUID use="required" type="UUID" key="3c 09" globalKey="06 0e 2b 34 01 01 01 02 05 20 07 01 01 00 00 00"/>
  <CompanyName use="required" type="UTF16String" key="3c 01" globalKey="06 0e 2b 34 01 01 01 02 05 20 07 01 02 01 00 00"/>
  <ProductName use="required" type="UTF16String" key="3c 02" globalKey="06 0e 2b 34 01 01 01 02 05 20 07 01 03 01 00 00"/>
  <ProductVersion use="optional" type="ProductVersionType" key="3c 03" globalKey="06 0e 2b 34 01 01 01 02 05 20 07 01 04 00 00 00"/>
  <VersionString use="required" type="UTF16String" key="3c 04" globalKey="06 0e 2b 34 01 01 01 02 05 20 07 01 05 01 00 00"/>
  <ProductUID use="required" type="AUID" key="3c 05" globalKey="06 0e 2b 34 01 01 01 02 05 20 07 01 07 00 00 00"/>
  <ModificationDate detail use="required" type="Timestamp" key="3c 06" globalKey="06 0e 2b 34 01 01 01 02 07 02 01 10 02 03 00 00"/>
  <ToolkitVersion use="optional" type="ProductVersionType" key="3c 07" globalKey="06 0e 2b 34 01 01 01 02 05 20 07 01 0a 00 00 00"/>
  <Platform use="optional" type="UTF16String" key="3c 08" globalKey="06 0e 2b 34 01 01 01 02 05 20 07 01 06 01 00 00"/>
</Identification>
How to put metadata in MXF?
• On top of this raw KLV structure MXF defines
  a conceptual model
  – Metadata sets can reference other sets
  – Metadata set can be
    constructed as trees or graphs
How to put metadata in MXF?
• Don’t just throw the metadata in there
  – Link the descriptive metadata
    to the structural metadata




                       The DM Framework hooks
                          custom descriptive
                       metadata to (a part of ) the
                        MXF structural timeline
How to put metadata in MXF?
• KLV encoding + conceptual data model +
  timeline model



• MXF has a proper way of structuring
  metadata natively
  – Whenever we can, we should use it!
Contents
•   Metadata exchanges?
•   Material Exchange Format
•   How to put metadata in MXF?
•   Putting EBUCore into MXF
•   EBU MXF SDK
•   EBU MXF SDK – Demo
•   EBU MXF SDK – Improvements & Community
Putting EBUCore into MXF
• A case study in embedding MXF metadata and
  with practical merit
  – Embed an EBUCore XML document in MXF file
    using a proper KLV mapping and encoding
  – Build software that handles
    MXF container and
    its embedded
                                ITM504483
    EBUCore metadata             _EBUcore.
                                   XML

    as a whole
EBU MXF SDK
• 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 as free and open source software
     • First repository: https://github.com/Limecraft/bmx
EBU MXF SDK
• Based on BBC libraries
  libMXF, libMXF++ and bmx
  – Reference implementations for MXF app. specs.
     • AMWA AS-02 (Versioning) and
     • AMWA AS-11 (MXF for Contribution)
  – Written in C/C++
• Milestone #1
  – Mux and de-mux EBUCore metadata
    in MXF containers
EBU MXF SDK – Demuxing/Reading

                                         Compressed
                                          Compressed
                             Read           Compressed
                                            Audio            Decode        Audio
                            Indices           Audio
                                               Audio          Audio
                                           Samples                        Samples
                                             Samples
                                              Samples                                  Playback
     Read
  Partitions /                           Compressed
  Structural
                       Read Essence       Compressed
                                            Video
                                           Compressed        Decode        Video
   Metadata                                   Video           Video
                                           Frames
                                               Video                      Frames
                                             Frames
                                              Frames                                  Metadata
                                                            FFmpeg                    Display/
                             Read
                           Descriptive
                                                          (libavcodec)                Analysis
                           Metadata
                                                            Metadata                   EBU
                 MXF SDK                                   (EBU Core)               Player/GUI
                                                          MXF Analysis
                                                            Report

                                                         SMPTE 434 XML
                                                         Representation                (Files)
EBU MXF SDK – Wrapping/EBUCore
                        EBUCore                          EBUCore
                       XML Schema                      KLV Dictionary


                         XSD Code                        gen_classes
                         Generator                     Code Generator




                       Schema-based          Bi-        KLV-based
           EBUCore
                          EBUCore        directional       Compressed
                                                         EBUCore
                                                        Compressed
            Parser
                        object model      mapping             Audio
                                                       object model
                                                           Audio
 EBUCore                                                     Samples
                                                          Samples
Document
                                                         Structural
            Essence                                         Compressed
                                                         Metadata
                                                        Compressed
           Processor                                            Video    MUX
Essence                                                     Video
                                                               Frames
                                                           Frames
                                                           Other
            <<Other
                                                        KLV-based
           metadata
           parsers>>                                     metadata
                                                       object models



                                       MXF SDK
EBU MXF SDK – Demo
                 EBU Core
               KLV Dictionary



                                                    Standard MXF
ITM504483                                           KLV Dictionary
 _EBUcore.
   XML


MPEG-2 LG       MXF SDK                    mxflib
video.raw

PCM Audio
               raw2bmx                    mxfdump
  a0.raw
                                                     MXF Dump
PCM Audio                                             Report
  a1.raw

PCM Audio
  a2.raw                        playout

PCM Audio                         vlc
  a3.raw
Contents
•   Metadata exchanges?
•   Material Exchange Format
•   Metadata in MXF
•   Putting EBUCore into MXF
•   EBU MXF SDK
•   EBU MXF SDK – Demo
•   EBU MXF SDK – Improvements & Community
EBU MXF SDK – Improvements
• Input from the metadata community is
  welcomed and encouraged
• Experiment, use, and improve the existing
  code
  – Instructions on how to use, compile and embed in
    the coming weeks
MXF SDK – Metadata Improvements
• Implementation of 377-1 revision changes
  – Extension of Descriptive Metadata elements with
    grouping elements to aid identification of DM
    elements
• Foreign objects can be identified, but what
  about their semantics??
  – Can we store the dictionary in the MXF container?
     • Solution in proposed
       SMPTE 377-2 – KLV Encoded Extension Syntax
Conclusions
• In B2B exchanges of AV material, embedded
  metadata makes sense
• In MXF files custom descriptive metadata,
  modeled as a graph of metadata set classes, can
  be embedded
• As an example, we illustrated how we can map
  EBUCore to a KLV-encoded representation
• This reference implementation SDK, along with
  other MXF manipulation tools, is being released
  as open source software by EBU
Questions? Contact Us!




      • http://www.limecraft.com
     • http://twitter.com/limecraft
• dieter.vanrijsselbergen@limecraft.com

Mais conteúdo relacionado

Semelhante a Embedded metadata in MXF - EBUCore

C14 fiatifta dubai 2013, the mpeg-7 audiovisual description profile standar...
C14   fiatifta dubai 2013, the mpeg-7 audiovisual description profile standar...C14   fiatifta dubai 2013, the mpeg-7 audiovisual description profile standar...
C14 fiatifta dubai 2013, the mpeg-7 audiovisual description profile standar...FIAT/IFTA
 
28 h 264-avc_by_dhchang
28   h 264-avc_by_dhchang28   h 264-avc_by_dhchang
28 h 264-avc_by_dhchangBadri Patro
 
Pune-Cocoa: Blocks and GCD
Pune-Cocoa: Blocks and GCDPune-Cocoa: Blocks and GCD
Pune-Cocoa: Blocks and GCDPrashant Rane
 
Group presentation.pptx
Group presentation.pptxGroup presentation.pptx
Group presentation.pptxYonas D. Ebren
 
ECET 375 Success Begins/Newtonhelp.com
ECET 375 Success Begins/Newtonhelp.comECET 375 Success Begins/Newtonhelp.com
ECET 375 Success Begins/Newtonhelp.comledlang1
 
Future Media Production - on embedded metadata and semantic technologies
Future Media Production - on embedded metadata and semantic technologiesFuture Media Production - on embedded metadata and semantic technologies
Future Media Production - on embedded metadata and semantic technologiesMaarten Verwaest
 
SWIFT Standards developer kit tutorial December 2012
SWIFT Standards developer kit tutorial December 2012SWIFT Standards developer kit tutorial December 2012
SWIFT Standards developer kit tutorial December 2012Ed Dodds
 
Architectures and buildings
Architectures and buildingsArchitectures and buildings
Architectures and buildingsARCFIRE ICT
 
Indexator_oct2022.pdf
Indexator_oct2022.pdfIndexator_oct2022.pdf
Indexator_oct2022.pdfDaniel JACOB
 
SophiaConf2010 Présentation des Retours d'expériences de la Conférence du 08 ...
SophiaConf2010 Présentation des Retours d'expériences de la Conférence du 08 ...SophiaConf2010 Présentation des Retours d'expériences de la Conférence du 08 ...
SophiaConf2010 Présentation des Retours d'expériences de la Conférence du 08 ...TelecomValley
 
COMMitMDE'18: Eclipse Hawk: model repository querying as a service
COMMitMDE'18: Eclipse Hawk: model repository querying as a serviceCOMMitMDE'18: Eclipse Hawk: model repository querying as a service
COMMitMDE'18: Eclipse Hawk: model repository querying as a serviceAntonio García-Domínguez
 
Encoding and Designing for the Swift Poems Project
Encoding and Designing for the Swift Poems ProjectEncoding and Designing for the Swift Poems Project
Encoding and Designing for the Swift Poems ProjectJames Griffin
 
multimedia mpeg-7
multimedia mpeg-7multimedia mpeg-7
multimedia mpeg-7nil65
 
Searching BBC Rushes Using Semantic Web Techniques (TRECVID 2005)
Searching BBC Rushes Using Semantic Web Techniques (TRECVID 2005)Searching BBC Rushes Using Semantic Web Techniques (TRECVID 2005)
Searching BBC Rushes Using Semantic Web Techniques (TRECVID 2005)Bradley Allen
 
Technical Overview of Tezos
Technical Overview of TezosTechnical Overview of Tezos
Technical Overview of TezosTinaBregovi
 
Kafka 10000 feet view
Kafka 10000 feet viewKafka 10000 feet view
Kafka 10000 feet viewyounessx01
 

Semelhante a Embedded metadata in MXF - EBUCore (20)

MPEG-4-WWW.ppt
MPEG-4-WWW.pptMPEG-4-WWW.ppt
MPEG-4-WWW.ppt
 
C14 fiatifta dubai 2013, the mpeg-7 audiovisual description profile standar...
C14   fiatifta dubai 2013, the mpeg-7 audiovisual description profile standar...C14   fiatifta dubai 2013, the mpeg-7 audiovisual description profile standar...
C14 fiatifta dubai 2013, the mpeg-7 audiovisual description profile standar...
 
What is Matroska?
What is Matroska?What is Matroska?
What is Matroska?
 
28 h 264-avc_by_dhchang
28   h 264-avc_by_dhchang28   h 264-avc_by_dhchang
28 h 264-avc_by_dhchang
 
Pune-Cocoa: Blocks and GCD
Pune-Cocoa: Blocks and GCDPune-Cocoa: Blocks and GCD
Pune-Cocoa: Blocks and GCD
 
Group presentation.pptx
Group presentation.pptxGroup presentation.pptx
Group presentation.pptx
 
ECET 375 Success Begins/Newtonhelp.com
ECET 375 Success Begins/Newtonhelp.comECET 375 Success Begins/Newtonhelp.com
ECET 375 Success Begins/Newtonhelp.com
 
Future Media Production - on embedded metadata and semantic technologies
Future Media Production - on embedded metadata and semantic technologiesFuture Media Production - on embedded metadata and semantic technologies
Future Media Production - on embedded metadata and semantic technologies
 
CXL at OCP
CXL at OCPCXL at OCP
CXL at OCP
 
SWIFT Standards developer kit tutorial December 2012
SWIFT Standards developer kit tutorial December 2012SWIFT Standards developer kit tutorial December 2012
SWIFT Standards developer kit tutorial December 2012
 
Architectures and buildings
Architectures and buildingsArchitectures and buildings
Architectures and buildings
 
Indexator_oct2022.pdf
Indexator_oct2022.pdfIndexator_oct2022.pdf
Indexator_oct2022.pdf
 
SophiaConf2010 Présentation des Retours d'expériences de la Conférence du 08 ...
SophiaConf2010 Présentation des Retours d'expériences de la Conférence du 08 ...SophiaConf2010 Présentation des Retours d'expériences de la Conférence du 08 ...
SophiaConf2010 Présentation des Retours d'expériences de la Conférence du 08 ...
 
COMMitMDE'18: Eclipse Hawk: model repository querying as a service
COMMitMDE'18: Eclipse Hawk: model repository querying as a serviceCOMMitMDE'18: Eclipse Hawk: model repository querying as a service
COMMitMDE'18: Eclipse Hawk: model repository querying as a service
 
Encoding and Designing for the Swift Poems Project
Encoding and Designing for the Swift Poems ProjectEncoding and Designing for the Swift Poems Project
Encoding and Designing for the Swift Poems Project
 
multimedia mpeg-7
multimedia mpeg-7multimedia mpeg-7
multimedia mpeg-7
 
Searching BBC Rushes Using Semantic Web Techniques (TRECVID 2005)
Searching BBC Rushes Using Semantic Web Techniques (TRECVID 2005)Searching BBC Rushes Using Semantic Web Techniques (TRECVID 2005)
Searching BBC Rushes Using Semantic Web Techniques (TRECVID 2005)
 
A04840107
A04840107A04840107
A04840107
 
Technical Overview of Tezos
Technical Overview of TezosTechnical Overview of Tezos
Technical Overview of Tezos
 
Kafka 10000 feet view
Kafka 10000 feet viewKafka 10000 feet view
Kafka 10000 feet view
 

Último

Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Hy...
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Hy...Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Hy...
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Hy...Pooja Nehwal
 
Verified Trusted Call Girls Adugodi💘 9352852248 Good Looking standard Profil...
Verified Trusted Call Girls Adugodi💘 9352852248  Good Looking standard Profil...Verified Trusted Call Girls Adugodi💘 9352852248  Good Looking standard Profil...
Verified Trusted Call Girls Adugodi💘 9352852248 Good Looking standard Profil...kumaririma588
 
Tapestry Clothing Brands: Collapsing the Funnel
Tapestry Clothing Brands: Collapsing the FunnelTapestry Clothing Brands: Collapsing the Funnel
Tapestry Clothing Brands: Collapsing the Funneljen_giacalone
 
VVIP Pune Call Girls Hadapsar (7001035870) Pune Escorts Nearby with Complete ...
VVIP Pune Call Girls Hadapsar (7001035870) Pune Escorts Nearby with Complete ...VVIP Pune Call Girls Hadapsar (7001035870) Pune Escorts Nearby with Complete ...
VVIP Pune Call Girls Hadapsar (7001035870) Pune Escorts Nearby with Complete ...Call Girls in Nagpur High Profile
 
The_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdf
The_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdfThe_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdf
The_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdfAmirYakdi
 
The history of music videos a level presentation
The history of music videos a level presentationThe history of music videos a level presentation
The history of music videos a level presentationamedia6
 
Top Rated Pune Call Girls Saswad ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...
Top Rated  Pune Call Girls Saswad ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...Top Rated  Pune Call Girls Saswad ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...
Top Rated Pune Call Girls Saswad ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...Call Girls in Nagpur High Profile
 
Jigani Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bangal...
Jigani Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bangal...Jigani Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bangal...
Jigani Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bangal...amitlee9823
 
SD_The MATATAG Curriculum Training Design.pptx
SD_The MATATAG Curriculum Training Design.pptxSD_The MATATAG Curriculum Training Design.pptx
SD_The MATATAG Curriculum Training Design.pptxjanettecruzeiro1
 
call girls in Kaushambi (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
call girls in Kaushambi (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...call girls in Kaushambi (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
call girls in Kaushambi (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...Delhi Call girls
 
2-tool presenthdbdbdbdbddhdhddation.pptx
2-tool presenthdbdbdbdbddhdhddation.pptx2-tool presenthdbdbdbdbddhdhddation.pptx
2-tool presenthdbdbdbdbddhdhddation.pptxsuhanimunjal27
 
Booking open Available Pune Call Girls Nanded City 6297143586 Call Hot India...
Booking open Available Pune Call Girls Nanded City  6297143586 Call Hot India...Booking open Available Pune Call Girls Nanded City  6297143586 Call Hot India...
Booking open Available Pune Call Girls Nanded City 6297143586 Call Hot India...Call Girls in Nagpur High Profile
 
Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...amitlee9823
 
CALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun serviceCALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun serviceanilsa9823
 
Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)amitlee9823
 
AMBER GRAIN EMBROIDERY | Growing folklore elements | Root-based materials, w...
AMBER GRAIN EMBROIDERY | Growing folklore elements |  Root-based materials, w...AMBER GRAIN EMBROIDERY | Growing folklore elements |  Root-based materials, w...
AMBER GRAIN EMBROIDERY | Growing folklore elements | Root-based materials, w...BarusRa
 
Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...
Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...
Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...amitlee9823
 
Government polytechnic college-1.pptxabcd
Government polytechnic college-1.pptxabcdGovernment polytechnic college-1.pptxabcd
Government polytechnic college-1.pptxabcdshivubhavv
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756dollysharma2066
 
Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...
Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...
Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...babafaisel
 

Último (20)

Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Hy...
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Hy...Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Hy...
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Hy...
 
Verified Trusted Call Girls Adugodi💘 9352852248 Good Looking standard Profil...
Verified Trusted Call Girls Adugodi💘 9352852248  Good Looking standard Profil...Verified Trusted Call Girls Adugodi💘 9352852248  Good Looking standard Profil...
Verified Trusted Call Girls Adugodi💘 9352852248 Good Looking standard Profil...
 
Tapestry Clothing Brands: Collapsing the Funnel
Tapestry Clothing Brands: Collapsing the FunnelTapestry Clothing Brands: Collapsing the Funnel
Tapestry Clothing Brands: Collapsing the Funnel
 
VVIP Pune Call Girls Hadapsar (7001035870) Pune Escorts Nearby with Complete ...
VVIP Pune Call Girls Hadapsar (7001035870) Pune Escorts Nearby with Complete ...VVIP Pune Call Girls Hadapsar (7001035870) Pune Escorts Nearby with Complete ...
VVIP Pune Call Girls Hadapsar (7001035870) Pune Escorts Nearby with Complete ...
 
The_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdf
The_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdfThe_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdf
The_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdf
 
The history of music videos a level presentation
The history of music videos a level presentationThe history of music videos a level presentation
The history of music videos a level presentation
 
Top Rated Pune Call Girls Saswad ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...
Top Rated  Pune Call Girls Saswad ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...Top Rated  Pune Call Girls Saswad ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...
Top Rated Pune Call Girls Saswad ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...
 
Jigani Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bangal...
Jigani Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bangal...Jigani Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bangal...
Jigani Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bangal...
 
SD_The MATATAG Curriculum Training Design.pptx
SD_The MATATAG Curriculum Training Design.pptxSD_The MATATAG Curriculum Training Design.pptx
SD_The MATATAG Curriculum Training Design.pptx
 
call girls in Kaushambi (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
call girls in Kaushambi (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...call girls in Kaushambi (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
call girls in Kaushambi (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
 
2-tool presenthdbdbdbdbddhdhddation.pptx
2-tool presenthdbdbdbdbddhdhddation.pptx2-tool presenthdbdbdbdbddhdhddation.pptx
2-tool presenthdbdbdbdbddhdhddation.pptx
 
Booking open Available Pune Call Girls Nanded City 6297143586 Call Hot India...
Booking open Available Pune Call Girls Nanded City  6297143586 Call Hot India...Booking open Available Pune Call Girls Nanded City  6297143586 Call Hot India...
Booking open Available Pune Call Girls Nanded City 6297143586 Call Hot India...
 
Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
 
CALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun serviceCALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun service
 
Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)
 
AMBER GRAIN EMBROIDERY | Growing folklore elements | Root-based materials, w...
AMBER GRAIN EMBROIDERY | Growing folklore elements |  Root-based materials, w...AMBER GRAIN EMBROIDERY | Growing folklore elements |  Root-based materials, w...
AMBER GRAIN EMBROIDERY | Growing folklore elements | Root-based materials, w...
 
Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...
Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...
Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...
 
Government polytechnic college-1.pptxabcd
Government polytechnic college-1.pptxabcdGovernment polytechnic college-1.pptxabcd
Government polytechnic college-1.pptxabcd
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 
Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...
Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...
Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...
 

Embedded metadata in MXF - EBUCore

  • 1. 2012 EDM Metadata Workshop Embedded metadata in MXF Dieter Van Rijsselbergen EBU, Geneve – 20/06/2012
  • 3. Contents • Metadata exchanges? • Metadata in MXF • How to put metadata in MXF? • Putting EBUCore into MXF • EBU MXF SDK • EBU MXF SDK – Demo • EBU MXF SDK – Improvements & Community
  • 4. Metadata exchanges? • When exchanging audiovisual essence… – We must also exchange its identity, its context, its creators,…. – i.e., the semantics behind the essence – in the form of metadata
  • 5. Metadata exchanges? • 2 ways to exchange metadata during the production and broadcasting process • Out-of-band • In-band /w essence – Centrally stored – Tightly coupled and – Optimized for doesn’t get lost metadata (search, – Often optimized for augmentation, …) essence storage
  • 6. Metadata exchanges? • Out-of-band is interesting within the facility – Metadata is quickly accessible – Metadata can be indexed, annotated, … • Embedded metadata is interesting in B2B – Side-car metadata doesn’t get lost, doesn’t need a dedicated channel, … – E.g., news exchange scenarios • No more need for NewsML XML, just serialize it directly into the MXF file
  • 7. Contents • Metadata exchanges? • Metadata in MXF • How to put metadata in MXF? • Putting EBUCore into MXF • EBU MXF SDK • EBU MXF SDK – Demo • EBU MXF SDK – Improvements & Community
  • 8. Essence Exchange: MXF • The Material Exchange Format is here to stay • Standardized by SMPTE and EBU • One of the most versatile, flexible and powerful container formats defined – Not sure there’s anything it can’t do… – But makes it complex and harder to use
  • 9. Metadata in MXF • MXF has become the de-facto standard for audiovisual material production and exchange • Fortunately, it has significant support for embedded metadata
  • 10. Metadata in MXF • 2 kinds of metadata in MXF – Structural metadata • Defines the structure of the file – Track layout – Describes the essence, which tracks, which codecs and parameters per track – References to other/older files
  • 11. Metadata in MXF • 2 kinds of metadata in MXF – Descriptive metadata • Exchange of essence semantics – e.g., a continuity report • At its simplest, a means of identification – “let the descriptive metadata reference identifiers I use internally in my organisation” • This is the kinds we’re interested in!
  • 12. Descriptive Metadata in MXF • Standardized MXF descriptive metadata exists – Descriptive Metadata Scheme-1 (DMS-1) • Standardized as SMPTE 380M • Production characteristics, rights information, annotations, person and entity identification, … • Aligned with MPEG-7, TV-Anytime – Is DMS-1 being used for real? • Perhaps due to the fact that there is no DMS-1 notion outside of the MXF ecosystem? – Hard to obtain a viable and complete mapping
  • 13. Descriptive Metadata in MXF • Which other descriptive metadata are interesting to consider? – General identification and description: EBUCore – Format-specific descriptions: IPTC NewsML-G2 – Acquisition metadata (state of the recording device): EBU Tech 3349 – Feature detection results: AVDP profile of MPEG-7
  • 14. Contents • Metadata exchanges? • Metadata in MXF • Putting EBUCore into MXF • How to put metadata in MXF? • EBU MXF SDK • EBU MXF SDK – Demo • EBU MXF SDK – Improvements & Community
  • 15. How to put metadata in MXF? • Structure of MXF files is KLV elements – Key to identify the kind of element – Length of the value that follows – Value of the element Key Length Value ... ... BER-encoded BER-encoded 16 bytes 16 bytes Length length Length length length length – KLV is for both essence and metadata • Typically, for essence a single frame per KLV
  • 16. How to put metadata in MXF?
  • 17. How to put metadata in MXF? • Use KLV to embed metadata <?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> Key Length Value </title> <alternativeTitle typeLabel="headline"> BER-encoded BER-encoded 16 bytes 16 bytes Length length Length length <dc:title>Berlin Wall 50th</dc:title> length length </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> Dump the document as a <description typeLink="EBUNMSDescription:dopesheet"> <dc:description> The Berlin Wall (German: Berliner Mauer) was whole into the KLV value? a barrier constructed by the German Democratic Republic (GDR, East Germany) starting August 13, 1961, that completely Not the best approach… cut off West Berlin from surrounding East Germany…
  • 18. How to put metadata in MXF? • On top of this raw KLV structure is a conceptual model – Elements can be grouped into logical metadata sets identified by a single key, i.e., “classes” – Logical metadata sets can be reconstructed by means of a dictionary <Identification base="InterchangeObject" detail="Identification set" type="localSet" baseline="yes" key="06 0e 2b 34 02 53 01 01 0d 01 01 01 01 01 30 00"> <ThisGenerationUID use="required" type="UUID" key="3c 09" globalKey="06 0e 2b 34 01 01 01 02 05 20 07 01 01 00 00 00"/> <CompanyName use="required" type="UTF16String" key="3c 01" globalKey="06 0e 2b 34 01 01 01 02 05 20 07 01 02 01 00 00"/> <ProductName use="required" type="UTF16String" key="3c 02" globalKey="06 0e 2b 34 01 01 01 02 05 20 07 01 03 01 00 00"/> <ProductVersion use="optional" type="ProductVersionType" key="3c 03" globalKey="06 0e 2b 34 01 01 01 02 05 20 07 01 04 00 00 00"/> <VersionString use="required" type="UTF16String" key="3c 04" globalKey="06 0e 2b 34 01 01 01 02 05 20 07 01 05 01 00 00"/> <ProductUID use="required" type="AUID" key="3c 05" globalKey="06 0e 2b 34 01 01 01 02 05 20 07 01 07 00 00 00"/> <ModificationDate detail use="required" type="Timestamp" key="3c 06" globalKey="06 0e 2b 34 01 01 01 02 07 02 01 10 02 03 00 00"/> <ToolkitVersion use="optional" type="ProductVersionType" key="3c 07" globalKey="06 0e 2b 34 01 01 01 02 05 20 07 01 0a 00 00 00"/> <Platform use="optional" type="UTF16String" key="3c 08" globalKey="06 0e 2b 34 01 01 01 02 05 20 07 01 06 01 00 00"/> </Identification>
  • 19. How to put metadata in MXF? • On top of this raw KLV structure MXF defines a conceptual model – Metadata sets can reference other sets – Metadata set can be constructed as trees or graphs
  • 20. How to put metadata in MXF? • Don’t just throw the metadata in there – Link the descriptive metadata to the structural metadata The DM Framework hooks custom descriptive metadata to (a part of ) the MXF structural timeline
  • 21. How to put metadata in MXF? • KLV encoding + conceptual data model + timeline model • MXF has a proper way of structuring metadata natively – Whenever we can, we should use it!
  • 22. Contents • Metadata exchanges? • Material Exchange Format • How to put metadata in MXF? • Putting EBUCore into MXF • EBU MXF SDK • EBU MXF SDK – Demo • EBU MXF SDK – Improvements & Community
  • 23. Putting EBUCore into MXF • A case study in embedding MXF metadata and with practical merit – Embed an EBUCore XML document in MXF file using a proper KLV mapping and encoding – Build software that handles MXF container and its embedded ITM504483 EBUCore metadata _EBUcore. XML as a whole
  • 24. EBU MXF SDK • 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 as free and open source software • First repository: https://github.com/Limecraft/bmx
  • 25. EBU MXF SDK • Based on BBC libraries libMXF, libMXF++ and bmx – Reference implementations for MXF app. specs. • AMWA AS-02 (Versioning) and • AMWA AS-11 (MXF for Contribution) – Written in C/C++ • Milestone #1 – Mux and de-mux EBUCore metadata in MXF containers
  • 26. EBU MXF SDK – Demuxing/Reading Compressed Compressed Read Compressed Audio Decode Audio Indices Audio Audio Audio Samples Samples Samples Samples Playback Read Partitions / Compressed Structural Read Essence Compressed Video Compressed Decode Video Metadata Video Video Frames Video Frames Frames Frames Metadata FFmpeg Display/ Read Descriptive (libavcodec) Analysis Metadata Metadata EBU MXF SDK (EBU Core) Player/GUI MXF Analysis Report SMPTE 434 XML Representation (Files)
  • 27. EBU MXF SDK – Wrapping/EBUCore EBUCore EBUCore XML Schema KLV Dictionary XSD Code gen_classes Generator Code Generator Schema-based Bi- KLV-based EBUCore EBUCore directional Compressed EBUCore Compressed Parser object model mapping Audio object model Audio EBUCore Samples Samples Document Structural Essence Compressed Metadata Compressed Processor Video MUX Essence Video Frames Frames Other <<Other KLV-based metadata parsers>> metadata object models MXF SDK
  • 28. EBU MXF SDK – Demo EBU Core KLV Dictionary Standard MXF ITM504483 KLV Dictionary _EBUcore. XML MPEG-2 LG MXF SDK mxflib video.raw PCM Audio raw2bmx mxfdump a0.raw MXF Dump PCM Audio Report a1.raw PCM Audio a2.raw playout PCM Audio vlc a3.raw
  • 29. Contents • Metadata exchanges? • Material Exchange Format • Metadata in MXF • Putting EBUCore into MXF • EBU MXF SDK • EBU MXF SDK – Demo • EBU MXF SDK – Improvements & Community
  • 30. EBU MXF SDK – Improvements • Input from the metadata community is welcomed and encouraged • Experiment, use, and improve the existing code – Instructions on how to use, compile and embed in the coming weeks
  • 31. MXF SDK – Metadata Improvements • Implementation of 377-1 revision changes – Extension of Descriptive Metadata elements with grouping elements to aid identification of DM elements • Foreign objects can be identified, but what about their semantics?? – Can we store the dictionary in the MXF container? • Solution in proposed SMPTE 377-2 – KLV Encoded Extension Syntax
  • 32. Conclusions • In B2B exchanges of AV material, embedded metadata makes sense • In MXF files custom descriptive metadata, modeled as a graph of metadata set classes, can be embedded • As an example, we illustrated how we can map EBUCore to a KLV-encoded representation • This reference implementation SDK, along with other MXF manipulation tools, is being released as open source software by EBU
  • 33. Questions? Contact Us! • http://www.limecraft.com • http://twitter.com/limecraft • dieter.vanrijsselbergen@limecraft.com