Thanks for the response Dan, see inline.

On 4/30/2014 11:55 AM, Dan Dennedy wrote:
On Wed, Apr 30, 2014 at 10:19 AM, Dan Dennedy <d...@dennedy.org <mailto:d...@dennedy.org>> wrote:

    Why not simple math?
    200 - 120 = 80
    qmelt 1.mov out=80 -blank 120 -consumer ...
    yields, actually, 202 frames because out points are frame numbers
    (or time value), which are are 0-based and not durations.
    Therefore, out=80 is a duration of 81 frames. Thus, to really get
    200 frames you need to do:
    qmelt 1.mov out=79 -blank 119 -consumer ...

I didn't realize it was 0 based, makes sense though, thanks. Are you also saying that it can take a time value? I didn't know that, what is the format of the time value the out and in properties can take?

In the long run we should be able to do the math. Right now we don't have anything which will easily give us the number of frames, or time length, of the video we are using in the construction. I'm basically trying to cheat for demo purposes but limiting the final video size was also going to be a feature. It is looking like that would be difficult only dealing with command line generation from everything you have indicated.

    The framework and modules, by design, do not provide much in the
    way of authoring as much as they simply facilitate it. You need to
    make your own layer that generates the composition as melt command
    lines, MLT XML, or by custom program using the API.

Right now I have a DSL builder in Java which makes creating the complex command lines easy. I know it probably isn't the correct solution for the long run, but so far it has been the quickest to prove out for 90% of what we have to do.

Now, with that said, and with your claim that you just need a simple way to limit the number of frames in the output, if the consumer honored an out property or melt let you target the track or tractor properties, then you could accomplish that. I am just not sure how you want to determine the length of the video clip vs. the number of blank frames.
For the demo these are hard coded and passed to the builder directly. Ultimately I need the clip's meta information and the immediate need for limiting the output will be gone. I wanted the size of the clips, in the demo, not to matter but it looks like I will need to do the math ahead of time and pass out parameters for each clip.

melt 1.mov -blank 119 -consumer xml:test.mlt no_meta=1
edit test.mlt so that playlist out=199
melt test.mlt -consumer avformat:demo.mp4

So, the solution may be to generate MLT XML, perhaps with a template engine, instead of complex melt command lines. You can even put a consumer element into the XML:
<consumer mlt_service="avformat" target="demo.mp4"/>
Add any other encoding properties as XML attributes.
Yes, I think this is essentially where we will end up as soon as we can't exploit the command line directly for a requirement. I would start there, but we probably don't have time to create and test the xml generator before release.

Thanks,
  James

------------------------------------------------------------------------------
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.  Get 
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs
_______________________________________________
Mlt-devel mailing list
Mlt-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mlt-devel

Reply via email to