mp3批量剪切

说明

听mp3有声读物时,广告太烦人,好比每一集前20秒的都是相同的广告;
找过一些音频处理软件,有些软件根本就不支持批量操做只能单个操做;
有些支持批量可是设置繁琐,好比格式工厂须要对每个文件进行单独设置截切的开始时间和结束时间,而后批量转码,操做太麻烦(我有好几百个文件呢);
有些一运行直接被杀毒软件干掉了,不敢用。。
最后找到了ffmpeg,一个很好用的mp3命令行处理工具。html

命令参考

参考:
http://blog.sina.com.cn/s/blog_5d0f322c0102x6pz.html
http://ffmpeg.org/ffmpeg.htmlweb

# 一条命令音频编辑-截取MP3音乐文件片断(MP3文件裁切)
$ ffmpeg -i source_mp3.mp3 -ss 00:00:25 -t 00:25:00 -acodec copy output_mp3.mp3
# 源文件:source_mp3
# 转码开始时间位置:-ss
# 转码结束时间位置:-t
# 原始编码(表示不转码):-acodec
# 拷贝输出到指定目录:copy output_mp3.mp3

遍历指定目录对mp3文件进行裁剪

  1. 下载ffmpeg
    windows下载地址以下:
    官方下载链接
    csdn下载链接shell

  2. 安装ffmpeg
    zip包直接解压便可使用windows

  3. 新建一个window批处理命令:cutter.bat,键入以下内容svg

@echo off
D:
rem 进入ffmpeg的bin目录(固然若是你直接将ffmpeg配置到环境变量中了则能够省略这一步)
cd D:\ProgramFiles\ffmpeg-20190705-a514244-win64-static\bin
rem 遍历指定目录下的mp3
for %%s in (C:\Users\xxx\Downloads\dest\*.mp3) do (
	rem 获得包含路径的mp3文件名  
	echo %%s
	rem 拼接输出的目标文件名  
	echo %%s.dest.mp3
	rem 从20秒开始剪切去掉前面20秒的广告
	ffmpeg -i %%s -ss 00:00:25 -acodec copy %%s.dest.mp3
)
pause
  1. 双击cutter.bat执行便可