AAF processing

Questions and answers on how to get the most out of FFAStrans
emcodem
Posts: 419
Joined: Wed Sep 19, 2018 8:11 am

Re: AAF processing

Post by emcodem » Fri Oct 04, 2019 2:00 pm

@ghatis you are the best, thanks!

@nknuelle
yeah, the problem is that you need a lot of testing i guess - and each test could break something in your interplay ;-)
however, let's try to get to the bottom. In your works and dontwork example, there is a huge difference: the dontwork does not have any networklocator properties. Did you recognize this? So the next step is clear: get a "dontwork" example that actually carries network locators. If it still don't work, the next step is to get a works and dontwork example that actually link to the same file and if possible only one file (video only).


createaaf.exe sure works with unc paths, the only requirement is that you need to have access to the files on the machine that runs createaaf.exe.
test like this:

Code: Select all

"c:\temp\createaaf (1).exe" "\\localhost\c$\temp\out_v1.mxf" 
It will create an aaf file at the location where the first input file is.

emcodem
Posts: 419
Joined: Wed Sep 19, 2018 8:11 am

Re: AAF processing

Post by emcodem » Fri Oct 04, 2019 9:31 pm

hey @ghatis ..the aaf you uploaded, after importing to mcp, lots of stuff appears in the bin but no timeline is opened. also i am not able to find a sequence in the bin. Do i make any mistake here or are these just huge aaf but don't contain a sequence?

nknuelle
Posts: 12
Joined: Mon Jul 01, 2019 4:39 pm

Re: AAF processing

Post by nknuelle » Sat Oct 05, 2019 6:18 pm

emcodem wrote:
Fri Oct 04, 2019 2:00 pm

@nknuelle
yeah, the problem is that you need a lot of testing i guess - and each test could break something in your interplay ;-)
however, let's try to get to the bottom. In your works and dontwork example, there is a huge difference: the dontwork does not have any networklocator properties. Did you recognize this? So the next step is clear: get a "dontwork" example that actually carries network locators. If it still don't work, the next step is to get a works and dontwork example that actually link to the same file and if possible only one file (video only).


createaaf.exe sure works with unc paths, the only requirement is that you need to have access to the files on the machine that runs createaaf.exe.
test like this:

Code: Select all

"c:\temp\createaaf (1).exe" "\\localhost\c$\temp\out_v1.mxf" 
It will create an aaf file at the location where the first input file is.
Hey again,

@emcodem
How did you find out that it misses a network locator? Which tool did you use to examine the AAF files? I already tried to compare them with OpenMcdf but missed that difference. Because I only used the included link_to_external_mxf method from pyaaf2 I am now struggling how to "add" those network locators. But this can be the main problem: Because the linked mxf files are on a network share - so maybe this is the problem why Interplay only recognizes these assets partly..

The createaaf tool still not works for me with a network share. I have access to the files from the same machine I am using the program. No output. No aaf in the network share directory.. If I copy those files onto the desktop everything is working fine. I tried it with "path" and 'path'. There is one strange behaviour: If I use createaaf.exe "\\some\network\path" I get an error: No required argument for FILES or FOLDERS....?

Am I right that the program should scan all files inside a folder or do I need to add every file by name?

momocampo
Posts: 349
Joined: Thu Jun 08, 2017 12:36 pm
Location: France-Paris

Re: AAF processing

Post by momocampo » Sun Oct 06, 2019 8:44 am

emcodem wrote:
Fri Oct 04, 2019 9:31 pm
hey @ghatis ..the aaf you uploaded, after importing to mcp, lots of stuff appears in the bin but no timeline is opened. also i am not able to find a sequence in the bin. Do i make any mistake here or are these just huge aaf but don't contain a sequence?
Hi Encodem,

Have you look at the bottom of the name column? I think the sequence is drop in first and after you have all the master clips.
If you double clic where I show you in the attached file, you can sort your bin with sequence in first .
cheers.

B.
Attachments
avidbinsort.jpg
avidbinsort.jpg (211.97 KiB) Viewed 929 times

emcodem
Posts: 419
Joined: Wed Sep 19, 2018 8:11 am

Re: AAF processing

Post by emcodem » Mon Oct 07, 2019 7:18 am

nknuelle wrote:
Sat Oct 05, 2019 6:18 pm

How did you find out that it misses a network locator? Which tool did you use to examine the AAF files?

I am now struggling how to "add" those network locators. But this can be the main problem: Because the linked mxf files are on a network share - so maybe this is the problem why Interplay only recognizes these assets partly..
For comapring small aaf files (big ones i cannot yet compare) i use the graphical representation spit out by aaf2dot, included in aaf sdk tools. For convenience i uploaded the compiled tools:
https://drive.google.com/open?id=1GF_1u ... 0GnDfm66Mp
How to use: aaf2dot --aafin %youraaffile% --dotout %somenewdotfile%
After that, google for some online dot graph viewer or download graphviz tools and convert the dot to svg or similar.

