Menu

AAF AS05 with external MXF files

Help
mszaferski
2012-06-21
2015-03-07
  • mszaferski

    mszaferski - 2012-06-21

    Hi all,

    I try to create some kind of AAF AS05  reference file pointing to existing MXF OPatom files (video + audio).

    I started with ExportAS05Effects and ExportVC3 projects. The problem is with essence. As I understund I shouldn't use CreateEssence interface on SourceMob because I have existing MXF files with wrapped essence. I don't want to rewrap essence only point to it. Is there any example of that case?

    The question is how to achive something like this :

    Object of Class: SourceMob
    MobID: (MobIDType){ {0x6,0xa,0x2b,0x34,0x1,0x1,0x1,0x1,0x1,0x1,0xf,0x0}0x13, 0x0, 0x0, 0x0, { 0x4fe1853f, 0xa379, 0x0ae0, { 0x6, 0xe, 0x2b, 0x34, 0x7f, 0x7f, 0x2a, 0x80 } } }
    Name: (aafString)"Video file"
    Slots: (kAAFTypeID_MobSlotStrongReferenceVector)Strong Object Reference Array [1] of MobSlot
     kAAFTypeID_MobSlotStrongReferenceVector [0]: (kAAFTypeID_MobSlotStrongReference)
       Object of Class: TimelineMobSlot
       SlotID: (aafUInt32)1
       SlotName: (aafString)"V1"
       Segment: (kAAFTypeID_SegmentStrongReference)
         Object of Class: SourceClip
         DataDefinition: DataDef_Picture
         Length: (aafLengthType)(aafInt64)186
         SourceID: (MobIDType){ {0x6,0xa,0x2b,0x34,0x1,0x1,0x1,0x1,0x1,0x1,0xf,0x0}0x13, 0x0, 0x0, 0x0, { 0x4fe18611, 0xd690, 0x0ae3, { 0x6, 0xe, 0x2b, 0x34, 0x7f, 0x7f, 0x2a, 0x80 } } }
         SourceMobSlotID: (aafUInt32)1
         StartTime: (aafPositionType)(aafInt64)0
       PhysicalTrackNumber: (aafUInt32)1
       EditRate: (Rational){ 25/1 }
       Origin: (aafPositionType)(aafInt64)0
    LastModified: (TimeStamp)Jun 20, 2012 8:13:05.00 GMT
    CreationTime: (TimeStamp)Jun 20, 2012 8:13:05.00 GMT
    EssenceDescription: (kAAFTypeID_EssenceDescriptorStrongReference)
      Object of Class: CDCIDescriptor
      Locator: (kAAFTypeID_LocatorStrongReferenceVector)Strong Object Reference Array [1] of Locator
       kAAFTypeID_LocatorStrongReferenceVector [0]: (kAAFTypeID_LocatorStrongReference)
         Object of Class: NetworkLocator
         URLString: (aafString)"\\?\C:\OVS_export\VS\vsWrapper\test\out_win\vsWrapper_0.7.0_MXF_OPATOM_DVCPRO_HD_1080i50_8b_16x9_115_AudioIn(MONO)_AudioOut(MONO)__sub1_v1.mxf"
      SampleRate: (Rational){ 25/1 }
      Length: (aafLengthType)(aafInt64)186
      ContainerFormat: (ContainerDefinitionWeakReference)ContainerDef_AAFKLV
      CodecDefinition: CDCI
      Compression: (AUID){ 0x04010202, 0x0201, 0x0200, { 0x6, 0xe, 0x2b, 0x34, 0x4, 0x1, 0x1, 0x1 } }
      StoredHeight: (aafUInt32)540
      StoredWidth: (aafUInt32)1440
      SampledHeight: (aafUInt32)540
      SampledWidth: (aafUInt32)1440
      SampledXOffset: (aafInt32)0
      SampledYOffset: (aafInt32)0
      DisplayHeight: (aafUInt32)540
      DisplayWidth: (aafUInt32)1440
      DisplayXOffset: (aafInt32)0
      DisplayYOffset: (aafInt32)0
      FrameLayout: (LayoutType)SeparateFields
      VideoLineMap: (aafInt32Array)variably-sized array [0x2]:
       [0]: (aafInt32)21   [1]: (aafInt32)584
      ImageAspectRatio: (Rational){ 16/9 }
      ComponentWidth: (aafUInt32)8
      HorizontalSubsampling: (aafUInt32)2
      VerticalSubsampling: (aafUInt32)1
    

    for now I have got only something like this:

    Object of Class: SourceMob
    MobID: (MobIDType){ {0x6,0xa,0x2b,0x34,0x1,0x1,0x1,0x1,0x1,0x1,0xf,0x0}0x13, 0x0, 0x0, 0x0, { 0x4fe1c54e, 0xde1c, 0x0bda, { 0x6, 0xe, 0x2b, 0x34, 0x7f, 0x7f, 0x2a, 0x80 } } }
    Name: (aafString)"source"
    Slots: (kAAFTypeID_MobSlotStrongReferenceVector)Strong Object Reference Array [2] of MobSlot
     kAAFTypeID_MobSlotStrongReferenceVector [0]: (kAAFTypeID_MobSlotStrongReference)
       Object of Class: TimelineMobSlot
       SlotID: (aafUInt32)1
       SlotName: (aafString)"Video"
       Segment: (kAAFTypeID_SegmentStrongReference)
         Object of Class: SourceClip
         DataDefinition: DataDef_Picture
         Length: (aafLengthType)(aafInt64)10
         SourceID: (MobIDType){ {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0}0x0, 0x0, 0x0, 0x0, { 0x00000000, 0x0000, 0x0000, { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 } } }
         SourceMobSlotID: (aafUInt32)0
         StartTime: (aafPositionType)(aafInt64)0
       PhysicalTrackNumber: (aafUInt32)1
       EditRate: (Rational){ 25/1 }
       Origin: (aafPositionType)(aafInt64)0
     kAAFTypeID_MobSlotStrongReferenceVector [1]: (kAAFTypeID_MobSlotStrongReference)
       Object of Class: TimelineMobSlot
       SlotID: (aafUInt32)2
       SlotName: (aafString)"Timecode"
       Segment: (kAAFTypeID_SegmentStrongReference)
         Object of Class: Timecode
         DataDefinition: DataDef_Timecode
         Length: (aafLengthType)(aafInt64)10
         Start: (aafPositionType)(aafInt64)0
         FPS: (aafUInt16)25
         Drop: (Boolean)False
       PhysicalTrackNumber: (aafUInt32)1
       EditRate: (Rational){ 25/1 }
       Origin: (aafPositionType)(aafInt64)0
    LastModified: (TimeStamp)Jun 20, 2012 12:42:54.00 GMT
    CreationTime: (TimeStamp)Jun 20, 2012 12:42:54.00 GMT
    EssenceDescription: (kAAFTypeID_EssenceDescriptorStrongReference)
      Object of Class: CDCIDescriptor
      Locator: (kAAFTypeID_LocatorStrongReferenceVector)Strong Object Reference Array [1] of Locator
       kAAFTypeID_LocatorStrongReferenceVector [0]: (kAAFTypeID_LocatorStrongReference)
         Object of Class: NetworkLocator
         URLString: (aafString)"\\?\C:\OVS_export\VS\vsWrapper\test\out_win\vsWrapper_0.7.0_MXF_OPATOM_DVCPRO_HD_1080i50_8b_16x9_115_AudioIn(MONO)_AudioOut(MONO)__sub1_v1.mxf"
    

    There are missing codec properties.

    Best Regards,
    Marcin

     
  • dbk3r

    dbk3r - 2015-03-07

    do you like to share your code?
    looking for a cmd tool to create an aaf which refences existing OPAtom-MXF Files.

    Thanx
    Denis

     

Log in to post a comment.