我有 2 个 mp3 文件。a.mp3 时长为 1000 秒,b.mp3 时长为 10 秒。我想从 50 秒开始将 b.mp3 添加到 a.mp3 中,这样输出将为 1010 秒。
我该如何使用 FFmpeg 实现它?有没有简单的命令行方法?
这看起来似乎是一件简单的任务,但我在谷歌上没有找到任何解决方案。
答案1
修剪
ffmpeg -i "a.mp3" -i "b.mp3" -filter_complex "
[0:a]atrim=end=50,asetpts=PTS-STARTPTS[a1];
[0:a]atrim=start=50,asetpts=PTS-STARTPTS[a3];
[a1][1:a][a3]concat=n=3:v=0:a=1
" out.mp3
答案2
start_a.mp3
使用a.mp3
并在 50 秒时切断来创建新文件:
ffmpeg -i a.mp3 -t 50 start_a.mp3
end_a.mp3
然后通过隔离另一部分来创建一个名为的文件a.mp3
:
ffmpeg -i a.mp3 -ss 50 end_a.mp3
然后将这些文件连接到b.mp3
中间:
ffmpeg -i start_a.mp3 -i b.mp3 -i end_a.mp3 -filter_complex [0:a][1:a][2:a]concat=n=3:v=0:a=1 output.mp3