22

I'm using the following command to create thumbnails with FFMPEG:

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

And it works fine. However, when the video isn't 4:3 ratio, it will still create a 240x180 image, and the extra space will be painted black. Is there some variation of the command that will prevent this and give me an image proportional to the video's ratio? In other words, I want 240x180 to be the maximum size of the thumbnail, but not the minimum.

Extra points if the command creates a smaller image when the video is smaller than 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 mjpegPNGファイルに書き込んでいるときは意味がありません
  • -f rawvideoここでも何もしない
  • -anFFmpeg はオーディオを PNG ファイルに書き込めないため、必要ありません。
于 2013-01-27T19:28:01.707 に答える