Audio

如何將巨大的 FLAC 文件編碼為 MP3 和 AAC 等其他文件?

  • February 20, 2014

我的問題是很長的錄音,比 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 時間。

引用自:https://unix.stackexchange.com/questions/37701