Why is the maximum ffmpeg mjpeg quality so low?

2019-09-01 16:34发布

问题:

I used ffmpeg to generate a one-frame mjpeg video at the maximum possible quality, like this:

ffmpeg -i reference.png -frames:v 1 -codec:v mjpeg -q:v 1 -an 1.mkv

I also made a reference conversion to jpeg using imagemagick, at 85% quality:

convert reference.png -quality 85 85.jpg

The resulting "1.mkv" is only 83K, despite the fact that 85.jpg is 88K - and that's not even the highest possible jpeg quality.

At 95% imagemagick produces a file of 120K, and 207K at 100%. (Though it should be noted that image quality does not improve above 95%.) Since ffmpeg is set to maximum quality, I would expect frames of around this size.

Why are ffmpeg's mjpeg frames so small?