Audio
如何將巨大的 FLAC 文件編碼為 MP3 和 AAC 等其他文件?
我的問題是很長的錄音,比 WAV 支持的時間長。我說的是長達八小時左右的連續錄音。
現在,我在 FLAC 中使用sox進行大部分錄音,這是最有意義的,因為這些是來自外部音效卡的現場錄音。
現在,我想將其編碼為 MP3 或 AAC(在 MP4 容器中)。
我設法做到這一點的唯一方法是使用 FFmpeg,但我實際上寧願使用編碼器應用程序,如
lame
, 或neroaacenc
.現在,我盡可能地這樣做,但我使用 WAV 作為繞道而行。我將 FLAC 解碼為 WAV,然後將 WAV 編碼為最終產品。但正如我所說,它不適用於超過一定長度的錄音。
現在,我的想法是使用管道並強制解碼為 RAW,然後將其編碼為目標格式。
我需要一些幫助。有人可以向我提供一些範例如何解碼 FLAC 文件,並使用
lame
管道 RAW 數據將其編碼為 MP3 嗎?
您應該嘗試以下方法:
flac -c -d -force-raw-format --endian=little --signed=unsigned input.flac | \ lame -r --little-endian --unsigned \ -s 44.1 [other encoding options here] - output.mp3
flac
側面:
-c
表示輸出到標準輸出-d
解碼-force-raw-format --endian=little --signed=unsigned
強制 RAW、小端、無符號輸出
lame
側面:
-
從標準輸入讀取(這幾乎是標準的)-r
讀取 RAW pcm 數據--little-endian --unsigned
匹配蹩腳的輸出-s
頻率:將該參數與您的 flac 文件包含的內容相匹配--bitwidth
如果您的 flac 文件不是 16 位/樣本,您可能需要關於字節序和簽名,不確定您擁有的“本機”格式是什麼(或如何確定) - 嘗試一些組合。只要它們在管道的兩側都匹配,選擇錯誤的應該只會花費 CPU 時間。