分割音频后连接音频中的FFmpeg间隙

时间:2016-05-27 20:35:11

标签: ffmpeg

不确定它是否是间隙或只是未对齐的音频样本,但当我将音频文件分成两部分时,如下所示:

ffmpeg -ss 0 -t 00:00:15.00 -i song.mp3 seg1.mp3

ffmpeg -ss 00:00:15.00 -t 15 -i song.mp3 seg2.mp3

然后再将它们与concat过滤器结合使用:

ffmpeg -i 'concat:seg1.mp3|seg2.mp3' out.mp3

有一个独特的" pop"段之间。我怎样才能实现这一目标?

我在seg2.mp3上看到了这个:

Duration: 00:00:15.05, start: 0.025057, bitrate: 128 kb/s
Stream #0:0: Audio: mp3, 44100 Hz, stereo, s16p, 128 kb/s

为什么"开始"不是0?这可能是差距。

1 个答案:

答案 0 :(得分:1)

如果您想消除差距,我建议您使用atrimconcat过滤器:

ffmpeg -i input -filter_complex \
"[0:a]atrim=end=15[a0]; \
 [0:a]atrim=start=15:end=30[a1]; \
 [a0][a1]concat=n=2:v=0:a=1" \
output.mp3

请注意MP3 files may have silence/delay at the beginning and end,因此使用单独编码的网段并不理想。