参考地址 ffmpeg 多个音频合并 截取 拆分
1 多个mp3文件合并成一个mp3文件)
一种方法是连接到一起
ffmpeg64.exe -i "concat:123.mp3|124.mp3" -acodec copy output.mp3
(我用的这个方法并美誉合并成功,不知道为啥,我是这么解决的)
/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] new.mp3
其中 concat=n=2 中的 2是指输入的mp3数量。
解释:-i代表输入参数
contact:123.mp3|124.mp3代表着需要连接到一起的音频文件
-acodec copy output.mp3 重新编码并复制到新文件中
另一种方法是混合到一起
ffmpeg64.exe -i 124.mp3 -i 123.mp3 -filter_complex amix=inputs=2:duration=first:dropout_transition=2 -f mp3 remix.mp3
解释:-i代表输入参数
-filter_complex ffmpeg滤镜功能,非常强大,详细请查看文档
amix是混合多个音频到单个音频输出
inputs=2代表是2个音频文件,如果更多则代表对应数字
duration 确定最终输出文件的长度
longest(最长)|shortest(最短)|first(第一个文件)
dropout_transition
The transition time, in seconds, for volume renormalization when an input stream ends. The default value is 2 seconds.
-f mp3 输出文件格式
2 音频文件截取指定时间部分
毫秒级别的截取 00:00:00.11
如果音频非常小,可能会失败,可以先拼接一个长的,再截取的小一点
ffmpeg64.exe -i 124.mp3 -vn -acodec copy -ss 00:00:00 -t 00:01:32 output.mp3
解释:-i代表输入参数
-acodec copy output.mp3 重新编码并复制到新文件中
-ss 开始截取的时间点
-t 截取音频时间长度
3 音频文件格式转换
ffmpeg64.exe -i null.ape -ar 44100 -ac 2 -ab 16k -vol 50 -f mp3 null.mp3
解释:-i代表输入参数
-acodec aac(音频编码用AAC)
-ar 设置音频采样频率
-ac 设置音频通道数
-ab 设定声音比特率
-vol <百分比> 设定音量