Références |
SMPTE 377-1 - MXF - File Format Specification Chapitre A.3 - Preface P114 |
Modèle KLV | Local Sets |
Universal Label |
06.0e.2b.34.02.53.01.01.0d.01.01.01.01.01.30.00 - Identification
|
Identification est la fiche d'identité du ou des créateurs du MXF.
Identification est l'endroit où va être stocké une multitude d'informations sur celui qui a créé ce MXF. Vous allez avoir surtout le nom du logiciel, de sa version, etc.
Même si la norme permet de créer plusieurs fiches d'identification, vous ne verrez normalement qu'un par MXF. Une fiche est créée pour chaque logiciel modifiant les métadonnées du MXF.
Voyons un exemple d'output :
╓───────────────────────────────────────────────────────────────────────────────
║ 3C0A - Instance ID ║ 81305bab.afdc40f3.8177385d.dddf0778
║ 3C09 - This Generation UID ║ e8bf954d.4fd74050.8ca9e71f.457d04aa
║ 3C01 - Company Name ║ WidgetCo
║ 3C02 - Product Name ║ asdcp-test
║ 3C03 - Product Version ║ 0.0.0.0.0
║ 3C04 - Version String ║ 2.12.2
║ 3C05 - Product UID ║ 7d836e16.37c74c22.b2e046a7.17e84f42
║ 3C06 - Modification Date ║ 2022-04-08 12:55:36.0000+00:00
║ 3C07 - ToolkitVersion ║ 2.12.2.27240.1
║ 3C08 - Platform ║ Unix
╙───────────────────────────────────────────────────────────────────────────────
This Generation UID : en gros, c'est un UUID qui doit changer à chaque modification du MXF.
Les autres métadonnées (Company, Product, Version, Toolkit, Platform) sont des informations sur le logiciel qui a généré ou manipulé le MXF.
Une note sur Product Version, chaque partie indique une donnée : numéro majeur, mineur, tertiaire, numéro du patch et numéro de la release. Le numéro de release est normée et son chiffre correspond à un statut particulier :
Identification est de type Local Set, nous avons déjà étudié son parsing dans la Preface
Nous n'allons étudier ici que le type de données "chaînes de caractères" (String) qui composent les items comme Company Name, Product Name, Version String ou Platform.
Voici un exemple de données brutes :
3c0a001081305babafdc40f38177385ddddf07783c090010e8bf954d4fd740508ca9e71f457d
04aa3c0100100057006900640067006500740043006f3c02001400610073006400630070002d
00740065007300743c03000a000000000000000000003c04000c0032002e00310032002e0032
3c0500107d836e1637c74c22b2e046a717e84f423c06000807e604080c3724003c07000a0002
000c00026a6800013c080032007800380036005f00360034002d006100700070006c0065002d
00640061007200770069006e00310035002e0036002e0030
Pour comprendre, prenons Company Name (3C01) :
Son encodage est en UTF-16, cela veut dire un encodage des caractères sous 16 bits (2 octets).
Un exemple de conversion en Python d'Unicode UTF-16 :
# u = unicode
print(u'\u0057\u0069\u0064\u0067\u0065\u0074\u0043\u006f')
'WidgetCo'
Vous pouvez tester avec un convertisseur en ligne UTF-16 / UTF-8.
Local Tag | Nom de l'attribut | Type | Taille (*) | Fixe/Variable SMPTE | Obligatoire |
---|---|---|---|---|---|
3C0A | Instance UID | UID | 16 octets | Fixe | Obligatoire |
3C09 | This Generation UID | UID | 16 octets | Fixe | Obligatoire |
3C01 | Company Name | String UTF-16 | xx octets | Variable | Obligatoire |
3C03 | Product Version | ProductVersion | 10 octets | Fixe | Optionnel |
3C04 | Version String | String UTF-16 | Variable | Variable | Obligatoire |
3C05 | Product UID | UUID | 16 octets | Fixe | Obligatoire |
3C06 | Modification Date | Timestamp | 8 octets | Fixe | Obligatoire |
3C07 | Toolkit Version | ProductVersion | 10 octets | Fixe | Optionnel |
3C08 | Platform | String UTF-16 | xx octets | Variable | Optionnel |
Pour les types étranges :
Interchange Object → Identification
UL = 06.0E.2B.34.02.53.01.vv.0D.01.01.01.01.01.30.00
^^------------------------------ Item Designator : Organizationally registered
^^--------------------------- Organization : AAF
^^------------------------ Application : MXF / AAF Association Structural Metadata Sets
^^--------------------- Structure Version : Structure Version 1
^^------------------ Structure Kind : MXF / AAF Association compatible sets and packs
^^--------------- MXF Set Definition : Identification
^^------------ MXF Set Definition : Identification