原始人工流程
#
- 影片轉 mp3
1
|
ffmpeg -i test.mp4 -vn -c:a libmp3lame -q:a 0 test.mp3
|
- 移除停頓中的空隙
1
|
ffmpeg -i test.mp3 -af "silenceremove=stop_periods=-1:stop_duration=0.5:stop_threshold=-40dB" test.v0.2.mp3
|
- 雙聲道單聲道
1
|
ffmpeg -i test.v0.1.mp3 -ac 1 -ar 16000 test.v0.2.mp3
|
AI 建議
#
這三個步驟可以直接整合成一行指令,一次完成提取音訊、去除靜音、降為單聲道以及調整取樣率,避免多次編碼造成音質反覆失真與浪費時間。
整合後的一行指令
#
1
|
ffmpeg -i test.mp4 -vn -af "silenceremove=stop_periods=-1:stop_duration=0.5:stop_threshold=-40dB" -ac 1 -ar 16000 -c:a libmp3lame -q:a 0 output.mp3
|
優化重點
#
- 合併濾鏡與參數處理:
直接在來源影片處理音訊濾鏡
silenceremove、單聲道轉換 -ac 1 與取樣率設定 -ar 16000,中間不產生任何暫存檔案。
- 避免重複失真:
MP3 屬於有損壓縮格式。原本流程每轉一次就重新編碼一次,會逐步劣化音質;合併後只在最後儲存時編碼一次。
- 大幅縮短處理時間:
省去多次磁碟讀寫與反覆編碼的開銷,執行速度會明顯加快。
額外提醒
#
如果你的最終目的是為了送進語音辨識模型(例如 Whisper),輸出格式改用未壓縮的 WAV 會更合適,不僅能省去 MP3 的編碼運算時間,也能維持辨識精準度:
1
|
ffmpeg -i test.mp4 -vn -af "silenceremove=stop_periods=-1:stop_duration=0.5:stop_threshold=-40dB" -ac 1 -ar 16000 output.wav
|