FFmpeg 多次淡入淡出并循环播放音频文件

FFmpeg 多次淡入淡出并循环播放音频文件

我确实需要在 filter_complex 中使用 crossfade 循环一批音频(每段 7 分钟)。我尝试了以下代码,但效果很奇怪。因为如果我使用此代码 - 我会得到一个文件的 2 次重复。文件最后变得有点被裁剪了。

ffmpeg -i 0.mp3 -vn -filter_complex "[0][0]acrossfade=d=10:c1=tri:c2=tri" out2.mp3

但是如果我使用此代码,我会得到 3 次重复(为什么?)并且文件结尾有点被裁剪。

ffmpeg -i 0.mp3 -vn -filter_complex "[0][0]acrossfade=d=10:c1=tri:c2=tri[a01],
 [0][0]acrossfade=d=10:c1=tri:c2=tri[a02],[a01][a02]acrossfade=d=10:c1=tri:c2=tri" out2.mp3

我可以使用这个方法吗?

    ffmpeg -i 0.mp3 -vn -filter_complex "[0][0]acrossfade=d=10:c1=tri:c2=tri[a01],
 [0][0]acrossfade=d=10:c1=tri:c2=tri[a02],
 [0][0]acrossfade=d=10:c1=tri:c2=tri[a03],
 [0][0]acrossfade=d=10:c1=tri:c2=tri[a04],
 [0][0]acrossfade=d=10:c1=tri:c2=tri[a05],
 [0][0]acrossfade=d=10:c1=tri:c2=tri[a06],
 [0][0]acrossfade=d=10:c1=tri:c2=tri[a07],
 [0][0]acrossfade=d=10:c1=tri:c2=tri[a08],
 [0][0]acrossfade=d=10:c1=tri:c2=tri[a09],
 [0][0]acrossfade=d=10:c1=tri:c2=tri[a10],

 [a10][a09]acrossfade=d=10:c1=tri:c2=tri[a11],
 [a08][a07]acrossfade=d=10:c1=tri:c2=tri[a12],
 [a06][a05]acrossfade=d=10:c1=tri:c2=tri[a13],
 [a04][a03]acrossfade=d=10:c1=tri:c2=tri[a14],
 [a02][a01]acrossfade=d=10:c1=tri:c2=tri[a15],

 [a15][a14]acrossfade=d=10:c1=tri:c2=tri[a21],
 [a13][a12]acrossfade=d=10:c1=tri:c2=tri[a22],

 [a11][a22]acrossfade=d=10:c1=tri:c2=tri[a31],
 [a21][a31]acrossfade=d=10:c1=tri:c2=tri" out2.mp3

但我认为这很可怕,而且有一种方法可以让它变得更简单......

相关内容