gpt4 book ai didi

audio - ffmpeg concat 丢弃音频帧

转载 作者:行者123 更新时间:2023-12-04 11:18:16 24 4
gpt4 key购买 nike

我有一个 mp4 文件,我想取出视频的两个连续部分并将它们渲染为单独的文件,然后将它们重新组合回原始视频。例如,使用我的视频 video.mp4,我可以运行

ffmpeg -i video.mp4 -ss 56 -t 4 out1.mp4
ffmpeg -i video.mp4 -ss 60 -t 4 out2.mp4

创建out1.mp4,其中包含video.mp4的00:00:56到00:01:00,以及out2.mp4其中包含 00:01:00 到 00:01:04。但是,稍后我希望能够再次快速重新组合它们(即,无需重新编码),所以我使用 concat demuxer ,

ffmpeg -f concat -safe 0 -i files.txt -c copy concat.mp4

files.txt 包含在哪里

file out1.mp4
file out2.mp4

理论上应该让我返回 video.mp4 的 00:00:56 到 00:01:04,但是在发生连接时总是会丢失音频帧,从而产生非常令人不快的声音伪像,一个音频blip,如果你愿意的话。

missing audio frames

我在最初创建视频的两个部分时尝试使用 async-af apad 但我仍然面临同样的问题,并且没有找到其他地方的解决方案。我在多个不同的用例中都遇到过这个问题,所以希望这个简单的例子能阐明真正的问题。

最佳答案

我建议您使用 PCM 音频将片段导出到 MOV,然后将这些片段连接起来但重新编码音频。

ffmpeg -i video.mp4 -c:a pcm_s16le -ss 56 -t 4 out1.mov
...

然后

ffmpeg -f concat -safe 0 -i files.txt -c:v copy concat.mp4

关于audio - ffmpeg concat 丢弃音频帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46577437/

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