我想从尺寸为 1024×780 的剪辑中截取屏幕截图/缩略图,但我不需要整个高度。我只希望屏幕截图占用 768 × 80% 的高度。
这是因为我不想在缩略图中包含任何字幕。
我目前正在使用以下命令来获取屏幕截图:
ffmpeg -i <input> -f image2 -ss <position> -s 768x432 \
-vf fps=fps=1/10 -vframes 20 <output>
目标是最终得到一个 768×432 大小的缩略图,但高度 432 仅为原始视频文件高度的 80%。
答案1
ffmpeg -i input -filter:v scale=768:-1,crop=iw:ih*0.8,fps=1/10 output
这将缩放到您想要的宽度(768),高度将自动缩放到适当的值以保留宽高比。然后它将裁剪缩放后的高度并将其乘以 0.8。请注意,裁剪将分为顶部和底部。例如,使用crop=iw:ih-100
将从顶部移除 50 像素,从底部移除 50 像素。如果您希望它只从底部移除像素:
ffmpeg -i input -filter:v scale=768:-1,crop=iw:ih*0.8:0:0,fps=1/10 output
您可以使用以下方式预览ffplay
:
ffplay input -vf scale=768:-1,crop=iw:ih*0.8
查看FFmpeg 过滤器文档了解更多示例和信息。