Audio 如何将多个MP4视频与FFMPEG连接起来而不出现音频同步问题?

Audio 如何将多个MP4视频与FFMPEG连接起来而不出现音频同步问题?,audio,video,ffmpeg,Audio,Video,Ffmpeg,我一直在尝试使用所记录的FFMPEG concat协议连接许多MP4剪辑(h264,aac)。剪辑连接成功,但日志中存在多个错误,包括: 输出流中的非单调DTS 过去的持续时间太长 此外,随着更多剪辑的添加,音频和视频似乎有点不同步——尽管在某些播放器上(Quicktime和Chrome HTML5)更为明显 这是我正在使用的代码,任何提示都将不胜感激 将每个视频转换为临时文件 ffmpeg-y-i-vcodec libx264-acodec aac-f mpegts-bsf:v h264_

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

  • 输出流中的非单调DTS
  • 过去的持续时间太长
此外,随着更多剪辑的添加,音频和视频似乎有点不同步——尽管在某些播放器上(Quicktime和Chrome HTML5)更为明显

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

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

ffmpeg-y-i-vcodec libx264-acodec aac-f mpegts-bsf:v h264_mp4toanexb-mpegts_copyts 1

Concat临时文件


ffmpeg-i concat-map 0-vcodec copy-aprofile aac_low-acodec aac-strict experimental-cutting 15000-vbsf aac_adtstoasc-b:a 32k

既然您同时对音频和视频进行编码,只需使用concat解复用器:

创建包含要联接的文件列表的文本文件

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>
ffmpeg-f concat-i textfile-map 0\
-vcodec libx264\
-aprofile aac_低-acodec aac-严格实验-截止15000-b:a 32k

谢谢Mulvya,我们尝试过,但时间戳问题相同。这些问题将保留,因为它们与源文件中的DTS系列相关。你应该只担心听到的音频不同步。我有一个类似的问题,浓缩两个视频会导致音频问题以及播放问题,你找到解决方案了吗?(下面mulvya的回答对我不起作用)。对我来说,音频质量变得非常糟糕,第二个视频与原始视频相比以0.5左右的速度播放,总视频长度比预期的长。