Source Clip

Références SMPTE 377-1-2011 - MXF - File Format Specification
Chapitre Source Clip P122
Chapitre Source Clip - Picture P126
Chapitre Source Clip - Sound P127
Chapitre Source Clip - Data P128
Modèle KLV Local Sets
Universal Label
06.0e.2b.34.02.53.01.01.0d.01.01.01.01.01.11.00 - Source Clip

Préface

SourceClip

Le Source Clip est un enfant d'un KLV Sequence, présent dans chaque Package :

Source Clip est utilisé pour les MXF Video et Audio. Il n'existe donc pas de Source Clip sur un MXF de sous-titres (remplacé par des Descriptive Metadata Segment).

Les métadonnées

Voici un exemple d'interprétation d'un Source Clip.

Dans la partie Material Package :

╓────────────────────────────────────────────────────────────────────────────────────────────────────────────────
║   3C0A - Instance UID         ║  904cc9e3.ad1f47ef.87d5d409.0104e8e1
║   0201 - Data Definition      ║  060e2b34.04010101.01030202.01000000 (Picture Essence Track)
║   0202 - Duration             ║  1
║   1201 - Start Position       ║  0
║   1101 - SourcePackageID      ║  UL       : 060a2b34.01010105.01010f20
║                               ║  Length   : 13 (Basic UMID Format)
║                               ║  Instance : 000000
║                               ║  Materiel : 89af85f0.4a1545ec.8a769008.829b2029
║   1102 - SourceTrackID        ║  2
╙────────────────────────────────────────────────────────────────────────────────────────────────────────────────

Et dans la partie Package Source :

╓────────────────────────────────────────────────────────────────────────────────────────────────────────────────
║   3C0A - Instance UID         ║  cca28361.82d049f0.a685a683.46bba614
║   0201 - Data Definition      ║  060e2b34.04010101.01030202.01000000 (Picture Essence Track)
║   0202 - Duration             ║  1
║   1201 - Start Position       ║  0
║   1101 - SourcePackageID      ║  UL       : 00000000.00000000.00000000
║                               ║  Length   : 00 (Unknown UMID Format)
║                               ║  Instance : 000000
║                               ║  Materiel : 00000000.00000000.00000000.00000000
║   1102 - SourceTrackID        ║  0
╙────────────────────────────────────────────────────────────────────────────────────────────────────────────────

Data Definition a déjà été étudié dans Sequence. Pour rappel, il est l'identifiant du type de données dans ce Set.

Duration également vu Sequence, c'est la durée en seconde.

Start Position est la position relative de démarrage de la timeline. Il sera toujours à 0.

SourcePackageID du Material Package fait référence à l'autre package Source Package via son Package ID :

SourceTrackID fait référence à son grand-parent Track, par exemple, Timeline Track via son TrackID.

Par exemple, dans le premier SourceClip, nous voyons un SourceTrackID à 2, si nous regardons sa Timeline Track parente :

╓──── Timeline Track #2 ─────────────────────────────────────────────────── ║ 3C0A - Instance ID ║ cdddf8d1.99104345.8552a513.56e8025f ║ 4801 - Track ID ║ 2 ║ 4804 - Track Number ║ 0 ║ 4802 - Track Name ║ Picture Track ║ 4803 - Sequence ║ 26be6965.2e49401a.9403760e.698fbb80 ║ 4B01 - Edit Rate ║ 24/1 ║ 4B02 - Origin ║ 0 ╙──────────────────────────────────────────────────────────────────────────

Nous voyons bien un Track ID à 2

Si SourceTrackID est à 0, alors cela montre une terminaison dans la chaîne.

Les données brutes du KLV

Voir l'étude du parsing d'un KLV Local Set dans Preface, nous avons déjà tout vu, avec en complément :

Voici un exemple de données brutes (1er Sequence) au format hexadécimal avec un code couleur pour les différentes parties :

3c0a0010904cc9e3ad1f47ef87d5d4090104e8e102010010060e2b3404010101010302020100 000002020008000000000000000112010008000000000000000011010020060a2b3401010105 01010f201300000089af85f04a1545ec8a769008829b20291102000400000002

Structures des données

Local Tag Nom de l'attribut Type Taille (*) Fixe/Variable SMPTE Obligatoire
3C0A Instance ID UUID 16 octets Fixe Oui
0201 Data Definition UUID (UL) 16 octets Fixe Oui
0202 Duration uint64 8 octets Fixe Non
1201 Start Position int64 (1) 8 octets Fixe Oui
1101 SourcePackageID UMID 32 octets Fixe Oui
1102 SourceTrackID uint32 4 octets Fixe Oui

(*) N'oubliez pas que les tailles sont purement indicatives car elles sont dynamiques et non fixes et dépendent des Length de chaque item. Notez cependant que la documentation SMPTE peut définir malgré tout certains items avec une valeur fixe, regardez dans la colonne Fixe/Variable SMPTE qui indique si la taille a été normée.

(1) Ce n'est pas uint64 car le nombre peut-être négatif dans certaines occasions (mais jamais pour indiquer une taille ou une durée)

Hiérarchie du format

Interchange ObjectStructural ComponentSource Clip

Etude rapide de l'Universal Label de SourceClip

UL = 06.0E.2B.34.02.53.01.vv.0D.01.01.01.01.01.11.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 : Source Clip
                                               ^^------------ MXF Set Definition : Source Clip