原本想着通过java的IO流的方式进行MP4文件的合并,但是合并完成后发现并不是真正合并,文件的size是合并了,但是只能观看一个MP4文件,经过查询用FFmpeg合并MP4挺好使的,大体流程是:
(1)1.MP4—>1.ts 将单个MP4文件转换为ts文件
(2)1.ts、2.ts…n.ts—>output.mp4 将转换后的多个ts文件合并成MP4文件
步骤也挺简单的,就两行命令:
ffmpeg -i test1.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb test1.ts
ffmpeg -i test2.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb test2.ts
ffmpeg -i "concat:test1.ts|test2.ts" -c copy -bsf:a aac_adtstoasc -movflags +faststart output.mp4