gpt4 book ai didi

audio - 如何使用 ffmpeg 在特定位置后延迟音频?

转载 作者:行者123 更新时间:2023-12-03 01:10:08 30 4
gpt4 key购买 nike

我有 10 秒 a.mp4有两个流:Stream #0是视频流和 Stream #1是音频流。
现在,我想在时间位置 00:03 之后将音频流延迟 4 秒。也就是说,在输出文件中,我要的是:00:00-00:03是原始音频,00:03-00:07没有声音,00:07-00:14是原始00:03 -00:10 音频。
我试过这个:

ffmpeg -i a.mp4 -t 00:00:03 -i a.map4 -itsoffset 4 -ss 00:00:03 -i a.mp4 -map 0:v -map 1:a -map 2:a -codec copy output.mp4
但似乎 output.mp4 中有两个音频流并且其中只有一个可以播放一次。然后我尝试了 amix筛选:
ffmpeg -i a.mp4 -t 00:00:03 -i a.mp4 -itsoffset 4 -ss 00:00:03 -i a.mp4 -filter_complex "[1:a][2:a] amix=inputs=2" -map 0:v output.mp4
但它也不起作用。我是 ffmpeg 的新手所以我不知道我现在该怎么办?对我有什么想法吗?非常感谢!

最佳答案

使用 asetpts 过滤器更改时间戳,并使用 aresample (可选)在该间隙中插入静音。ffmpeg -i a.mp4 -af "asetpts='if(lt(T\,3),PTS,PTS+4/TB)',aresample=async=1" -c:v copy output.mp4在没有 aresample 的情况下进行测试,看看您的播放器是否能够容忍音频流中的大间隙。

关于audio - 如何使用 ffmpeg 在特定位置后延迟音频?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63848940/

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