windows - FFMPEG -F 连接视频、音频同步问题

标签 windows ffmpeg concatenation

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

我已经尝试了下面两个链接/所以 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

所以,任何帮助,如何使音频与视频完美同步都会很棒:)

最佳答案

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

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

第一个示例视频(在我的问题中提到)帧率为 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

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

最诚挚的问候

关于windows - FFMPEG -F 连接视频、音频同步问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40860443/

相关文章:

r - 来自数据框中 3 个不同变量的日期

audio - FFmpeg:连接 .webm 文件有些是视频只有一些音频只有一些两者都有

c++ - 如何使用 Qt 应用程序发送传真?

python - 通过 HTTP 流式传输 ffmpeg 输出

php - 我想使用 ffmpeg 将图像用作 drawtext 视频的背景

c# - "An attempt was made to load a program with an incorrect format"

php - 如何在一个mysql表中按特定年份过滤特定类(class)?

windows - 如何调试 'Xaml.UnhandledExceptionEventArgs'异常?

c++ - WAN 上 Windows 命名管道的低吞吐量

c# - 在 C# 中查看非托管 dll 上的导出表