使用 ffmpeg 批量剪辑 mp3

发表时间 ·

ffmpeg 是一款使用方便的音视频编辑软件,我们可以用它来裁切、拼接、转码输出到其他类型的音视频文件。本文列举一些常用的操作命令。

Mac/Linux 上批量转换

下面的 bash 脚本可以批量转换 m4a 格式到 mp3:

for i in *.m4a ; do
    ffmpeg -i "$i" -acodec libmp3lame "${i%.*}.mp3"
done

所有名叫 foo.m4a 的文件都被转化为 foo.mp3 。 其中 acodec 参数是 “指定音频编解码器” 的意思,这里使用 lame 插件压缩 mp3

Windows 上批量转换

下面的批处理文件用于批量转换 DSD 格式文件到 Mp3,并使用 lame 的 0 级 压缩质量

@echo off
for /r %%f in (*.d?f) do ffmpeg -i "%%f" -acodec libmp3lame -aq 0 "%%~nf.mp3"

ffmpeg 使用的时间格式

在 ffmpeg 的命令行中,接受 两种时间格式

  • 时分秒,比如: 00:01:05
  • 秒,比如:-5

去掉开头

使用 -ss 参数置于输出文件路径之前,用于改变输出文件的开始位置:

ffmpeg -i infile -acodec copy -ss 00:00:05 outfile

上面这个命令将开始位置向后移动5秒钟,等于裁掉前面5秒钟。

还可以用 -sseof 参数相对文件末尾指定开始时间,用负值时间表示向前移动。

ffmpeg -i infile -acodec copy -sseof -25 outfile

上面这个命令将开始位置移动到结束前的25秒钟,等于只保留最后25秒钟。 -acodec copy 表示仅复制,不编码。

去掉末尾

使用 -to 参数置于输出文件路径之前,用于改变输出文件的结束位置:

ffmpeg -i infile -acodec copy -to 00:20:00 outfile

使用 -t 参数置于输出文件路径之前,用于指定输出文件的总长度:

ffmpeg -i infile -acodec copy -t 00:19:55 outfile

ffmpeg 的特点

ffmpeg 在 自己的网站 上将自己的特点总结为:

FFmpeg is the leading multimedia framework, able to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created. It supports the most obscure ancient formats up to the cutting edge.

FFmpeg的是全球领先的多媒体框架,能够解码、编码、 转码、复用、解复用、流、过滤器和播放几乎所有人造和机器产生的媒体。它支持的格式从最远古的时代,直至当今最前沿。


相关文章   欢迎到 留言板 写下你的看法。
  本页面内容采用 署名协议 CC-BY 授权。欢迎转载,请保留原文链接