
我有幾個長音訊檔案(每個 80 分鐘;m4a),希望將它們分成 5 或 10 分鐘的片段。
我看到很多關於在長時間停頓、音調等情況下分割音訊檔案的問題,但似乎找不到關於這一簡單操作的問題。有誰知道一個簡單的方法來做到這一點?
當然,自動的和命令列的也可以——甚至是首選。
先致謝!
答案1
使用最近的 ffmpeg(下載靜態版本從這裡):
ffmpeg -i in.m4a -f segment -segment_time 300 -c copy out%03d.m4a
這使用段復用器並複製位元流。如果您的檔案有音訊和視訊串流,您可以使用 停用視訊串流-vn
。
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 <1 分鐘,以便於 Google 語音到文字的使用。
Audacity 可以正常工作,但就我而言,我總是更喜歡使用命令而不是圖形 UI。 mp4box 的最佳解決方案。我不會提供新信息,功勞是 dfkt (謝謝人)。我只是驗證它是一個很好的解決方案。