与 mjpeg 不兼容的像素格式 YUV420P

moh*_*med 2 multimedia ffmpeg mjpeg

我正在使用 ffmpeg 使用 mjpeg 编解码器从 jpeg 图像制作视频。我用这个命令

ffmpeg -i frame%d.jpg -c:v mjpeg -pix_fmt yuv420p -q:v 1 -y out.mp4
Run Code Online (Sandbox Code Playgroud)

我有这个警告,而是选择了 yuvj420p。在阅读了该像素格式后,我发现不推荐使用 YUV420p 并设置 -color_range。所以我这样做了并将 color_range 设置为 2,但没有任何改变。

Ron*_*tje 5

您收到警告是因为 ffmpeg 的内部 JPEG 编码器需要 JPEG 范围输入,并且使用旧的(不推荐使用的)pixfmt YUVJ420P 而不是新方法(使用颜色范围设置 pixfmt=YUV420P)。

然而,这将我们带到了这个问题的核心:为什么要将 JPEG 源图像重新编码为 JPEG?你不需要!您可以使用 -c:v copy(而不是 -c:v mjpeg)将现有的 JPEG 图像按原样复制到 .mp4 文件中。