如何使用FFmpeg通过配置文件单命令分割MP3音频文件
使用FFmpeg单命令分割MP3音频
你可以借助shell文本处理工具解析segments.txt配置,结合FFmpeg实现一次命令完成三段音频的分割,无需重复读取输入文件,效率更高。
核心命令(Linux/macOS)
ffmpeg -i input.mp3 $(awk '{print "-ss " $1 " -to " $2 " -map 0:a " $3 ".mp3"}' segments.txt)
命令说明
-i input.mp3:替换为你实际的输入MP3文件名awk '{print "-ss " $1 " -to " $2 " -map 0:a " $3 ".mp3"}' segments.txt:自动解析配置文件每行内容,生成对应分段参数:-ss $1:指定分段的开始时间-to $2:指定分段的结束时间(不包含该时间点)-map 0:a:选择输入文件的音频流(避免FFmpeg自动选择其他无效流)$3 ".mp3":生成对应分段的输出文件名
Windows PowerShell版本命令
如果使用Windows系统,可执行以下命令:
$segParams = Get-Content segments.txt | ForEach-Object { $split = $_ -split '\s+'; "-ss $($split[0]) -to $($split[1]) -map 0:a $($split[2]).mp3" } ffmpeg -i input.mp3 $segParams
优化建议
如果需要保留原音频编码参数、避免重新编码以提升速度,可添加-c:a copy参数:
ffmpeg -i input.mp3 -c:a copy $(awk '{print "-ss " $1 " -to " $2 " -map 0:a " $3 ".mp3"}' segments.txt)
内容的提问来源于stack exchange,提问作者Martin
相关产品推荐
相关产品推荐

