您好,需要获取一张分辨率为 560x420 的缩略图。
我正在使用这个命令:
ffmpeg -i "file.mp4" -vf "scale=560:-1,pad=max(iw\,ih):420:(ow-iw)/2:(oh-ih)/2" \
-frames:v 1 best.png
此命令有效..还有其他选择吗?图像不会变形。
答案1
https://stackoverflow.com/questions/15974243/resize-to-a-specific-width-and-height-using-ffmpeg
ow=560
oh=420
ffmpeg -i foo.png \
-filter "scale=max($ow\,a*$oh):max($oh\,$ow/a),crop=$ow:$oh" bar.png
答案2
从此命令行对其进行破解,提取每个关键帧,并将其转换为与图像比例相同的恒定宽度的 jpg
ffmpeg -threads 4 -i my_movie.mp4 -vf "select=eq(pict_type\,I)" -vsync vfr -filter:v scale=560:-1,crop=iw:ih*0.75 -q:v 3 -qscale:v 3 out%05d.jpg
这样,560/420 的比例将保持不变,图像不会失真,因为每个头顶都会被裁剪掉,
你可能只想要那部分:-vsync vfr -filter:v scale=560:-1,crop=iw:ih*0.75