如何在ffmpeg命令中指定输出图像的大小?

时间:2013-07-15 15:17:04

标签: ffmpeg bmp

我正在使用终端中的ffmpeg从MP4视频中提取帧图像。

我使用了命令:

ffmpeg -i Video.MP4 Pictures%d.bmp

问题是提取的图像大小为4.5-5MB!我想要更小的图像,比如大约1-2 MB。如何限制输出图像的大小?

2 个答案:

答案 0 :(得分:9)

文件大小是视频分辨率和所选输出格式的函数。 例如:

width x height x 3 bytes ( RGB24)

您有不同的方法来减小输出文件的大小。

  1. 使用-pix_fmt yuv420更改示例YUV 4:2:0的格式,我认为您可以选择的较小格式为灰色或yuv400,但请使用以下显示ffmpeg支持的像素格式的命令进行检查

    'ffmpeg -pix_fmts

  2. BMP格式应该处理(生成8bpp图像)但确认文件大小得到因子3!

    1. 使用-s <Width>x<Height>更改输出分辨率(HD到SD或CIF),例如:

      ffmpeg -i Video.MP4 -s 192x168 Pictures%d.bmp
      

      或使用-vf选项:

      ffmpeg -I Video.MP4 -vf scale=192:168 Pictures%d.bmp
      

答案 1 :(得分:1)

还有一个选项可以减少输出图片的文件大小:使用其他图片格式,如* .jpg。

ffmpeg -i input.flv -ss 00:00:14.435 -f image2 -vframes 1 out.jpg

(资料来源:http://trac.ffmpeg.org/wiki/Create%20a%20thumbnail%20image%20every%20X%20seconds%20of%20the%20video

度过愉快的一天;)