几个月前,我偶尔会使用 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
一切都会像魅力一样工作。当然,除了我没有得到我想要的文件格式。
我非常有信心我仍然安装了所有必要的软件包,但我一生都无法让这个东西配合!
答案1
ffmpeg 能够将相同的选项应用于不同的输入和输出,这导致 ffmpeg 对选项的位置敏感。
以下将使用您的设置并输出到 FLAC 文件(通过文件结尾识别):
ffmpeg -f alsa -ar 48000 -ac 1 -i hw:0 testfile.flac
这些设置将应用到下一个输入或输出,因此,虽然您的示例中不需要它,但您可以-acodec
在列出输入文件或流之后、输出之前使用,例如:
ffmpeg -f alsa -ar 48000 -ac 1 -i hw:0 -acodec flac testfile.flac