Ffmpeg

使用 FFMPEG 轉換為 WAV 以將管道轉換為 LAME?

  • January 2, 2015

我正在嘗試將 AAC 文件轉換為 WAV,以便將輸出通過管道傳輸到 LAME。我正在尋找這樣做,特別是:

find . -maxdepth 1 -type f -iname "*.m4a" | sort | while read file; do
   ffmpeg -i "$file" -acodec pcm_s16le -ac 2 - | lame -b 256 -m s -q 0 - output.mp3
done

我收到以下錯誤:

Unable to find a suitable output format for 'pipe:'
Warning: unsupported audio format

有沒有辦法-acodec為輸出指定?現在閱讀手冊頁。

我知道我可以在 FFMPEG 中轉換為 MP3,但這不是我想做的;)

感謝Miati’s answer的提示,我想通了:

ffmpeg -i file.m4a -f wav -acodec pcm_s16le -ac 2 - | \
   lame -m s -b 320 -q 0 --replaygain-accurate - file.mp3

輸出到標準輸出時需要設置格式。

這是一個常見的錯誤,FFmpeg 在標準輸入上是貪婪的。如果要在讀取循環中執行 FFmpeg,則需要將其關閉

ffmpeg -nostdin

例子

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