把长音频切成多段是最常见的批处理之一:播客按章节分集、有声书按章导出、采样包按小节切分。等分适合机械切割,固定间隔适合定时取样,自定义切点适合按内容切。切点必须落在 [起始偏移, 总时长] 区间内,重复或越界的切点会被自动忽略。
-
分段数
-
平均段长
-
最长段
-
最短段
| # | 起 | 止 | 时长 | 输出文件 |
|---|
等分:段长 = (总时长 − 起始偏移) ÷ 段数,第 i 段 = [偏移 + i × 段长, 偏移 + (i+1) × 段长]。固定间隔:段长 = 间隔分钟 × 60,末段按剩余时长截断。自定义切点:升序排序后与 [偏移, 总时长] 合并成边界序列,相邻两点构成一段。时间格式支持 mm:ss、hh:mm:ss 或纯秒数。
先算清楚,再交给编码器
音频切分本身是一条 ffmpeg 命令的事,真正容易出错的是时间点:切在字中间会截断音节,切得太密会产生一堆零点几秒的碎片,按错误的时间基准切会让相邻段出现重叠或空洞。所以先把边界算出来看清楚,再批量执行。
三种切分方式各自适合什么
| 方式 | 适用场景 | 注意 |
|---|---|---|
| 等分 N 段 | 录音笔长时间录音、批量抽样 | 段长完全一致,但切点由长度决定,不保证落在语义边界 |
| 固定间隔 | 定时巡检录音、每小时切片归档 | 末段通常不足一个间隔,属正常 |
| 自定义切点 | 播客分章、有声书按章、采样包按小节 | 最贴合内容,但需要先听一遍标时间点 |
关键技巧:无重编码切割
如果只是要切开、不改变编码格式,用 stream copy(-c copy)几乎瞬时完成,画质/音质零损失。代价是切点只能落在关键帧/帧边界上,所以实际切点会有几十毫秒的偏移。要精确到采样点时就必须重编码(-c:a aac 之类),速度慢很多。
这条命令按本页算出的时间点批量切分:
ffmpeg -i input.wav -f segment -segment_times 600,1530,2400 -c copy ep01_part_%02d.wav
其中 -segment_times 后面跟的就是本页「止」列去掉最后一段的那几个时间点(秒)。如果原音频超过一小时,注意有些工具把 1:03:20 解析成 63 分 20 秒而不是 1 小时 3 分——本工具按国际通用的 hh:mm:ss 处理,输入时请确认号段数量。
命名与元数据
批量切分最容易翻车的地方是文件排序:如果命名成 part_1、part_2 … part_10,按字符串排序会变成 1、10、2,所以本工具会按段数自动补零(10 段就补成 01–10)。另外切分不会自动带章节元数据,想保留章节信息要额外写 CUE 或 ffmetadata 文件。
你可能还想问
按时间点切分常用在哪?
有声书按章节拆条、播客按话题分段、录音按会议议程切片;提前准备好时间点列表即可批量导出多个文件。
切分点怎么选更自然?
选在静音段或语气间歇处,避免切断词语;如果原始素材有爆音或呼吸声,切点在该处反而更隐蔽。
输出文件怎么命名管理?
按「序号_标题_起止时间」命名,后续检索与剪辑对应更直观;批量导出后建议抽听首尾各一段确认没有丢字或重复。
速查在线工具箱