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

修改FFmpeg命令以支持多图片/图片文件夹批量处理

处理多张图片/文件夹的FFmpeg命令修改方案

核心修改点

  1. 统一尺寸与宽高比:所有图片先缩放至宽度1280(高度按原比例适配),再裁剪为1280×720的16:9规格,同时设置样本宽高比为1,确保输出画面完全一致。
  2. 批量输入支持:适配指定多张图片、序列命名文件夹、任意命名文件夹三种场景。
  3. 保留原动画逻辑:每张图片对应40秒视频片段,完整保留原命令中y轴随时间滑动的裁剪动画效果。

场景1:处理序列命名的文件夹图片

如果文件夹内图片按固定序列命名(如img001.jpg、img002.jpg),用以下命令:

ffmpeg -y -i "img%03d.jpg" -filter_complex "\
[0:v] scale=1280:-1,setsar=1, \
fps=1/40,loop=-1:size=1,setpts=N/(FRAME_RATE*TB), \
crop='w=1280:h=720:x=0:y=min(max(0, t - 3 - 40*floor(t/40)), 34) / 34 * (ih-oh)', \
setpts=PTS-STARTPTS[outv] \
" -map "[outv]" unix.mp4
  • 细节说明:
    • img%03d.jpg:匹配3位数字命名的图片,可根据实际命名调整(如%02d对应2位数字)。
    • fps=1/40:强制每张图片停留40秒。
    • crop里的34是40-3-3的简化结果,保证每个40秒片段内的动画逻辑和原命令完全一致。

场景2:处理任意命名的文件夹图片

适用于Linux/macOS(Windows需用PowerShell调整语法),用glob匹配所有图片:

ffmpeg -y -pattern_type glob -i "*.jpg" -filter_complex "\
# 为每张图片生成带动画的40秒片段
[0:v] scale=1280:-1,setsar=1,crop='w=1280:h=720:x=0:y=min(max(0, t - 3),34)/34*(ih-oh)',loop=-1:size=2,trim=0:40,setpts=PTS-STARTPTS[v0];
[1:v] scale=1280:-1,setsar=1,crop='w=1280:h=720:x=0:y=min(max(0, t - 3),34)/34*(ih-oh)',loop=-1:size=2,trim=0:40,setpts=PTS-STARTPTS[v1];
[2:v] scale=1280:-1,setsar=1,crop='w=1280:h=720:x=0:y=min(max(0, t - 3),34)/34*(ih-oh)',loop=-1:size=2,trim=0:40,setpts=PTS-STARTPTS[v2];
# 按图片总数调整concat的n值,然后拼接所有片段
[v0][v1][v2] concat=n=3:v=1:a=0[outv]
" -map "[outv]" unix.mp4
  • 细节说明:
    • *.jpg:匹配所有jpg格式图片,可替换为*.png等格式。
    • 图片数量较多时,建议用脚本自动生成对应数量的滤镜处理块和拼接参数。

场景3:处理指定的多张图片

直接在命令中列出所有目标图片路径:

ffmpeg -y -i img1.jpg -i img2.jpg -i img3.jpg -filter_complex "\
[0:v] scale=1280:-1,setsar=1,crop='w=1280:h=720:x=0:y=min(max(0, t - 3),34)/34*(ih-oh)',loop=-1:size=2,trim=0:40,setpts=PTS-STARTPTS[v0];
[1:v] scale=1280:-1,setsar=1,crop='w=1280:h=720:x=0:y=min(max(0, t - 3),34)/34*(ih-oh)',loop=-1:size=2,trim=0:40,setpts=PTS-STARTPTS[v1];
[2:v] scale=1280:-1,setsar=1,crop='w=1280:h=720:x=0:y=min(max(0, t - 3),34)/34*(ih-oh)',loop=-1:size=2,trim=0:40,setpts=PTS-STARTPTS[v2];
[v0][v1][v2] concat=n=3:v=1:a=0[outv]
" -map "[outv]" unix.mp4
  • 细节说明:添加或删除-i 图片路径及对应的滤镜块,即可调整处理的图片数量。

内容的提问来源于stack exchange,提问作者Koi Farm ĐaMi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 03:45:04