|
dandy72 wrote: I can only imagine what a UI supporting every option would look like. I agree that it is crazy - but not quite as crazy as it first appears. The ffmepeg version installed with the current version of yt-dlp certainly give you 15421 lines if you ask for -h full, but these are certainly not 15421 distinct options. Lots of the lines are alternate parameters to a single option, e.g. each colorspace alternative has its own line. Quite a few of the options take 10-15 lines to list the argument values. Some options are repeated in different contexts, e.g. under each encoder option (the allowed argument values may vary among encoders, though).
So, 17 repetitions of the same option for 17 different encoders, with 15 alternative values, would pack more than 250 lines from the help file into a single pulldown list in the GUI.
Also, the file has >1000 blanklines, and following line is heads a group of options. So there goes another 2000+ lines. A sizable number of options duplicate information, e.g. all the 'show xxx' options: The options would be available in the pulldown selectors; you do not need another way to show them. Lots of options are boolean: You can fit quite a lot of checkboxes in a dialog or tab card. Replace the checkbox with an integer value entry field - a lot of those will go into a single tabcard, too.
There would still be a huge number of pulldown lists - far too many. Far too many check boxes and numeric values. But not as bad as I thought before checking the output closer: There are not 15421 distinct options, as my first impression was. But a few hundred distinct ones is certainly bad enough.
I strongly suspect that half of these options / argument values are never used by anyone but the ffmpeg developers
|
|
|
|
|
Sure, even eliminating everything you mentioned should simplify things...but still, if someone wanted to build a UI equivalent to all options supported via the command line...and have the smarts to group things together, separating items through tabs, adjust things based on combinations/mutually exclusive options, etc...it would still be a mess of a UI, I'd have to think.
And then, trying to make it user-friendly - reserve an area on the screen to show some text (not just a few words), that dynamically changes based on the control that is currently selected (to explain what it does)...and it would still overwhelm the vast majority of users.
trønderen wrote: I strongly suspect that half of these options / argument values are never used by anyone but the ffmpeg developers
That's a given...when you present too many options, people will do the minimum they need to get things working, then pretty much leave it at that and stick with what they know and never experiment beyond that. So the extra effort those devs put in, really ends up working against them.
|
|
|
|
|
Maybe someone should create a ffmpegSimple wrapper, which accepts only the top 20 or 30 most useful switches. This would be useful to a noob, who can then explore the other switches upon gaining familiarity.
|
|
|
|
|
"ffmpeg wrapper"
In github there are 232 public repositories matching this topic.
|
|
|
|
|
MrChug wrote: Is there another piece of software that has this many command line options?
Time for Guinness World Records?
|
|
|
|
|
Time for a Guinness, period.
"the debugger doesn't tell me anything because this code compiles just fine" - random QA comment
"Facebook is where you tell lies to your friends. Twitter is where you tell the truth to strangers." - chriselst
"I don't drink any more... then again, I don't drink any less." - Mike Mullikins uncle
|
|
|
|
|
See: 5 Free GUI For FFmpeg[^]
A tool like inshellisense might be handy too, it can be used from the command-line, powershell, bash etc, but I don't think it offers FFmpeg support yet.
|
|
|
|
|
I think the point is that any one user only has a small number of commands that they use regularly, pertaining to:
- type of file: mov, ts, mp4, jpg, avi, etc...
- operation: crop, adjust color, brightness, contrast, convert, denoise, etc...
- stream assignment, etc...
You learn the commands that you need, and thankfully there is loads of help available on the Interweb, and (most important of all) the documentation is pretty good. I have a list of all the commands that I have ever used and just copy paste new commands as I need to do new things.
My interest BTW, is splitting movies to pngs, and reassembling movies with audio, adjusting frame rates, trimming and editing movies. I also use it with Blender where the preferred output is png files.
It's brilliant!
|
|
|
|
|
Somebody needs to learn YAGNI.
I’ve given up trying to be calm. However, I am open to feeling slightly less agitated.
I’m begging you for the benefit of everyone, don’t be STUPID.
|
|
|
|
|
Fair enough, but in my career I have been into quite a few discussions / arguments where I have held up an architecture, data structure or whatever, as far better suited for future extensions than another one. Then I have been voted down; "We can't worry about future extensions now!", even though the future proof alternative was no more costly to implement. In several cases, there was the "Not invented by me" syndrome: The first implementation was done the way the most senior developer suggested (or the most aggressive new-and-upcoming-star youngsters).
In one case, the project management realized only three months later that the project had a "technical debt" - a major rewrite of core modules were required to handle the extensions for the next release. Usually it takes at least six months
Far too many "agile"!
|
|
|
|
|
Fair enough, but in my career I have been into quite a few discussions / arguments where I have held up an architecture, data structure or whatever, as far better suited for future extensions than another one. Then I have been voted down; "We can't worry about future extensions now!", even though the future proof alternative was no more costly to implement. In several cases, there was the "Not invented by me" syndrome: The first implementation was done the way the most senior developer suggested (or the most aggressive new-and-upcoming-star youngsters).
In one case, the project management realized only three months later that the project had a "technical debt" - a major rewrite of core modules were required to handle the extensions for the next release. Usually it takes at least six months
Far too many "agile" proponents consider it a mortal sin to understand the real problem to be solved before writing 'int main(...' Knowing and understanding the problem domain in advance is against the principles of agile programming.
Not that books on agile development says so. Yet, far too many developers (and project managers) says so (at least indirectly).
|
|
|
|
|
Image Magik probably comes a close second for sheer number of options
|
|
|
|
|
The concept of whitelisting CAs is needed to guarantee privacy for EU citizens.
Even now, CAs affiliated with state actors can compromise the chain of trust.
The EU needs a mechanism to establish and restore trust, because currently there is none.
I expect a lot of articles about why "more regulation will lead to less privacy".
But that only makes sense if the EU government would allow for legislation lobbying or personal interests.
Both are highly illegal in the EU.
|
|
|
|
|
No politics in the lounge*.
*Unless you're a regular, then you get special privileges. For everyone else, no politics.
|
|
|
|
|
So does that mean I can do the "What's the connection between an old slice of bread and Suella Braverman? They'll both end up as toast" joke or not?
veni bibi saltavi
|
|
|
|
|
Depends on whether it's a joke or a political statement.
|
|
|
|
|
Me? Political? With my reputation!
veni bibi saltavi
|
|
|
|
|
hey Nagy - welcome back
Charlie Gilley
“They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
Has never been more appropriate.
|
|
|
|
|
Hey Nagster, long time no see!
|
|
|
|
|
Hi Nagy! Nice to see you!
Will Rogers never met me.
|
|
|
|
|
what he said. Reddit is your friend for such @#$#%$#.
>64
Some days the dragon wins. Suck it up.
|
|
|
|
|
Kate-X257 wrote: But that only makes sense if the EU government would allow for legislation lobbying or personal interests.
Both are highly illegal in the EU.
Interesting statement. Googling however does not suggest that it is true.
For example following seems to suggest that it is allowed and regulated.
European Union lobbying - Wikipedia[^]
|
|
|
|
|
Kate-X257 wrote: would allow for legislation lobbying or personal interests.
Both are highly illegal in the EU. Ok, it is illegal, we are now all safe...
Wake up, kid.
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.
|
|
|
|
|
Chartered Accountants? Generally Accepted Accounting Practices? Is that like "fake" software engineers? Is this an EU joke?
"Before entering on an understanding, I have meditated for a long time, and have foreseen what might happen. It is not genius which reveals to me suddenly, secretly, what I have to say or to do in a circumstance unexpected by other people; it is reflection, it is meditation." - Napoleon I
|
|
|
|
|
History belies the European Commission claims that this will lead to better security. What it will lead to is lower security and the bad guys simply ignoring the law, as usual.
|
|
|
|