【发布时间】:2018-03-16 14:08:57
【问题描述】:
我有一个 mp4 文件,我想取出视频的两个连续部分并将它们渲染为单独的文件,然后将它们重新组合回原始视频。例如,通过我的视频video.mp4,我可以运行
ffmpeg -i video.mp4 -ss 56 -t 4 out1.mp4
ffmpeg -i video.mp4 -ss 60 -t 4 out2.mp4
创建包含 video.mp4 的 00:00:56 到 00:01:00 的 out1.mp4 和包含 00:01:00 到 00:01:04 的 out2.mp4。但是,稍后我希望能够再次快速重新组合它们(即,无需重新编码),所以我使用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 ,如果你愿意的话。
我在最初创建视频的两个部分时尝试使用async 和-af apad,但我仍然面临同样的问题,并且在其他地方没有找到解决方案。我在多个不同的用例中都遇到过这个问题,所以希望这个简单的例子能阐明真正的问题。
【问题讨论】:
标签: audio video ffmpeg mp4 concat