The network descriptor does is mandatory for any "linked" file; it does not matter if the url to the files is local or UNC.
Pyaaf2 should do this automatically when using the linkxxx methods.

Currently i am not sure if anyone is using the createaaf tool as it seems this is only interesting for interplay users and the only interplay user in this thread so far seemed to be @taner.
The download link to the tool includes the python source code, basically it does not more than you did in your code. It does attempt to investigate all mxf in a folder if you provide a folder on input but to be honest i am not sure if this function is reliable.
Use -h option to turn on debugging and also make sure you have write access to the location where your input files reside when using createaaf.exe. If i find the time, i'll add some more error handling.

Ghtais
Posts: 75
Joined: Thu Jan 19, 2017 11:06 am

Re: AAF processing

Post by Ghtais » Mon Oct 07, 2019 9:58 am

emcodem wrote:
Fri Oct 04, 2019 9:31 pm
hey @ghatis ..the aaf you uploaded, after importing to mcp, lots of stuff appears in the bin but no timeline is opened. also i am not able to find a sequence in the bin. Do i make any mistake here or are these just huge aaf but don't contain a sequence?
Hi Emcodem

you should have a sequence. thanks to momocampo tip you should be able to find it quickly.
Let me know :)

Bye

nknuelle
Posts: 12
Joined: Mon Jul 01, 2019 4:39 pm

Re: AAF processing

Post by nknuelle » Wed Oct 09, 2019 7:06 am

@emcodem: Thanks for your response. I am going to analyze the aaf's further. I am very confused of those network descriptor's, because the not working aaf is build with pyaaf2 and link_extern_mxf function. And the linked MXF are on a network share...

More strangely Avid MC is recognizing all media assets if I import this AAF.. So there's just a problem with Interplay/Interplay Access..

emcodem
Posts: 419
Joined: Wed Sep 19, 2018 8:11 am

Re: AAF processing

Post by emcodem » Wed Oct 09, 2019 8:11 am

@nknuelle
no worries, if you keep working on it with me, i promise we get to the bottom of this :-)
Maybe the "don't work" example aaf you uploaded was not the real deal. There is really no sign of any filepath in the don't work example.
For convenience i'll upload your example files here so you can try to find out what i mean.
Additionally to mxf2dot, you can also use the aafdump tool and search for the term "Locator". You will find in the "works" example that a filename is contained but in the "don't work" example that there are no locator mobs at all in the file.
Also if you are unsure, you could use a hex editor and search for the hex values "66 00 69 00 6C 00 65 00 3A 00 2F 00 2F 00". This means "file://" and it has to be contained in any aaf that links to external sources.
So as said, next step is to get a "don't work" example aaf that actually contains filepaths.

The files you uploaded to github/pyaaf2:
dont_work_test2.aaf.renamemetoaaf.xml
(432 KiB) Downloaded 10 times
works_132078.aaf.renamemetoaaf.xml
(366.5 KiB) Downloaded 11 times

emcodem
Posts: 419
Joined: Wed Sep 19, 2018 8:11 am

Re: AAF processing

Post by emcodem » Wed Oct 09, 2019 8:21 am

also @nknuelle here the visual representations of your example files, you will see that there is no sign of a linked filename in the "don't work" example.

dontwork:
https://drive.google.com/open?id=19hALj ... 9cuCFZvnyw
works:
https://drive.google.com/open?id=1qTgYd ... _wxH9nhz-C

nknuelle
Posts: 12
Joined: Mon Jul 01, 2019 4:39 pm

Re: AAF processing

Post by nknuelle » Wed Oct 09, 2019 12:12 pm

thanks @emcodem

I have problem to get aaf2dot to work. If I use your compiled version I get the following error:
HRESULT c:\dev\aaf\examples2\axlib\axinit.cpp:63 0x8007007e The specified module could not be found.

I also tried to get aafviewer from the aaf sdk to work but this leads to:
java -cp "aafviewer.jar;xercesImpl.jar;ParserAPIs.jar" bbc.rd.aaf.aafviewer.AAFViewer

Error: Unable to initialize main class bbc.rd.aaf.aafviewer.AAFViewer
Caused by: java.lang.NoClassDefFoundError: com/xerox/VTM/engine/SwingWorker

The class which is mentioned is not part of the git repository.. So maybe it's just too old and not maintained anymore..

I am a bit confused why there is no viable tool to view aaf files in a user-friendly way..

Do you have an idea what's wrong here?

I need to have tool to compare the aaf's I am generating to analyse the problem :)

I generated some AAFs with your tool. There seems to be a problem with UNC paths if only 1 file is given. If I add a second file as argument it works, but ignores the first one.. ?

Post Reply