我尝试制作一个屏幕录像,需要录制麦克风和 PC 输出的声音(当然还有视频)。我尝试在 pulseaudio 中创建一个环回来“合并”它们,并将此接收器与录制工具一起使用(首先我尝试了 recordmydesktop,然后尝试了 ffmpeg/avconv)。
但问题是,当我使用这个环回时,声音会出现故障(我认为这是描述它的更好的词)并且有逐渐延迟(意味着 2/3 分钟后会出现很多延迟)。使用直接输出(麦克风或 PC 输出)时不会发生这种情况。
我尝试将环回延迟减少到 1ms,但没有改变任何东西(它不想要 0ms)
有什么方法可以解决这个问题吗?我听说过实时脉冲音频,但我认为这会占用大量 CPU?(我们需要一个 RT 内核,但我想我没有)
我也尝试安装 jackd,但没有成功(而且显然让它与 avconv 一起工作很麻烦)。
答案1
我们可以使用以下方法将源与接收器合并,而不是pulseaudio-module-loopback
在大多数声卡硬件中创建环回接收器:双工音频配置文件。
要切换到双工配置文件,我们可以运行帕武控制 选择“模拟立体声双工”我们的声卡的配置文件“配置”标签。
我们还可以从命令行更改接收器输出配置文件,<index>
并可以<profiles>
使用列出的卡
pacmd list-cards
要更改卡配置文件,我们可能会发出
pacmd set-card-profile <index> <profile>
为了合并输出接收器,我们可以运行帕普雷夫 这给我们提供了一个选项“同步输出设备”:
也可以通过加载模块从命令行加载此组合设备模块组合接收器。
答案2
双工意味着该卡既是音频的输入设备,又是音频的输出设备。这并不意味着它只是将输出和输入合并为一个流。虚拟输出所做的就是像您所说的那样合并接收器,以便您可以同时从两个单独的卡输出。这些都无法实现 OP 和我自己想要做的事情。