在 macOS 上仅使用 ffmpeg 录制应用程序音频

在 macOS 上仅使用 ffmpeg 录制应用程序音频

我正在尝试使用 ffmpeg 录制系统产生的音频(即来自操作系统和其他正在运行的应用程序)。

我首先使用创建虚拟输入/输出设备黑洞或者回送。然后我使用 iTunes 开始播放文件,并尝试录制(根据我发现的这里这里):

ffmpeg -f avfoundation -i default output.aiff

但这会产生错误default: Input/output error

如何使用 ffmpeg 捕获系统音频?

答案1

要从默认音频设备录音:

ffmpeg -f avfoundation -i ":0" test-output.aiff

答案2

您的命令将使用default-i参数。文档声明该参数-i需要屏幕和音频设备索引。由于您提供的不是索引而是单词,default因此会引发错误。

文档解释了如何找到这些索引:

使用 avfoundation 设备:

ffmpeg -f avfoundation -list_devices true -i ""
这将枚举所有可用的输入设备,包括准备捕获的屏幕。

一旦确定了要捕获的屏幕对应的设备索引,就可以使用:

ffmpeg -f avfoundation -i "<screen device index>:<audio device index>" output.mkv

这会将屏幕内容<screen device index>和音频捕获<audio device index>到输出文件中output.mkv

就您而言,您不是在寻找屏幕设备索引,而是在寻找音频设备索引。

答案3

要从默认设备录制,您可以执行以下操作:

ffmpeg -f avfoundation -i ":default" test-output.mp3

输出文件是test-output.mp3

相关内容