FFMPEG -F Concat Video,Audio Sycn Issue

时间:2016-11-29 07:52:11

标签: windows ffmpeg concat

我遇到问题,为了连接视频,它会丢失从上一个视频开始的音频同步和音频。

我试过以下两个链接/所以Mulvya的答案,但没有一个工作:(

这是我正在尝试的代码:

1:重新编码文件a(1):

ffmpeg.exe -i "f:\1.avi" -af apad -vf scale=1280:720 -crf 15.0 -vcodec libx264 -acodec aac -ar 48000 -b:a 192k -coder 1 -rc_lookahead 60 -threads 0 -shortest -avoid_negative_ts make_zero -fflags +genpts 01.mp4

2:重新编码文件b(2):

ffmpeg.exe -i "f:\2.mp4" -af apad -vf scale=1280:720 -crf 15.0 -vcodec libx264 -acodec aac -ar 48000 -b:a 192k -coder 1 -rc_lookahead 60 -threads 0 -shortest -avoid_negative_ts make_zero -fflags +genpts 02.mp4

3:现在使用以下命令联系:

ffmpeg.exe -f concat -safe 0 -i "f:\files.txt" -c copy test.mp4

但音频未与视频同步;(

我还在dropbox上传了视频(以及输出):

Video Sync Issue Source And Result Files

所以,任何帮助,如何使音频与视频完美同步将是伟大的:)

2 个答案:

答案 0 :(得分:1)

另一个论坛上的其他人帮我找到了这个问题。所以,我把它作为答案发布在这里,以便其他人可以得到帮助。

我担心相同的帧大小,音频和视频编解码器要正确连接,但我忘了帧速率

第一个样本视频(在我的问题中提到)帧率为12,而第二个视频帧率为25;这就是造成同步问题的原因。

现在,我已将帧速率25设置为这两个视频(-r 25),它的工作方式与魅力相同:)

下面的

是完整的转换代码:

ffmpeg.exe -i "f:\1.avi" -r 25 -af apad -vf scale=1280:720 -crf 15.0 -vcodec libx264 -acodec aac -ar 48000 -b:a 192k -coder 1 -rc_lookahead 60 -threads 0 -shortest -avoid_negative_ts make_zero -fflags +genpts 01.mp4

希望它能在不久的将来帮助像我这样的人。

最好的问候

答案 1 :(得分:0)

用于同步音频和音频的其他解决方案视频

在输入文件中使用-bsf:v h264_mp4toannexb

ffmpeg.exe -i "1.avi" -af apad -vf scale=1280:720 -crf 15.0 -vcodec libx264 -acodec aac -bsf:v h264_mp4toannexb -ar 48000 -b:a 192k -coder 1 -rc_lookahead 60 -threads 0 -shortest -avoid_negative_ts make_zero -fflags +genpts output1.flv

和第二个文件相同

ffmpeg.exe -i "2.avi" -af apad -vf scale=1280:720 -crf 15.0 -vcodec libx264 -acodec aac -bsf:v h264_mp4toannexb -ar 48000 -b:a 192k -coder 1 -rc_lookahead 60 -threads 0 -shortest -avoid_negative_ts make_zero -fflags +genpts output2.flv

然后文件可以连接在一起

ffmpeg -f concat -safe 0 -i concat.txt -c copy -bsf:a aac_adtstoasc final.flv

其中concat.txt文件包含

file 'output1.flv'
file 'output2.flv'