ffmpeg操作mp3合并、截取、混合、格式转换

2020-12-24 10:40:01

参考地址 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 <百分比> 设定音量

 


  • 2017-12-05 22:30:02

    php7.0升级php7.2

    看电脑上的教程要备份7.0配置文件以及扩展啥的,我感觉不如卸载干净重新安装

  • 2017-12-06 09:35:10

    分页优化的四种方式

    在大数据量的情况下,原本很简单的分页如果没有处理好,你会发现分页的请求会消耗你大量的数据库时间。如果你遇到了这个问题,文章给了你几个很好的解决的方案。当然,初学者若能看完这篇文章,那么它会指导你写出更具有扩展性的分页代码。