音频静默时间截取工具

通过ffmpeg工具裁剪掉音频文件中的静默时间(将音频文件中声音低于指定分贝的时间段裁剪掉)

通过ffmpeg获取音频静默时间段=>通过静默时间段截取非静默音频=>将非静默音频合并为完整音频

工具的github地址:https://github.com/secret1base/silencevoice

下面是相关的ffmpeg命令

1、输出音频波形图

ffmpeg -i C:\Users\Lenovo\Desktop\cctv0810_5050381qyL.mp3 -filter_complex "showwavespic=s=1720x180"  -frames:v 1 C:\Users\Lenovo\Desktop\111.png

2、mp3转pcm

ffmpeg -y -i C:\Users\Lenovo\Desktop\cctv0810_5050381qyL.mp3 -acodec pcm_s16le -f s16le -ac 2 -ar 16000 C:\Users\Lenovo\Desktop\16k.pcm

3、将音频文件中的静默时长从音频文件中移除后输出一个音频文件(测试后发现没有效果)

ffmpeg -i SILENCE.mp3 -af silencedetect=n=-50dB:d=1 -y -ab 192k SILENCE_OUT.mp3

4、输出音频文件中静默时间的开始与结束的时间节点

ffmpeg -i C:\Users\Lenovo\Desktop\20200801134820261.mp3 -af silencedetect=n=-50dB:d=0.5 -f null - 2> C:\Users\Lenovo\Desktop\log.txt

5、拆分音频文件

ffmpeg -ss 00:00:10 -t 00:01:00 -i input.mp3 -c copy output.mp3

    -i 输入的音频

    -c copy 用原来的编码并复制到新文件中

    -ss 起始时间

    -t 截取音频时间长度

    -ss和-t xx        // 单位:秒

    -ss和-t xx:xx:xx  // 时:分:秒

6、合并音频文件,这个是将多个音频合并为一个,合并后播放的效果为同时播放a、b、c音频的声音,也就是说将“天空之城”和“稻香”合并后会同时播放天空之城和稻香,而不是在播放完前者后再播放后者。

ffmpeg -i 音频文件1 -i 音频文件2 -i 音频文件3 -filter_complex amix=inputs=数量:duration=first:dropout_transition=数量 输出音频文件

ffmpeg -i 1.mp3  -i 2.mp3 -filter_complex amix=inputs=2:duration=first:dropout_transition=2 -f mp3 a.mp3

7、拼接音频    

1、方法一

    ffmpeg -i "concat:C:\Users\Lenovo\Desktop\xx\1.mp3|C:\Users\Lenovo\Desktop\xx\2.mp3" -c copy C:\Users\Lenovo\Desktop\xx\merge.mp3

    2、方法二

    ffmpeg -f concat -safe 0 -i C:\Users\Lenovo\Desktop\xx\zz.txt -c copy C:\Users\Lenovo\Desktop\xx\merge.mp3

    zz.txt的内容为

        ffconcat version 1.0

        file 'C:\Users\Lenovo\Desktop\xx\1.mp3'

        duration 44.0

        file 'C:\Users\Lenovo\Desktop\xx\2.mp3'

        duration 279.0

    注意事项:不同的音频被合并后时间长度会发生变化,不是a拼接b后的时长不等于a+b甚至会小于a或小于b

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值