Я использовал ffmpeg для генерации однокадрового видео mjpeg с максимально возможным качеством, например:
ffmpeg -i reference.png -frames:v 1 -codec:v mjpeg -q:v 1 -an 1.mkv
Я также сделал эталонное преобразование в jpeg с помощью imagemagick, с качеством 85%:
convert reference.png -quality 85 85.jpg
Результирующий «1.mkv» составляет всего 83K, несмотря на то, что 85.jpg равен 88K - и это даже не самое высокое возможное качество JPEG.
При 95% imagemagick производитфайл 120К и 207К на 100%.(Хотя следует отметить, что качество изображения не улучшается выше 95%.) Поскольку ffmpeg настроен на максимальное качество, я ожидаю, что кадры будут примерно такого размера.
Почему кадры mjpeg в ffmpeg такие маленькие?