连接并循环 MP3 文件

连接并循环 MP3 文件

我想连接并循环播放 3 个 MP3 文件。

grammaraudio1.mp3 grammaraudio2.mp3 grammarsudio3.mp3 

输出文件必须循环播放第一个 MP3 文件五次,然后循环播放第二个 MP3 文件五次,等等。我可以使用 ffmpeg 来做到这一点吗?

我希望曲目的第二部分包含相同的 MP3 文件,但只循环 3 次。然后第三部分可以循环每个文件一次或两次。该命令必须输出单个 MP3 文件。

示例输出,其中x#是循环次数:

GA1.mp3 (x5) GA2.mp3 (x5) GA3.mp3 (x5) GA1.mp3 (x3) GA2.mp3 (x3) GA3.mp3 (x3) GA1.mp3 (x2) GA2.mp3 (x2) GA3.mp3 (x2)

答案1

假设 MP3 具有相同的采样率和通道数,使用

ffmpeg -f lavfi -i amovie=grammaraudio1.mp3:loop=5,asetpts=N/SR/TB
       -f lavfi -i amovie=grammaraudio2.mp3:loop=5,asetpts=N/SR/TB
       -f lavfi -i amovie=grammaraudio3.mp3:loop=5,asetpts=N/SR/TB
       -f lavfi -i amovie=grammaraudio1.mp3:loop=3,asetpts=N/SR/TB
       -f lavfi -i amovie=grammaraudio2.mp3:loop=3,asetpts=N/SR/TB
       -f lavfi -i amovie=grammaraudio3.mp3:loop=3,asetpts=N/SR/TB
       -f lavfi -i amovie=grammaraudio1.mp3:loop=2,asetpts=N/SR/TB
       -f lavfi -i amovie=grammaraudio2.mp3:loop=2,asetpts=N/SR/TB
       -f lavfi -i amovie=grammaraudio3.mp3:loop=2,asetpts=N/SR/TB
       -filter_complex "[0][1][2][3][4][5][6][7][8]concat=n=9:v=0:a=1" out.mp3

单一命令,无中间文件。

相关内容