22

我正在使用以下命令使用 FFMPEG 创建缩略图:

ffmpeg -itsoffset -1 -i video.avi -vcodec mjpeg -vframes 1 -an -f rawvideo -s 240x180 image.png

它工作正常。但是,当视频不是 4:3 比例时,它仍然会创建一个 240x180 的图像,并且多余的空间将被涂成黑色。命令是否有一些变化可以防止这种情况并给我一个与视频比例成比例的图像?换句话说,我希望 240x180 成为缩略图的最大尺寸,而不是最小尺寸。

如果该命令在视频小于 240x180 时创建较小的图像,则会加分。

4

1 回答 1

43

使用过滤scale

ffmpeg -itsoffset -1 -i video.avi -vframes 1 -filter:v scale="280:-1"  image.png

这将保留纵横比以实现 280 像素的宽度。要将宽度增加到最大 280 像素但保持比例,请使用:

scale='min(280\, iw):-1'

在这里,我们只假设您的视频是横向格式,因此我们可以将最大宽度设置为 280,而忽略高度,对于 3:2 的视频应该是 180,对于 16:9 的内容应该是 158。

笔记:

  • -vcodec mjpeg写入 PNG 文件时没有意义
  • -f rawvideo也不在这里做任何事情
  • -an不需要,因为 FFmpeg 无法将音频写入 PNG 文件
于 2013-01-27T19:28:01.707 回答