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.