ffmpeg 为 MJPEG 编码生成更高质量的图像

ffmpeg generate higher quality images for MJPEG encoding

我有一堆 mov / H.264 文件,我想将其编码为 mov/MJPEG。但是我得到的输出质量很低。这是我尝试过的:

ffmpeg -i a.mov -an -crf 11 -preset slower -pix_fmt yuv420p -vcodec mjpeg -f mov -y b.mov

对于 H.264 编码,-crf-preset 标志生成更高的质量。但这似乎不适用于 MJPEG。

使用-q:v控制(M)JPEG质量

有效范围是 2-31 的线性比例,值越低,输出质量越高。

例子

在 MOV 容器中制作 MJPEG 视频:

ffmpeg -i input.mov -c:v mjpeg -q:v 3 -an output.mov

输出一系列 JPG 图片:

ffmpeg -i input.mov -q:v 2 images_%04d.jpg

文件将被命名为 images_0001.jpgimages_0002.jpgimages_0003.jpg


私人选项

For H.264 encoding the -crf and -preset flags generate higher quality. But that doesn't seem to work for MJPEG.

MJPEG编码器不使用-crf-preset;对于某些编码器,例如 libx264、libx265 和 libvpx,这些是 "private" options。您可以看到这样的私人选项:ffmpeg -h encoder=mjpeg.