Alsa

如何將麥克風音頻直接錄製到 FLAC 文件中?

  • May 3, 2021

幾個月前,我偶爾會使用 ffmpeg 和 ALSA 將一小段音頻錄製為 FLAC 文件。我使用了一個看起來或多或少像這樣的命令:

ffmpeg -f alsa -ar 48000 -ac 1 -acodec flac -i hw:0 testfile.flac

hw:0通過我的麥克風卡arecord -l

如果沒記錯的話,在某個地方還有另一種選擇會有所不同,但我不知道它會是什麼。它可能類似於--format? arecord我什至仔細研究了 ffmpeg 中的每一個選項,看看是否能找到熟悉的東西;沒有骰子。不管怎樣,現在 ALSA 只是尖叫著sample format 0x1500c is not supported……不管那是什麼意思。

但是,如果我刪除該-acodec flac選項並將文件名更改為testfile.wav一切都像魅力一樣。當然,除了我沒有得到我想要的文件格式。

我非常有信心我仍然安裝了所有必要的軟體包,但我這輩子都無法讓這件事合作!

ffmpeg 能夠將相同的選項應用於不同的輸入和輸出,這導致 ffmpeg 對選項的位置很敏感。

以下將使用您的設置並輸出到 FLAC 文件(由文件結尾辨識):

ffmpeg -f alsa -ar 48000 -ac 1 -i hw:0 testfile.flac

這些設置應用於下一個 input 或 output,因此雖然在您的範例中不需要它,但您可以-acodec在列出輸入文件或流之後和輸出之前使用,例如:

ffmpeg -f alsa -ar 48000 -ac 1 -i hw:0 -acodec flac testfile.flac

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