On 05.12.2015 00:54, James Darnley wrote:
On 2015-12-04 15:33, Nicolas George wrote:
Why do we need a new options system?

   Most importantly: escaping hell

OMG yes!  I have seen several times the amount of backslashes Windows
users are forced to use to provide a path to some of the filters.

You raise a lot of good points that need to be considered from design,
user-dev, and user-user perspectives.  I haven't read through in great
detail but did glance at the heading and TL;DRs.

I have a couple of probably controversial opinions about this:

- Only allow "simple" string arguments on the command line.  If escapes
or complexity is needed then force people to use a script file.

- Deprecate and remove the expression evaluation that currently exists
and replace it with an existing scripting language.  Sorry to the people
that worked hard on it.  It works fine.  Perhaps the escaping hell
causes my bad perception of it.

[...]
I think that replacing the option system with a scripting language will put the entry level too high for most users. The basic problem seems to be how to better represent option hierarchy. Maybe some JSON-like syntax would make it simpler:

ffmpeg -f lavfi -i '{"aevalsrc": {"exprs": ["sin(420*2*PI*t)", "cos(430*2*PI*t)"], "c": ["FC", "BC"]}, "s": 48000}' ...

If you have to escape double quote characters in your shell environment it gets really worse, though. So likely the syntax should be adjusted to allow for both, single and double quotes. Further it would be nice to allow the key being non-quoted:

ffmpeg -f lavfi -i "{aevalsrc: {exprs: ['sin(420*2*PI*t)', 'cos(430*2*PI*t)'], c: ['FC', 'BC']}, s: 48000}" ...

Just some idea.

Regards,
Tobias

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to