MXF Technical Metadata Extractor
Transcript
MXF Technical Metadata Extractor
MXF Technical Metadata Extractor Sviluppato da RAI in ambito al progetto finanziato europero PrestoPrime, è un componente software reso disponibile come open-source sotto licenza GPL v3. E’ scritto in linguaggio Java ed è reso disponibile sia come libreria JAR, sia come codice sorgente all’interno di un progetto Eclipse. Descrizione MXF Technical Metadata Extractor è stato progettato per estrarre dall’Header di un generico file MXF, un insieme di metadati tecnici che sono stati identificati come rilevanti nell’ambito dell’archiviazione a lungo termine. In Tabella1 è riportato l’elenco dettagliato dei metadati estratti. Nome Attributi d10 Esempio xdcam esempio note Valori valori OperationalPattern OP1a PartitionPack Header Partition: Closed and Complete OP1a Header Partition: Closed and Complete EssenceContainers D10 Mapping EditRate Duration 25:1 n MPEG ES Mapping, AES-BMF Mapping, Generic Essence Multiple Mappings 25:1 n FrameLayout 1 1 FrameLayoutName SEPARATE_FIELDS SEPARATE_FIELDS AspectRatio 4:3 16:9 ActiveFormatDescriptor null null StoredWidth SampledWidth DisplayWidth SampledXOffset DisplayXOffset StoredHeight SampledHeight SampledYOffset DisplayHeight DisplayYOffset VideoActiveLinesPerFrame 720 720 720 0 0 304 304 0 288 16 576 1920 1920 1920 0 0 544 540 0 540 0 1080 vedi smpte377 Indica il tipo di partizione ed il suo stato. Il tipo di partizione dovrebbe essere “Header”. Se lo stato è “Closed and Complete” la durata del file dovrebbe essere presente e correttamente valorizzata Lista di Essence container mapping, separati da virgola Frame rate numero di edit unit (frame) integer smpte coding, se >0 ci sono 2 video fields la decodifica del dato precedente codifica smpte per conoscere come presentare correttamente l’immagine in relazione al formato dello schermo quando l’aspect ratio non è in accordo in pixels Si riferisce al singolo field, in linee =DisplayHeigth * Number Of HorizontalSubsampling VerticalSubsampling 2 1 2 1 ComponentDepth 8 8 PictureEssenceCoding 06 0e 2b 34…. 06 0e 2b 34…. AudioSamplingRate 48000:1 48000:1 AudioChannelCount 8 8 AudioQuantizationBits 16 24 Fields subsampling delle componenti differenza colore numero di bit per ciascun campione video smpte universal label della codifica video numero totale dei canali audio indipendentemente da come siano inpaccati smpte universal label della codifica audio. Solitamente null SoundEssenceCoding null null in quanto audio in D10 è non compresso Table 1 – Insieme dei metadati tecnici estratti dal file MXF Specifica dell’interfaccia L’interfaccia Java specifica i seguenti metodi all’interno del package eu.prestoprime.mxftools.api: getSupportedAttributeNames() o input: none o output: List of String, sono i nomi degli attributi che possono essere estratti o description: restituisce la lista dei nomi degli attributi che possono essere estratti getAttributeByName(String) o input: String, il nome del singolo attributo o ouput: String, il valore dell’attributo (sempre come tipo String) o description: restituisce il valore di un singolo attributo attingendo alla mappa di attributi gestita internamente. Se l’attributo non esiste restituice la stringa “null”. extract(String) o input: String, il path completo del file MXF, il cui header sarà analizzato o output: none o description: apre il file MXF, carica e analizza l’header registrando i valori dei diversi attributi nella mappa attributi gestita internamente. Esempio di utilizzo Il tipico utilizzo prevede la sequenza: extract(mxffilename); foreach attributename in getSupportedAttributeNames(); { value=getAttributeByName(attributename); yourprocess(attributename, value); } Download E’ costituito da un archivio jar che contiene il compilato bytecode, i sorgenti e la documentazione in formato javadoc.