You need to enable JavaScript to run this app. FFmpeg批处理中如何为高度不足720px的图片添加底部白边填充?
优惠活动
大模型
产品
解决方案
定价
更多

FFmpeg批处理中如何为高度不足720px的图片添加底部白边填充?

FFmpeg 图片高度自适应补白实现方案

核心实现逻辑

该需求可通过FFmpeg内置的pad画布扩展滤镜直接实现,无需使用scale(易引发图片拉伸变形)、crop(易裁切有效内容)类操作,执行逻辑完全匹配要求:

  • 自动读取单张输入图片的实时高度值
  • 当图片高度 <720px时:保持原图片宽高、比例完全不变,仅在画布底部补充对应高度的纯白色空白,最终总高度拉至720px
  • 当图片高度 ≥720px时:画布尺寸与原图片完全重合,不对像素做任何修改

单图测试命令

直接在命令行执行即可验证效果:
ffmpeg -i 输入图片路径.jpg -vf "pad=width=iw:height='if(lt(ih,720),720,ih)':x=0:y=0:color=white" 输出图片路径.jpg

参数说明

  • iw/ih:FFmpeg内置变量,分别指代输入图片的原始宽度、原始高度
  • if(lt(ih,720),720,ih):内置判断逻辑,当原始高度小于720时,取720作为最终画布高度,否则画布高度等于原始高度
  • x=0:y=0:将原始图片固定在画布的左上角位置,所有补充的空白自动落在图片底部
  • color=white:指定补充空白的颜色为纯白色

批量处理脚本

Windows 批处理(.bat)

将脚本放置在待处理图片的同目录下执行,会自动遍历目录内所有常见格式图片,输出带processed_前缀的处理后文件:

@echo off
for %%f in (*.jpg *.jpeg *.png) do (
    ffmpeg -i "%%f" -vf "pad=width=iw:height='if(lt(ih,720),720,ih)':x=0:y=0:color=white" -q:v 2 "processed_%%f"
)

其中-q:v 2参数用于控制JPG输出质量,尽可能接近原画质,避免过度压缩。

Linux/macOS Shell脚本

在待处理图片目录下执行即可完成批量处理:

#!/bin/bash
find . -maxdepth 1 -type f \( -iname "*.jpg" -o -iname "*.jpeg" -o -iname "*.png" \) -exec sh -c '
    ffmpeg -i "$0" -vf "pad=width=iw:height=\x27if(lt(ih,720),720,ih)\x27:x=0:y=0:color=white" -q:v 2 "processed_${0}"
' {} \;

注意事项

  • 整个判断流程完全由FFmpeg在单图处理时自动完成,不需要提前批量读取所有图片的尺寸信息,执行效率更高
  • 处理过程不会对原图片做任何拉伸、裁切操作,仅在高度不足时做底部补白,完全匹配需求
  • 如果需要调整补白的颜色,可将color=white替换为任意十六进制色值,比如color=0xFF0000对应红色补白

内容的提问来源于stack exchange,提问作者John Doe

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.31 00:57:05