我有两个不同的命令。
ffmpeg -i input.mp3 -i second.mp3 -filter_complex "[0:a]atrim=end=10,asetpts=N/SR/TB[begin];[0:a]atrim=start=10,asetpts=N/SR/TB[end];[begin][1:a][end]concat=n=3:v=0:a=1[a]" -map "[a]" output
此命令将second.mp3插入input.mp3中。似乎总是保留input.mp3的参数。它将在整整10秒钟的input.mp3中插入。
这是第二个命令:
ffmpeg -i input.mp3 -i second.mp3 -filter_complex "[1:a]adelay=10000|10000[1a];[0:a][1a]amix=duration:first" output
此命令更接近我的最终目标。它会播放input.mp3,并在大约10秒钟内沿second.mp3播放,而不会停止input.mp3的声音。(我认为这就是混音?)
我的最终目标是创建final.mp3。
其持续时间必须始终等于input.mp3持续时间。它必须保持input.mp3的采样率,通道数等
播放final.mp3时,必须播放整个input.mp3。 但是每隔10-15秒,它必须播放second.mp3而不停止input.mp3。(混音) 可以说我必须在循环中使用“第二命令”。 如果在ffmpeg中有一个单行命令,那就太好了。 我正在使用flac,mp3和wav,两个命令都适用于此。
例如:
input.mp3可能长达40秒。
second.mp3可能长2秒。
当我播放final.mp3时,它会长40秒,但是每10-15秒(随机)它将与input.mp3同时播放一秒。mp3。
可悲的是,我没有使用ffmpeg的经验,我得到的两个命令都是stackoverflow中问题的答案。希望有人能帮助我。谢谢!