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

Don Moir donmoir at comcast.net
Sat Oct 27 04:15:56 CEST 2012


>> 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
>>
>> So basically I would suggest that "ambiguous" parameters like "r" and
>> "f" be deprecated in favor of something (anything?) else.  One
>> possibility might be something like -o:r (for "output rate") or the
>> like.
> 
> Rather than deprecate parameters (which I would hate to do merely for
> usability for beginners), one option would be to add "-o:%s" and
> "-i:%s" parameters, where "-o:"/"-i:" indicates it's an output/input
> option, and %s is the regular option name (like "r" or "f"). Requiring
> 4 extra keystrokes for every option seems annoying.
> 
> But this still doesn't fix any confusion if providing multiple input files...
> 
> Argument ordering is easy for a beginner to mix up, and I even mix it
> up sometimes myself. But I can't think of anything that's both simpler
> than the current method and doesn't cripple FFmpeg. I think one of the
> big reasons beginners screw up commands and command ordering is simply
> because they don't understand how video in general works.

Create some smart bat or script files


More information about the ffmpeg-devel mailing list