linux下通过ffmpeg实现音频拼接

1,下载安装MP3编码库

wget https://nchc.dl.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz
tar -zxvf lame-3.100.tar.gz -C /usr/local/
cd /usr/local/lame-3.100/
./configure --prefix=/usr/local/ --enable-shared
make
make install

2,下载安装ffmpeg

wget https://ffmpeg.org/releases/ffmpeg-4.1.tar.bz2
tar -jxvf ffmpeg-4.1.tar.bz2 -C /usr/local/
cd /usr/local/ffmpeg-4.1/
./configure --prefix=/usr/local/ffmpeg/ --enable-shared --enable-libmp3lame
make
make install

3,测试
/usr/local/ffmpeg/bin/ffmpeg
在这里插入图片描述
出现此内容表示安装成功

4,合并文件

/usr/local/ffmpeg/bin/ffmpeg -i 1.mp3 -i 2.mp3 -filter_complex '[0:0] [1:0] concat=n=2:v=0:a=1 [a]' -map [a] 3.mp3

5,问题及解决

问题1,测试的时候出现error whi

### 如何使用 FFmpeg 拼接多个音频文件 #### 准备工作 为了能够顺利运行 FFmpeg 命令,需先确认 FFmpeg 已经被正确安装并且其二进制文件路径已加入系统的环境变量中[^2]。 对于 Windows 用户来说,在完成 FFmpeg 安装包解压后,应该把 `D:\ffmpeg-4.3-win64-static\bin` 这样的目录添加至 PATH 环境变量里。而对于 Linux 或 macOS 用户,则可以通过命令 `whereis ffmpeg` 来找到 FFmpeg 的安装位置,并确保该路径存在于环境变量之中[^1]。 #### 实现拼接功能的具体命令 要实现两个或更多个 MP3 文件的无缝连接,可以采用如下所示的 FFmpeg 命令: ```bash ffmpeg -i input1.mp3 -i input2.mp3 -filter_complex "[0:a][1:a]concat=n=2:v=0:a=1[out]" -map "[out]" output.mp3 ``` 这条指令中的 `-i` 参数用于指定输入文件名;而 `-filter_complex` 则定义了一个复杂的过滤器链来处理这些音轨。这里特别指定了 `[0:a][1:a]concat=n=2:v=0:a=1[out]` 表达式,它表示将第一个和第二个音频流(即来自前两个输入文件的声音数据)按照顺序串联起来形成一个新的单一音频轨道。最后通过 `-map "[out]"` 将这个新创建好的音频映射给最终输出文件 `output.mp3`[^4]。 如果想要一次性合并超过两个以上的音频片段,只需继续增加 `-i` 输入项的数量以及调整 concat 中 n 的数值即可。例如当有三个音频文件时可修改为: ```bash ffmpeg -i input1.mp3 -i input2.mp3 -i input3.mp3 -filter_complex "[0:a][1:a][2:a]concat=n=3:v=0:a=1[out]" -map "[out]" output.mp3 ``` 这样就可以轻松地利用 FFmpeg 把多首歌曲或者其他类型的音频资料合成为一个完整的录音作品了。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值