ts 拼接(推荐)
整个方法先把 mp4 封装成 ts 格式,之后 ts 直接拼接,最后在转化为 mp4。
此方法速度快,最终文件基本上等于小文件的总和。例如 6 个小 mp4 文件,累计 240MB,通过此方法,最终 mp4 文件也在 240MB 左右。整个操作用时 10 秒。
#! /bin/bash
# 将 mp4 文件封装为 ts 格式
ffmpeg -i a1.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb 1.ts
ffmpeg -i a2.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb 2.ts
ffmpeg -i a3.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb 3.ts
ffmpeg -i a4.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb 4.ts
# 拼接 ts 并导出最终 mp4 文件
ffmpeg -i "concat:1.ts|2.ts|3.ts|4.ts" -acodec copy -vcodec copy -absf aac_adtstoasc output.mp4
# 删除过程中生成的 ts 文件
rm *.ts
具体操作方案:
先将目录下的 mp4 进行改名,改名为 a1.mp4, a2.mp4 …;
编辑上面的脚本,把它保存到 mp4 目录内,名字无所谓,比如 change.sh;
终端中,cd 到 mp4 的目录,执行 bash change.sh,等待即可;
最终即可生成 output.mp4 合并好的文件了。
–END–
评论 (0)