You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用FFmpeg将图片转为16:10比例的短视频并以黑色填充空白区域

如何用FFmpeg将图片转为16:10比例的短视频并以黑色填充空白区域

嗨,我来帮你搞定这个问题!你之前用crop滤镜的思路走偏啦——crop是用来裁剪画面的,不是给画布加空白填充的,难怪会报尺寸错误~要实现「保持原图比例不拉伸、用黑色填充空白区域到16:10比例」的效果,咱们得用pad滤镜(配合可选的scale滤镜来精准控制),下面给你具体的解决方案:

方法一:自动适配16:10比例(无需指定固定分辨率)

这个命令会自动计算需要填充的黑边大小,让原图在16:10的画布中居中显示,完全不拉伸:

ffmpeg -r 1/30 -i image.jpg -vf "pad='max(iw,ih*16/10)':'max(ih,iw*10/16)':(ow-iw)/2:(oh-ih)/2:black" -y video.mp4

参数解释:

  • max(iw,ih*16/10):自动计算画布宽度,取「原图宽度」和「原图高度按16:10换算的宽度」中的较大值,确保原图能完全放下
  • max(ih,iw*10/16):同理自动计算画布高度
  • (ow-iw)/2和(oh-ih)/2:让原图在新画布中居中对齐
  • black:指定填充空白的颜色为黑色,你也可以换成其他颜色,比如red或者十六进制色值#00FF00(绿色)

方法二:指定固定16:10分辨率(比如1920×1200)

如果你需要输出固定尺寸的16:10视频(比如常见的1920×1200),可以先把原图缩放到适配这个尺寸的大小,再补黑边:

ffmpeg -r 1/30 -i image.jpg -vf "scale='min(1920,iw)':'min(1200,ih)':force_original_aspect_ratio=decrease,pad=1920:1200:(ow-iw)/2:(oh-ih)/2:black" -y video.mp4

参数解释:

  • scale部分:将原图缩小到不超过1920×1200的范围,同时严格保持原比例,避免拉伸变形
  • pad部分:把画面补到1920×1200的固定尺寸,居中对齐,空白处填充黑色

为什么你之前的crop命令会失败?

crop滤镜的作用是从现有画面中裁剪掉一部分,它只能缩小画面尺寸,不能扩大画布。你用crop=in_w+200:in_h+200试图让画面尺寸变大,这违背了crop的功能逻辑,所以才会出现「尺寸太大或无效」的错误提示哦~

备注:内容来源于stack exchange,提问作者Eugen N

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 08:52:39