Page 2 of 11
Re: AAF processing
Posted: Thu Jun 13, 2019 4:31 pm
by Ghtais
Hi
thanks to Encodem to have a look at this new challenge
For me AAF (only linked, the embedded form is no longer supported and is useless) is so important for outgest. I use AVID and after editing you always have to export something (Master, proxy, etc etc). I use FFAStran in most of case but first I have to mixdow and export with avid before going to FFAStran. So it takes approximately twice the time ...
I know that content agent (ROOT6) have implemented AAF and it seems to be very powerful. Just right clic in a sequence directly in AVID and select "send to content agent" in the contextual menu.
I see that you speak about one sequence with only one video track. In this case I'am using quicktime reference with the avisynth script but It doesn't keep all metadata from the original opatom MXF file and this produces various issues in FFASTran (colors issues, resize, frame rates, etc). I think AAF would be more reliable that QTref even if we use with only one video track.
Of course for me, the main goal is to be able to export a complex rendered sequence with multi video and audio tracks in AAF to go directly in FFAStran.
At this point you can say that if we forget the issue with metadata, Quicktime reference could do the same job. But in reality there are a lots of other issues with the AVisynth quicktime ref script. I have noticed that it works with complex sequence until a certain point. If the sequence have too much video tracks or contain too much clip, it produces error in FFAStran (but it plays fine in quicktime player).
Finally I don"t know if there is to much limitations with Quicktime ref and we should go with AAF or if it's easier to start with the AVisynth QTRef script and debug it
Let me know if I can help in some way on this project.
bye
Re: AAF processing
Posted: Mon Jun 17, 2019 7:59 am
by emcodem
Thanks for your inputs Ghatis!
Correcting the bugs of the QTRef integration for avisynth is for sure harder than creating something new because one needs to work into an existing project. Also it uses QT Engine for windows which was already dropped by apple and some companies consider it as a security risk as it has multiple known vulnerabilities open. Supporting software that relies on dead software does not sound like something worth any efforts.
@admin or @steinar (just want to get you notified
, what do you think about supporting sequences? Is aaf worth the efforts? will translating into an avs script work stable and is it the best option how to integrate sequence support into ffastrans?
From my perspective the efforts will be always the same, no matter if the input format is aaf or any other (like FCP7 project xml)... The main efforts will be testing all the specialities like missing audio and video, correctly mapping all the audios etc...
The idea using avisynth is to use Trim and splice (or ++)
The danger that i see using avisynth is that we need to use a hundred instances of the ffms2 plugin within a single script. This will lead to very high memory usage plus i fear the plugin is not thread safe enough for this kind of usage. Also the seeking ability must be perfect, at least on the source format of interest.
[EDIT] a first test using ffmpegsource in a 32bit environment shows that it is not possible to use lots of ffmpegsource command within a single avs process, it starts to make troubles from 19 files and 1,3 GB RAM usage for me. From feeling the whole memory management within avisynth will prevent us from using it for hundred sources within one process. Except we find a way to load each source only exactly when it is needed and unload each source as soon as processing finished. I can imagine a way how to load additional sources only when a certain frame number has passed but i don't know a way to unload a source.
After some testing and research, i believe the main issue here is to find out a video processing system that supports complex projects on input.
Re: AAF processing
Posted: Mon Jun 17, 2019 5:18 pm
by admin
Basically, if one is able to recreate an aaf or fcp-xml sequence to an AviSynth script, which I'm sure is quite possible, FFAStrans could definately support it. The trick is, as you write, emcodem, the resouces needed for this to work with larger sequences. Split and stitching via intermediates might be an approach to deal with this. However, the processing will be very time consuming so it will NOT be a speed demon.
Anyway, this is not a task I will take at the current stage. I'm very busy focusing on rewriting major parts of FFAStrans but if you emcodem or someone else would like to embark on this aaf/xml-journey, you have my support
-steinar
Re: AAF processing
Posted: Tue Jun 18, 2019 5:59 am
by emcodem
Great, thans for your thoughts steinar!
Instead of using avisynth we could possibly also use the ffmpeg concat option, this would be the fastest possible option too.
The idea is to create one concat input file per track in the sequence and use them all in a single ffmpeg processing command finally e.g.
Code: Select all
ffmpeg -f concat -i vtrack0.txt -f concat -i atrack1.txt -f concat -i atrack2.txt
It would be much better if we only had one single concat list but concatcdoes not yet support alternate streams with in and outpoint as i see.
The downside of this is that all the video processors in ffastrans can only be used on the already encoded file...
@momocampo do you see any proble with this downside? ...would you need to do lots of filtering on the sequence before it is rendered?
Re: AAF processing
Posted: Tue Jun 18, 2019 9:10 am
by momocampo
Hello ,
Well the true useful to export an aaf linked is to avoid mixdown video and/or audio or to avoid an export file. The big advantage about link aaf is it points to all the sequence media without exporting.
So emcodem, if you tell me we need to export our sequence before use Ffastrans, I think it will be useless...Useless too if we need to do a video mixdown (which consists of crushing the media and effects and create 1 video track).
it's a shame not to be able to use aaf but it's really to complicated...
Maybe we can use Avid Interplay but I don't use it so not sure we can.
I must think about another way to export but I think there is not
cheers.
B.
Re: AAF processing
Posted: Tue Jun 18, 2019 11:59 am
by emcodem
Hey Benjamin,
this thread is about supporting aaf sequences that link to external OPAtom essences... my last idea was to let ffmpeg directly read from the linked essences. The downside is that this needs to happen before any other processing within ffastrans happens.
By the way, i am currently exploring if and how the AAF SDK can help here. As @momocampo, you told me you have problems opening aaf files anyway, so this tool might help you in future, it converts aaf to xml:
download aaf2xml
Usage:
Code: Select all
C:\dev\AAF\AAFWinSDK\vs10\Utilities\aaffmtconv\Win32\Debug\aaffmtconv.exe -xml C:\Users\emcodem\Downloads\AAF_FOR_TEST.aaf C:\Users\emcodem\Downloads\AAF_FOR_TEST.xml
Also, you can explore the contents of aaf files using some MS compound file browser, like this one (look in StructuredStorageXplorer folder)
https://sourceforge.net/projects/openmcdf/postdownload
Hope it helps!
Re: AAF processing
Posted: Tue Jun 18, 2019 1:03 pm
by momocampo
emcodem,
Just to say I think you speak to 2 members of this forum and it's only 1 man --> Momocampo is Benjamin and is ...me
Anyway, Let ffmpeg directly read from the linked essence would be great. Yes, it must happen before any process of FFastrans but not really a downside in my opinion.
At last, thanks for this tool, I have to check if I can use it and how.
Benjamin
Re: AAF processing
Posted: Tue Jun 18, 2019 1:06 pm
by emcodem
Haha no worries Benjamin, i just use the "@username" syntax when i want the system to send you a "Notification"
Re: AAF processing
Posted: Tue Jun 18, 2019 1:23 pm
by momocampo
Ok I understand now.
My god!! I just look at your link about MS compound and it's really not for my skills
You told me to convert aaf to xml but after? Do you have an Avisynth script with xml to use in FFastrans?
thanks;
Re: AAF processing
Posted: Tue Jun 18, 2019 2:40 pm
by emcodem
Sorry, the link to the compound fs browser was crap, here the right one
https://sourceforge.net/projects/openmc ... t/download
in the zip file, extract and use only this folder, it contains a program with a GUI:
OpenMcdf 2.0\bin\StructuredStorageXplorer\
The tools i currently posted are just some stuff i found and use for experimenting... you can use them for opening and viewing aaf but not more
I will have to write some program for you that uses one of the tools/SDK's for AAF and creates some avs or ffmpeg cutlist, this will take some time...
But before i write any code, i need to experiment which tools/SDK's are the best fit.
It would be cool if you upload a complex project for me as well please. Just the aaf file, no media files required.