多个mp4合并成一个我用的是转换成TS然后合并
这步骤是网上找的,没有出错
# 将 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 文件
现在问题是单个MP4,移除中间部分然后合并成一个mp4
mp4两次分割成mp4 再把两mp4转成ts 然后合并ts成一个mp4没有问题
我就是想优化成mp4直接分割成两个ts
这样就少了中间mp4转成ts的步骤了.
想请教下这里mp4分割指定时间的内容为ts怎么写
ffmpeg -i file.mp4 -y -vcodec copy -acodec copy -vbsf h264_mp4toannexb time1 time2 1.ts
我这样写的是
但是这样合并的时候会不停的报
Non-monotonous DTS in output stream 0:0; previous: 28321576, current: 28321576; changing to 28321577. This may result in incorrect timestamps in the output file.
虽然最终合并成功并且播放好像没问题,但是不知道是不是真没问题…
于是想求教下mp4直接分割成ts那部分的命令怎么写最好(可以避免合并时的错误?)
为以前发过的分割脚本添加了个简单的mp4合并于是成这样了…
可以合并多个mp4为一个
或者就像上面说的单个mp4去除中间的部分再合并.