I have a bunch of mov / H.264 files, that I\'d like to encode into mov/MJPEG. However I\'m getting very low quality output. Here\'s what I tried:
ffmpeg -i a
-q:v
to control (M)JPEG qualityThe effective range is a linear scale of 2-31, and a lower value will result in a higher quality output.
Make MJPEG video in MOV container:
ffmpeg -i input.mov -c:v mjpeg -q:v 3 -an output.mov
Output a series of JPG images:
ffmpeg -i input.mov -q:v 2 images_%04d.jpg
Files will be named images_0001.jpg
, images_0002.jpg
, images_0003.jpg
, etc.
For H.264 encoding the
-crf
and-preset
flags generate higher quality. But that doesn't seem to work for MJPEG.
The MJPEG encoder does not use -crf
and -preset
; these are "private" options for some encoders such as libx264, libx265, and libvpx. You can see private options like this: ffmpeg -h encoder=mjpeg
.