使用FFMPEG,创建与视频成比例的缩略图';s比率

使用FFMPEG,创建与视频成比例的缩略图';s比率,ffmpeg,Ffmpeg,我正在使用以下命令使用FFMPEG创建缩略图: ffmpeg -itsoffset -1 -i video.avi -vcodec mjpeg -vframes 1 -an -f rawvideo -s 240x180 image.png 而且效果很好。但是,当视频的比例不是4:3时,它仍然会创建一个240x180的图像,额外的空间将被涂成黑色。是否有一些命令的变化可以防止这种情况,并给我一个与视频比例成比例的图像?换句话说,我希望240x180是缩略图的最大大小,而不是最小大小 当视频小于2

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

ffmpeg -itsoffset -1 -i video.avi -vcodec mjpeg -vframes 1 -an -f rawvideo -s 240x180 image.png
而且效果很好。但是,当视频的比例不是4:3时,它仍然会创建一个240x180的图像,额外的空间将被涂成黑色。是否有一些命令的变化可以防止这种情况,并给我一个与视频比例成比例的图像?换句话说,我希望240x180是缩略图的最大大小,而不是最小大小

当视频小于240x180时,如果该命令创建的图像较小,则需要额外点数。

使用:

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

scale='min(280\, iw):-1'
这里,我们假设您的视频是横向格式的,所以我们可以将最大宽度设置为280,而忽略高度,对于3:2的视频,最大宽度应为180,对于16:9的内容,最大宽度应为158

注:

  • -vcodec mjpeg
    在写入PNG文件时没有意义
  • -f rawvideo
    在这里也不做任何事情
  • -不需要
    ,因为FFmpeg无法将音频写入PNG文件

感谢您的回答和提示!我从其他地方复制了这个命令,并没有真正理解大多数参数的含义,所以我就把它们放在那里了。
scale='min(280\, iw):-1'