[FFmpeg-user] What is option -level ?

Ulf Zibis Ulf.Zibis at gmx.de
Wed Feb 13 00:11:54 EET 2019

Am 12.02.19 um 21:43 schrieb Lou Logan:
> This looks like a command from 10 years ago.
> Use -crf instead of -b. If you must use -b then use -b:v.
> Use scale filter instead of -s. If you need to scale.
> Do you need to crop?
> You don't need -aspect. If you do want to mess with aspect use setsar filter.
> You probably don't need -level. Are you encoding for a device that requires level 3? Does your output work with level 3? The console output will let you know if it exceeds the level limits.
> Get rid of everything starting from -flags to -qdiff. That's what -preset is for. The presets were made so users don't have to use a million options.
> Do you really need to do two passes? Are you targeting a specific output file size? If no, then don't use -pass or -passlogfile, use -crf, and do it all in one pass.
> So your command could be simplified to something like:
> ffmpeg -i input -c:v libx264 -crf 22 -preset slow -c:a aac output.mp4
Much thanks for your valuable hints Lou.
The program K9Copy was not maintained since years, so the used templates
are equal old as I suspected.

I'm not sure, if I need 2 passes, I'm at the beginning of my
experiments, but I think, -movflags faststart could be useful. If I need
2 passes I should know about the correct syntax, "-flags pass1" or
"-pass 1". Also I would be happy to understand, what the leading '+' is
for the -flags values. I honestly don't know, if I need -level, but I
want to know, how to determine, if the codec options are valid for
audio, video or both.


More information about the ffmpeg-user mailing list