ffmpeg 合并多个mp3 并且各个mp3之间停顿5秒
时间: 2023-11-02 17:10:27 浏览: 249
ffmpeg合并视频
5星 · 资源好评率100%
可以使用 ffmpeg 的 concat 指令来合并多个 MP3 文件。步骤如下:
1. 创建一个文本文件,列出要合并的 MP3 文件路径,例如:
```
file '/path/to/file1.mp3'
file '/path/to/file2.mp3'
file '/path/to/file3.mp3'
```
2. 使用 ffmpeg 的 concat 指令来合并文件:
```
ffmpeg -f concat -safe 0 -i filelist.txt -c copy output.mp3
```
其中,`-f concat` 表示使用 concat 协议,`-safe 0` 表示忽略文件路径安全检查,`-i filelist.txt` 表示输入的文件列表,`-c copy` 表示使用 copy 编码器,直接复制输入文件的编码数据,以加快处理速度,`output.mp3` 表示输出文件名。
3. 在每个文件之间插入 5 秒的静音,可以使用 ffmpeg 的 anullsrc 和 adelay 指令来实现。例如,将上面的命令修改为:
```
ffmpeg -f concat -safe 0 -i filelist.txt -filter_complex \
"[0:a]anullsrc=channel_layout=stereo:sample_rate=44100,adelay=5000|5000[a1]; \
[a1][1:a]concat=n=2:v=0:a=1[a2]; \
[a2][2:a]concat=n=3:v=0:a=1" \
-c:a libmp3lame output.mp3
```
其中,`-filter_complex` 表示使用复杂的滤镜图,`anullsrc` 指令生成一个长度为 5 秒的静音片段,`adelay` 指令将静音片段延迟 5 秒,`concat` 指令将延迟后的静音片段和下一个文件合并。需要注意的是,第一个文件前面不需要插入静音片段,因此要单独处理。
阅读全文