将音频文件分割成指定长度的块

将音频文件分割成指定长度的块

我有几个长音频文件(每个 80 分钟;m4a),想将它们分成 5 分钟或 10 分钟的片段。

我看到很多关于在长时间停顿、音调等情况下分割音频文件的问题,但似乎找不到关于这个简单操作的问题。有人知道一个简单的方法吗?

当然,自动化和命令行也是可以的——甚至是更好的。

提前致谢!

答案1

使用最新的 ffmpeg(下载静态构建从这里):

ffmpeg -i in.m4a -f segment -segment_time 300 -c copy out%03d.m4a

这将使用段复用器并复制比特流。如果您的文件包含音频和视频流,您可以使用 禁用视频流-vn


这是一行代码,你只需要红宝石FFmpeg已安装:

ruby -e '(0..4500).step(300) { |x| system "ffmpeg -ss #{x} -i in.m4a -c copy -t 300 out-#{x}.m4a"}'

只需在同一个文件夹中执行该操作即可in.m4a。它将复制音频比特流,因此执行此操作可能只需不到几秒钟。

解释:

  • 4800 秒是音频文件的长度(80 分钟 × 60 秒),所以我们最后的分割是在 4500(4800 - 300 秒)。
  • 我们从 0 到 4500,每 300 秒(5 分钟 × 60 秒)分割一次。
  • FFmpeg 将在指定的时间启动-ss
  • 它会按照指定的时间进行复制-t
  • 它将写入几个名为 的输出文件out-<x>.mp4,其中<x>是以秒为单位的开始时间。

答案2

我自己也在寻找解决方案。我发现最简单的方法是通过MP4盒

mp4box -split 300 infile.m4a

其中“300”是以秒为单位的时间。MP4Box 将自动写入编号的输出文件。

(您不需要安装整个大型 GPAC 应用程序。您可以从存档中提取这些文件以使其运行:js.dll;libeay32.dll;libgpac.dll;MP4Box.exe;ssleay32.dll)

答案3

这个问题已经有一段时间没有被问到了,但是在使用了 Ruby 和 ffmpeg 之后,我决定在 Windows 中必须有一种更简单的方法来做到这一点,而且我发现确实有。

下载并安装 Audacity

在您可以找到的地方创建一个文本文件,并将以下字符串粘贴到其中:(300 秒间隔,即 5 分钟,10 分钟将是 600 个间隔,等等...)

0       300  
300     600  
600     900  
900     1200  
1200    1500  
1500    1800  
1800    2100  
2100    2400  
2400    2700  
2700    3000  
3000    3300  
3300    3600  
3600    3900  
3900    4200  
4200    4500  
4500    4800  
4800    5100  
5100    5400  
5400    5700  
5700    6000  
6000    6300  
6300    6600  
6600    6900  
6900    7200  
7200    7500  
7500    7800  
7800    8100  
8100    8400  
8400    8700  
8700    9000  
9000    9300  
9300    9600  
9600    9900  
9900    10200  
10200   10500  
10500   10800  
10800   11100  
11100   11400  
11400   11700  
11700   12000  
12000   12300  
12300   12600  
12600   12900  
12900   13200  
13200   13500  
13500   13800  
13800   14100  
14100   14400  
14400   14700  
14700   15000  

只需确保间隔数大于音频文件的总长度,我创建的这个文件运行超过三个小时,足够满足我的需要,可以添加更多内容以满足您的需要。

将音频文件导入 Audacity,进行所需的平衡和其他编辑,然后单击文件>标签>导入标签

选择您的文本文件,然后同时选择标签轨道和音轨,然后单击文件>导出多个。

更改您想要导出的文件类型并调整设置,然后选择目标文件夹。

我总是将编号模式更改为文件名前缀后的编号,然后在框中键入我想要的文件名,程序就会添加数字,点击导出,然后就大功告成了!

答案4

MP4Box 运行完美。当你能从终端完成任务时,感觉很棒。更快捷。

这是下载页面: https://gpac.wp.imt.fr/downloads/gpac-nightly-builds/ 您安装该程序后,就可以从终端工作,无需其他任何操作。

经过测试,命令 dfkt 表示完美运行:mp4box -split 59 infile.m4a

就我而言,我想将其拆分为 m4a <1min,以方便谷歌语音转文本使用。

Audacity 可以正常工作,但就我而言,我总是喜欢使用命令而不是图形用户界面。因此,对于 mp4box 来说,这是最佳解决方案。我没有提供新信息,功劳归于 dfkt(谢谢)。我只是确认这是一个很好的解决方案。

相关内容