gpt4 book ai didi

audio - FFmpeg concat 视频和音频不同步

转载 作者:行者123 更新时间:2023-11-28 21:38:39 32 4
gpt4 key购买 nike

使用 ffmpeg 连接多个文件 concat似乎导致音频的时间戳或偏移量不匹配。我试过几个视频,发现 h.264/MP4 也有同样的问题。

使用 concat 和编码 视频似乎工作正常。音频保持同步,因为 ffmpeg 进行了完整的转换计算并且似乎一切正常。

但是,简单地连接视频而不进行任何转换或编码会导致同步问题缓慢增加。显然,对视频进行编码而不是简单地加入它们会导致信息/质量损失,所以我宁愿找到解决这个问题的方法。

我已经 tried several flags解决这个似乎基于时间戳的问题。不过,这些似乎都无法解决问题。

ffmpeg -f concat -fflags +genpts -async 1 -i segments.txt test.mov
ffmpeg -auto_convert 1 -f concat -fflags +genpts -async 1 -i segments.txt -c copy test2.mov
ffmpeg -f concat -i segments.txt -c copy -fflags +genpts test3.mp4
ffmpeg -f concat -fflags +genpts -async 1 -i segments.txt -copyts test4.mov
ffmpeg -f concat -i segments.txt -copyts test5.mov
ffmpeg -f concat -i segments.txt -copyts -c copy test6.mov
ffmpeg -f concat -fflags +genpts -i segments.txt -copyts -c copy test7.mov

注意:我可以在 SO 上找到的所有其他问题似乎都可以通过简单地重新编码视频来“解决”问题。这不是一个好的解决方案。

更新

我意识到 concat 不是问题所在。原始剪辑集的时间戳不匹配。 concat + encoding 以某种方式解决了这个问题,但我不想每次都重新编码视频和松散的质量。

ffmpeg -y -ss 00:00:02.750 -i input.MOV -c copy -t 00:00:05.880 output.MOV

这导致了以下数据

ffprobe -v quiet -show_entries stream=start_time,duration output.MOV

start_time=-0.247500
duration=6.131125
start_time=-0.257333
duration=6.155333

从那时起,我尝试在不同的地方使用 -tom 和 -t 以及 -af apad -c:v copy 而且我仍然无法让持续时间保持不变。

Here is the full ffprobe output

Here is the original (red) vs the segment (green)

详细示例文件

我录制了一个示例视频,添加了将其切碎然后连接的命令。 http://davidpennington.me/share/audio_sync_test_video.zip

最佳答案

这两个步骤应该有效

第 1 步填充每个片段中的音频

ffmpeg -i segment1.mov -af apad -c:v copy <audio encoding params> -shortest -avoid_negative_ts make_zero -fflags +genpts padded1.mov

或者

使用同步流生成片段

ffmpeg -y -ss 00:00:02.750 -i input.MOV -c copy -t 00:00:05.880 -avoid_negative_ts make_zero -fflags +genpts segment.MOV

第 2 步连接

ffmpeg -f concat -i segments.txt -c copy test.mov

其中 segments.txt 包含填充文件的名称。

关于audio - FFmpeg concat 视频和音频不同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35416110/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com