如何使用FFmpeg编写脚本分割MP3文件为小体积文件?
使用FFmpeg分割MP3为指定格式的小文件
下面提供两种常用的分割方案,满足你将test.mp3分割为test00.mp3、test01.mp3...这类命名小文件的需求,同时可按需压缩体积:
一、按固定时长分割(快速直接)
如果希望每个片段时长统一,比如每30秒一个文件,使用以下命令:
ffmpeg -i test.mp3 -f segment -segment_time 30 -c copy test%02d.mp3
参数说明:
-i test.mp3:指定输入文件-f segment:启用分割模式-segment_time 30:设置每个片段的时长(单位:秒,可自行调整)-c copy:直接复制音频流,不重新编码,速度极快,无质量损失test%02d.mp3:输出文件名格式,%02d会自动补零生成00、01、02...的序号
二、按固定文件大小分割(精准控制体积)
若需要每个文件大小一致,需先获取源文件的比特率,再计算对应时长:
获取源文件比特率:
Windows系统:ffmpeg -i test.mp3 2>&1 | findstr bitrateLinux/macOS系统:
ffmpeg -i test.mp3 2>&1 | grep -i bitrate输出示例:
bitrate: 128 kb/s计算目标片段时长:
假设目标每个文件为500KB,计算公式:时长(秒) = (目标大小(KB) * 8) / 比特率(kbps)
代入示例数值:(500 * 8) / 128 = 31.25秒执行分割命令:
若需同时压缩体积(降低比特率),可替换编码参数:ffmpeg -i test.mp3 -f segment -segment_time 31.25 -c:a libmp3lame -b:a 64k test%02d.mp3参数说明:
-c:a libmp3lame:使用MP3编码库重新编码-b:a 64k:设置输出比特率为64kbps,数值越小体积越小(可按需调整)
注意事项
- 若不需要压缩体积,保持
-c copy即可,速度更快 - 若分割后的文件末尾有少量偏差,是音频帧对齐导致的正常现象
- 确保已安装FFmpeg,可通过
ffmpeg -version验证安装状态
内容的提问来源于stack exchange,提问作者Lucas
相关产品推荐
相关产品推荐

