[FFmpeg-devel] on the hard state of ffmpeg command line options

Stefano Sabatini stefasab at gmail.com
Sun Oct 28 17:48:52 CET 2012

On date Friday 2012-10-26 16:11:42 -0600, Roger Pack encoded:
> Hello all.  I know you've probably all heard this before, but thought
> I'd just throw it out there all again.
> I love FFmpeg, but sometimes I'm a bit unhappy with the way it takes
> command line options.
> $ ffmpeg -i INPUT  -f h264 yo.mp4
> $ ffmpeg -i INPUT  -f mp4 yo.mp4
> Same location on the command line. Different meaning.  Another example:

> $ ffmpeg -i INPUT -r 24 output
> I know this line makes perfect sense to long time users of FFmpeg.
> But to newbies, it is really hard to know where the r is going to
> apply.  People mess it up all the time.  And sometimes FFmpeg ignores
> input parameters

FFmpeg (both tool and library) should warn in case it is
unused/overridden/unsensical, consider to open a ticket if you have a
specific case.

> So basically I would suggest that "ambiguous" parameters like "r" and
> "f" be deprecated in favor of something (anything?) else.  One

What's wrong with "f"?

> possibility might be something like -o:r (for "output rate") or the
> like.  Another option might be to force input into its own section
> somehow, like

> $ ffmpeg -i "input_filename -r 24"

This would be completely broken (how can you tell where the
input_filename terminates?).

> or the like.  That would be nice as well.

Also check:

to see why we keep the current syntax.
FFmpeg = Fiendish Fanciful Magic Patchable Enhancing Gangster

More information about the ffmpeg-devel mailing list