ffmpeg批量合并视频

一、将文件夹下的所有 mp4 文件转成 ts 文件:

find ./ -name '*.mp4' -exec sh -c 'ffmpeg -i "$0" -acodec copy -vcodec copy -absf aac_adtstoasc "./TS/${0%%.mp4}.ts"' {} \;

二、给所有 ts 重命名:

1、进入下载的文件夹,选中全部 mp4 文件,右键 重新命名
2、在重命名窗口,选择类型: 格式;名称格式: 名称和索引;位置:名称之后;自定格式:输入一个空格符;开始数字为:1。最后点击 重新命名 按钮,这时会将所有选中文件按照上面的格式进行重新命名,此时的每个文件名前面是有一个空格符的,需要再次重命名去掉这个空格。
3、再次选中全部 mp4 文件,右键 重新命名
6、在重命名窗口,选择类型: 替换文本;查找:输入一个空格符;替换成:不填写任何字符。最后点击 重新命名 按钮,此时的每个文件名前面的空格符就被去掉了。

三、生成文件目录 file.txt

1、打开终端,进入到该文件夹:

cd [目录]

2、打印文件目录,并保存到 file.txt 中:

ls -l >file.txt

3、将 file.txt 处理成以下格式:

file '1.ts'
file '2.ts'
file '3.ts'
file '4.ts'
file '5.ts'
file '6.ts'
……

四、执行命令,批量合并 ts 文件

ffmpeg -f concat -i filelist.txt -c copy output.mp4

另外一种合并视频的方法:直接使用 concat 滤镜:
ffmpeg -i "concat:1.ts|2.ts|3.ts|4.ts" -c copy output.mp4

你可能感兴趣的:(ffmpeg批量合并视频)