如何在没有音频同步问题的情况下将多个MP4视频与FFMPEG连接起来?

时间:2016-03-09 19:09:41

标签: audio video ffmpeg

我一直在尝试使用记录here的FFMPEG concat协议连接多个MP4剪辑(h264,aac)。剪辑成功连接,但日志中存在多个错误,包括:

  • 输出流中的非单调DTS
  • 过去时间过长

此外,由于添加了更多剪辑,音频和视频似乎稍微不同步 - 尽管某些播放器(Quicktime和Chrome HTML5)更加明显。

这是我正在使用的代码,任何提示都将不胜感激!

将每个视频转换为临时文件

ffmpeg -y -i <input file> -vcodec libx264 -acodec aac -f mpegts -bsf:v h264_mp4toannexb -mpegts_copyts 1 <temp file>

Concat临时文件

ffmpeg -i concat <input1|input2 ...> -map 0 -vcodec copy -aprofile aac_low -acodec aac -strict experimental -cutoff 15000 -vbsf aac_adtstoasc -b:a 32k <output file>

1 个答案:

答案 0 :(得分:0)

由于您要对音频和视频进行编码,只需使用concat demuxer:

使用要加入的文件列表创建一个文本文件

file 'input1'
file 'input2'
file 'input3'
...

然后运行

ffmpeg -f concat -i textfile -map 0 \
-vcodec libx264 \
-aprofile aac_low -acodec aac -strict experimental -cutoff 15000 -b:a 32k <output file>