前言
将多个 mp4 小文件,合并为一个大文件,方法有两种:mpeg 拼接,ts 拼接(推荐)
1. 安装 ffmpeg
2. mpeg 拼接(×)
需要先将小 mp4 文件转码为 mpeg 文件,之后 mpeg 直接拼接,最后再转码回 mp4。
- 速度慢,文件变大
ffmpeg -i a1.mp4 -qscale 4 a1.mpg
ffmpeg -i a2.mp4 -qscale 4 a2.mpg
cat a1.mpg a2.mpg| ffmpeg -f mpeg -i - -qscale 6 -vcodec mpeg4 output.mp4
3. ts拼接(√)
- 先将 mp4 转化为同样编码形式的 ts 流,因为 ts流是可以 concate 的,先把 mp4 封装成 ts ,然后 concate ts 流, 最后再把 ts 流转化为 mp4。
ffmpeg -i 1.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb 1.ts
ffmpeg -i 2.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb 2.ts
ffmpeg -i "concat:1.ts|2.ts" -acodec copy -vcodec copy -absf aac_adtstoasc output.mp4
- ts合并工具:参考工具1