推荐使用concat协议无损合并:将同编码参数的视频按序命名,新建list.txt写入file 'xxx'格式,执行ffmpeg -f concat -safe 0 -i list.txt -c copy output.mp4即可秒级完成。

Windows下用FFmpeg把多个视频片段无损合并成一个大文件,核心是避免重新编码、保持原始画质和音质,同时跳过图形界面拖拽等待,全程命令行执行,几秒到几十秒即可完成。
确认FFmpeg已正确安装并可用
按 Win+R 输入 powershell 回车,在弹出窗口中输入 ffmpeg -version 并回车。如果看到类似 ffmpeg version 6.1.1-full_build-www.gyan.dev 的输出,说明安装成功且已加入系统环境变量 Path;若提示“不是内部或外部命令”,请返回安装步骤,重点检查 【C:\ffmpeg\bin 是否完整添加进系统 Path】,漏掉 \bin 尾缀是新手最常踩的坑。
方法一:concat协议(推荐|最快|真正无损)
适用于所有片段编码参数完全一致(同为 H.264+AAC、相同分辨率/帧率/色彩空间)的场景,不重编码,只做流复制封装,速度极快,画质零损失。
第一步:将所有待合并的视频文件(如 clip1.mp4、clip2.mp4、clip3.mp4)放进同一个空文件夹,确保文件名按播放顺序自然排序(例如 01.mp4、02.mp4、03.mp4;不要用 1.mp4、10.mp4、2.mp4 这种会导致顺序错乱)。
第二步:用记事本新建一个文本文件,命名为 list.txt,内容严格按如下格式书写(注意每行开头是 file ',单引号不能少,末尾必须换行):
file 'clip1.mp4'
file 'clip2.mp4'
file 'clip3.mp4'
第三步:在该文件夹空白处按住 Shift + 右键 → 选择“在此处打开 PowerShell 窗口”,输入以下命令后回车:
ffmpeg -f concat -safe 0 -i list.txt -c copy output.mp4
这一步执行完,当前目录下就会生成 output.mp4。它和原片段完全一样,只是连在一起——进度条可拖动、音画同步、关键帧连续。如果报错 Invalid data found when processing input,大概率是 list.txt 编码格式不对,请用记事本另存为 UTF-8 无 BOM 格式。
让 Windows 桌面程序在开机时静默自启并隐藏到系统托盘。特别适用于 Flutter、Electron 等无视 VBS/ProcessStartInfo 窗口样式、难以隐藏的顽固应用。提供「VBS 启动器 + Python ctypes/Win32 API」的隐藏窗口方案,可稳定把窗口收进托盘且不闪控制台。
方法二:在线免安装快速合并(隐私优先|无需配置)
如果你只有一次性的合并需求,不想装软件、不信任上传类工具,又担心本地 FFmpeg 配置失败,可以直接用浏览器完成。
打开 https://ezwebtools.com/ts-merge(支持所有常见视频格式,不只是 TS),把所有视频文件拖进页面上传区 → 页面自动识别并按数字排序 → 点击【Merge】按钮 → 合并完成后点击下载图标保存到本地。
这个工具底层用的是 FFmpeg.wasm,【你的文件全程不离开浏览器,不会上传到任何服务器】,加密 TS 文件还能上传 .key 解密,几百 MB 以内处理体验接近本地版。
方法三:用GUI小工具一键拖拽(适合鼠标党|零命令)
方法一需要写 list.txt,方法二依赖网络,如果你更习惯点选操作,可以使用轻量级工具 FFmpeg Joiner。
下载地址:百度网盘链接 http://pan.baidu.com/s/1jHPBPUu(2016年发布,体积仅 300KB,无广告无捆绑)。
解压后双击运行,把要合并的视频文件直接拖进主窗口 → 点击【Start Join】→ 等待进度条走完 → 输出文件默认在原文件夹,名为 joined.mp4。
注意:该工具不校验编码一致性,若混入不同编码/分辨率的文件,可能导出后无法播放或音画不同步,务必提前确认片段来源是否同一设备同一设置录制。










