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

新手求助:如何批量对多组图片执行ffmpeg命令生成视频

Windows 批量生成视频操作方案

前置准备

  • 确保 ffmpeg 已添加到系统环境变量,或将 ffmpeg.exe 放在所有图片文件夹的上级根目录中
  • 所有存放图片的文件夹统一放在上述根目录下,不要嵌套更深层级

批量处理脚本使用方法

  1. 在根目录下新建文本文档,复制下方代码后将文件后缀修改为 .bat,命名为批量生成视频.bat
@echo off
setlocal enabledelayedexpansion

:: 遍历所有子文件夹
for /d %%f in (*) do (
    cd "%%f"
    echo 处理文件夹: %%f
    
    :: 按名称排序收集所有png文件
    set /a count=0
    for /f "delims=" %%i in ('dir /b /on *.png 2^>nul') do (
        set "file[!count!]=%%i"
        set /a count+=1
    )
    
    :: 每7张为一组处理
    set /a group_count=count/7
    for /l %%g in (0,1,!group_count!-1) do (
        set /a start=%%g*7
        :: 截取组名
        set "first_file=!file[%start%]!"
        set "group_name=!first_file:.0_=|!"
        for /f "delims=|" %%a in ("!group_name!") do set "group_name=%%a"
        echo 处理组: !group_name!
        
        :: 生成临时序号文件
        for /l %%n in (0,1,6) do (
            set /a idx=start+%%n
            copy "!file[!idx!]!" "%%n.png" >nul
        )
        
        :: 执行ffmpeg命令
        ffmpeg -y -framerate 10 -i %%d.png -vf "split=2[head][loop];[head]trim=end_frame=4[head];[loop]trim=start_frame=3,setpts=PTS-STARTPTS,loop=6:4:0,shuffleframes=1 2 3 2[tail];[head][tail]concat=n=2:v=1:a=0" "!group_name!.mp4"
        
        :: 清理临时文件
        del ?.png >nul
    )
    cd ..
)
echo 所有处理完成!
pause
  1. 双击运行批量生成视频.bat,等待执行完成即可,每个组对应的视频会保存在对应图片所在的文件夹中,文件名和组前缀一致。

可选调整

  • 如需修改帧率,可调整ffmpeg命令中-framerate 10后的数值
  • 如需生成无损视频,可在ffmpeg命令末尾添加-c:v libx264 -crf 0参数

内容的提问来源于stack exchange,提问作者Ethan Kendrick

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 20:45:02