OpenTimelineIO
OpenTimelineIO copied to clipboard
AAF Reader: Sequence with nested scopes unable to be reconstructed
Now that we are able to process an AAF containing nested sequences and start analysing the resulting OTIO, I've come across this first issue, which is a pretty big one really.
The clip inside the sequence that has been exported simply has the following information:
"OTIO_SCHEMA": "Clip.1",
"effects": [],
"markers": [],
"media_reference": {
"OTIO_SCHEMA": "MissingReference.1",
"available_range": null,
"metadata": {},
"name": null
},
"metadata": {
"AAF": {
"ClassName": "SourceClip",
"DataDefinition": {
"Description": "Picture data",
"Identification": "01030202-0100-0000-060e-2b3404010101",
"Name": "DataDef_Picture"
},
"Length": 120,
"Name": "SourceClip Missing Mob?",
"SourceID": "urn:smpte:umid:00000000.00000000.00000000.00000000.00000000.00000000.00000000.00000000",
"SourceMobSlotID": 0,
"StartTime": 0
}
},
"name": "SourceClip Missing Mob?",
"source_range": null
There is clearly an issue, what with the name showing up as "SourceClip Missing Mob?" so worth looking in to what's happening there. Inspecting the OTIO object itself, the two nested sequences in question are present, existing as their own Timeline structures inside a top-level SerializableCollection structure, which would make it possible to parse and recreate, but without any info in the main timeline's clip, this obviously isn't able to be done.
Given the way that this nested structure is exported out to AAF, is it possible for it to be treated the same way as with a nested XML e.g. each nested scope existing as a Stack on a Track and having it's own internal hierarchy going down the levels?
Zip attached with example AAF & XML:
Confirming that I can repro this error.
I don't believe that this is related to nesting or having a nested scope. It looks like the raw AAF file itself has three clips in the CompositionMob that have no Mob. So, from that perspective, the code is doing the right thing - the three clips themselves have no Mob, so OTIO says so and moves on.
In fact, I tried opening this AAF file as-is in Avid and seemed to run into an error. (While I obviously don't have the media, I was at least expecting unlinked clips to show up on the timeline). Avid throws this error and doesn't open the composition. I'm not sure what OTIO can do here. :slightly_frowning_face:

Hey @freesonluxo,
Thanks very much for looking in to this. I've had some time to circle back around to some of this stuff again this afternoon and it's looking like you are in fact correct.
It is only AAFs from Premiere that contain nested sequences that I'm seeing this different structure and issue of a "SourceClip Missing Mob?" name.
Upon further inspection with Premiere, and staying only within Premiere's ecosystem, I'm actually finding that not even Premiere itself can import its own AAF correctly to reconstruct the timeline with the nested sequence present. Something that will need to be addressed by Adobe, if it's an issue they're not already aware of.
Was media composer able to correctly read the AAF with that structure?
@andrewmoore-nz just pinging this issue ^
Hey @ssteinbach / @freesonluxo ,
Apologies... haven't been able to look at this stuff again until today. I haven't been able to test my most recent specific file in Media Composer (that's giving me the issue in Premiere), but it was the exact some process/scenario as the file I've attached above, so if MC was unable to open that one, it's likely that my new test AAF will give the same result. I'll try and open it on our machine that has MC when I'm back in the office on Monday.
Have been able to try this in Media Composer just now and it did a better job of opening at than I expected. There was quite a few errors/warning when importing the file but it did get to the point where the full sequence was on the timeline. Unlike Premiere, a clip did appear on the timeline at the correct spot where the nested sequence was supposed to be, however there was no further information with it... not nested structure that could be investigated.
I think this one should be fixed by https://github.com/OpenTimelineIO/otio-aaf-adapter/pull/44